Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
IAMロールでTerraformのCI/CDを構築してみた
YouYou
October 14, 2021
Programming
0
2.6k
IAMロールでTerraformのCI/CDを構築してみた
詳細ブログ↓
https://zenn.dev/yuta28/articles/terraform-gha
YouYou
October 14, 2021
Tweet
Share
More Decks by YouYou
See All by YouYou
App Runnerのドキュメントに書いていない仕様について
yuhta28
0
72
オブザーバビリティを高めよう
yuhta28
2
280
Datadogの設定をTerraformで書いてGit管理した話
yuhta28
1
570
既存AWSリソースをTerraformで管理するのはつらいよ
yuhta28
1
280
ログ集約基盤をCloudWatchからOpenSearchに変えてみた
yuhta28
0
200
dev.toの記事もGitHubで管理してみた
yuhta28
0
760
Repographyでいい感じにGitコミットを視覚化してみた
yuhta28
1
570
IaCのCI_CDを実現するSpaceliftを触ってみた
yuhta28
0
1k
既存インフラをコード化する時に気を付けること
yuhta28
1
3.3k
Other Decks in Programming
See All in Programming
Amebaブログの会員画面システム刷新の道程
ryotasugawara
1
220
Most Valuable Bug(?) ~インシデント未遂から得た学び~
tatsumiakahori
0
140
状態ってなに?🙃
taro28
0
260
(新米)エンジニアリングマネージャーのしごと #RSGT2023
murabayashi
9
5.5k
コンピュータビジョンセミナー2 / computer_vision_seminar_libSGM
fixstars
0
310
An Advanced Introduction to R
nicetak
0
1.7k
2023年にクル(かもしれない)通信ミドルウェア技術(仮)
s_hosoai
0
120
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
150
23年のJavaトレンドは?Quarkusで理解するコンテナネイティブJava
tatsuya1bm
1
120
僕が考えた超最強のKMMアプリの作り方
spbaya0141
0
180
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
1
330
Enumを自動で網羅的にテストしてみた
estie
0
1.2k
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
65
7.8k
Design by the Numbers
sachag
271
18k
Bootstrapping a Software Product
garrettdimon
299
110k
Navigating Team Friction
lara
176
12k
GraphQLとの向き合い方2022年版
quramy
20
9.8k
We Have a Design System, Now What?
morganepeng
37
5.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Faster Mobile Websites
deanohume
295
29k
Intergalactic Javascript Robots from Outer Space
tanoku
261
26k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
63k
Support Driven Design
roundedbygravity
88
8.9k
Transcript
IAMロールでTerraformの CI/CDを構築してみた クレデンシャル情報からさようなら
Name:ユータ Occupation:SRE Twitter:@Y0u281 (オーでなくゼロです) ブログ:https://zenn.dev/yuta28 自己紹介 Twitter
目次 • 従来のCI/CDの課題点 • GitHub Actionsの新機能 • 実装 • ワークフロー作成
• 実行結果 • まとめ
従来のCI/CDの課題点
従来のCI/CDの課題点 - name: Configure AWS Credentials uses: aws-actions/
[email protected]
with: aws-access-key-id:
${{ secrets.AWS_ACCESS_KEY_ID }} #アクセスキー aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} #シークレットキー
従来のCI/CDの課題点
GitHub Actionsの新機能 • OpenID Connect(OIDC)プロバイダーをGitHub Actions提供 • Assume RoleとしてOIDCにIAM権限を付与 OIDC経由でGitHubに
クレデンシャル提供が可能 !
実装 • sts:GetCallerIdentity • ec2:* • s3:*
実装 OIDC作成 IAMロールにOIDCを関連付ける
ワークフロー作成 - name: Setup Terraform uses: aws-actions/
[email protected]
with: role-to-assume: "${{
env.AWS_ROLE_ARN }}" web-identity-token-file: "curl -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=sigstore" | jq -r '.value'" aws-region: "${{ env.AWS_DEFAULT_REGION }}" role-duration-seconds: 900 role-session-name: GitHubActionsTerraformCICD
実行結果
実行結果
まとめ アクセスキーとシークレットキーは使わ ない! AWSでも使わないことを推奨 べスプラはこちら↓
ありがとうございました より詳しい内容は以下のブログで↓ GitHub ActionsにAWSクレデン シャル情報を渡さずに Terraformで CI/CDをやってみた