Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
Search
Itaru Ota
September 25, 2025
Technology
750
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
3-shake SRE Tech Talk #13 オンサイトのLT登壇資料です。
https://3-shake.connpass.com/event/362683/
Itaru Ota
September 25, 2025
More Decks by Itaru Ota
See All by Itaru Ota
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
200
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
380
ソフトウェアエンジニアリングと向き合い続ける AWS Jr. Champions選出前後で考えたこと
ota1022
0
180
コミットの「なぜ」を読む
ota1022
0
600
Trayce, a Raycast Extension for Tokyo AI Hackathon 2025
ota1022
1
580
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
2.8k
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
2
1.2k
放送コンテンツに対する ツイートの<一様率>分析
ota1022
0
100
Twitterを用いたラジオ番組圧縮手法の提案
ota1022
0
91
Other Decks in Technology
See All in Technology
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
6
4.3k
Obsidian Vault Architectures
x5gtrn
PRO
0
160
[re:Invent2026事前勉強会(有志開催)]続きは、ラスベガスの廊下で / continue-in-the-vegas-hallway
sh_fk2
0
260
BacklogのRAG 今ならこう作る - S3 Vectorsと自前パイプラインの勘所
revsystem
0
140
日本AIベンチャーレポート2026
kentarofujii
0
240
AI時代のGraphQL
joere
3
410
クラウドサインを止めずに Nuxt へ 次の10年のために先に決めたこと
bengo4com
1
160
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
1
430
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
280
自宅サーバと脆弱性
masakiokuda
1
120
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
320
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
mhlyc
0
120
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.3k
Building the Perfect Custom Keyboard
takai
2
920
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
640
Music & Morning Musume
bryan
48
7.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
560
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
A Tale of Four Properties
chriscoyier
163
24k
Side Projects
sachag
456
43k
Transcript
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する 2025/09/25 3-shake SRE Tech Talk
#13 太田 暢 @iorandd Copyright © 3-shake, Inc. All Rights Reserved.
太田 暢 株式会社スリーシェイク Sreake事業部アプリケーション開発支援チーム • バックエンド開発、たまにフロントエンドも • AWSに興味あり、JAWS-UGに参加・登壇 自己紹介 2
🔍 GitHub ActionsとAWSを連携させたい! 3
🤖 それならOIDCでしょ 4
👀 2025年現在のベストプラクティス…? 「GitHub ActionsとAWSを連携する時は OIDCを使う」 5
👀 2025年現在のベストプラクティス 「GitHub ActionsとAWSを連携する時は OIDCを使う」 6 OAuth 2.0 を拡張して ID
トークンによりユーザー認証を標準化し、 認証基盤とアプリケーション間で相互運用可能なシングルサインオンや フェデレーション認証を実現するプロトコル
👀 2025年現在のベストプラクティス 「GitHub ActionsとAWSを連携する時は OIDCを使う」 OAuth 2.0 を拡張して ID トークンによりユーザー認証を標準化し、
認証基盤とアプリケーション間で相互運用可能なシングルサインオンや フェデレーション認証を実現するプロトコル 7 信頼できるIDプロバイダが発行するIDトークン(一時的な認証トークン)を使っ て、サービス間で安全に認証を行うルール つまり
👀 2025年現在のベストプラクティス 「GitHub ActionsとAWSを連携する時は OIDCを使う」 OAuth 2.0 を拡張して ID トークンによりユーザー認証を標準化し、
認証基盤とアプリケーション間で相互運用可能なシングルサインオンや フェデレーション認証を実現するプロトコル GitHubが発行するOpenID Connect (OIDC)トークンを使って AWSにログインするルール 今回のケースで言い換えると 8 信頼できるIDプロバイダが発行するIDトークン(一時的な認証トークン)を使っ て、サービス間で安全に認証を行うルール つまり
OIDC連携の仕組み GitHubが発行するOIDCトークンを使ってAWSにログインするルール 9 https://docs.github.com/en/actions/concepts/security/openid-connect
OIDC連携の仕組み ①IAMで信頼関係を設定 10 https://docs.github.com/en/actions/ concepts/security/openid-connect GitHubのOIDCプロバイダーを IAM IdP(信頼する外部の身元確認 サービス)として登録 token.actions.githubusercontent.com
OIDC連携の仕組み ①IAMで信頼関係を設定 11 https://docs.github.com/en/actions/ concepts/security/openid-connect 指定したIAMロールを 「GitHubからのみ引き受け可能」 にする
OIDC連携の仕組み ②GitHubがOIDCトークンを発行 12 https://docs.github.com/en/actions/ concepts/security/openid-connect ワークフロー実行ごとにGitHubが JWT(署名付きトークン)を生成し、 「このリポジトリ・ブランチから実行された」 という情報を含める。 Github
ActionsのYAML
OIDC連携の仕組み ③STSにトークンを提示 13 ワークフロー内で aws-actions/configure-aws-credentialsを使い、JWTを AWS STS(Security Token Service、 一時的な認証情報を発行するサービス)に
渡してロールを引き受ける。 https://docs.github.com/en/actions/ concepts/security/openid-connect Github Actionsのログ JWTは内部で渡される (ログの表示外 )
OIDC連携の仕組み ④短期クレデンシャルを取得 14 AWS STSが検証後、15分〜1時間有効な 一時的なAWSアクセスキーを発行。 これを使ってS3やECSへデプロイする。 https://docs.github.com/en/actions/ concepts/security/openid-connect ←
一時的なアクセスキー ← 一時的なシークレットキー ← セッショントークン Github Actionsのログ
🕰 OIDCがベストプラクティスになるまで 15 OpenID Connect Standard公表 https://openid.net/the-openid-foundation-laun ches-the-openid-connect-standard/ 2014 2018
2019 CognitoやEKSで OIDC利用が進む GitHub Actions 一般利用開始 https://github.blog/changelog/2019-11-11-github- actions-is-generally-available/ Google、 Microsoft、 Okta などの IDプロバイダーが OIDC対応を進める 2021
IAMユーザーのアクセスキーとシークレットキー を発行 ↓ GitHubリポジトリの「 Secrets」として保存 ↓ GitHub Actionsのワークフローでキーを渡して認証、必要に応じて
STS でロールを引き受ける 🤔 課題 • IAM ユーザーのアクセスキーの漏洩リスク • 秘密鍵の定期的なローテーションの煩雑さ • 複数のワークフローでの共有による、資格情報の追跡の困難 etc. OIDC以前の連携方法(~2021年ごろ) 16
🕰 OIDCがベストプラクティスになるまで 17 OpenID Connect Standard公表 https://openid.net/the-openid-foundation-laun ches-the-openid-connect-standard/ GitHub Actions
一般利用開始 https://github.blog/changelog/2019-11-11-github- actions-is-generally-available/ GitHub Actions OIDCサポート開始 https://github.blog/changelog/2021-11-23-secure- cloud-deployments-with-oidc-is-now-ga/ https://aws.amazon.com/jp/blogs/security/use-iam-roles-to-c onnect-github-actions-to-actions-in-aws/ AWS公式Actionでも OIDC利用を推奨 2014 2018 2019 2021 2022 2023 AWSとGitHubのOIDC統合を支援する Terraformモジュールのリリース CognitoやEKSで OIDC利用が進む OIDC連携で中間 TLS証明書の サムプリント登録が不要になる https://github.blog/changelog/2023-07-13-github- actions-oidc-integration-with-aws-no-longer-requi res-pinning-of-intermediate-tls-certificates/ https://github.com/terraform-module/terr aform-aws-github-oidc-provider Google、 Microsoft、 Okta などの IDプロバイダーが OIDC対応を進める
• IAM ユーザーのアクセスキーの漏洩リスク ◦ 長期キーを保存 → OIDC 経由で一時的なトークンを払い出す
(ワークフロー実行ごとに有効期限付きで自動発行 ) • 秘密鍵の定期的なローテーションの煩雑さ ◦ 手動でキーを更新・配布 → ローテーション不要 (OIDC が都度、新たな短期資格情報を取得 ) • 複数のワークフローでの共有による資格情報の追跡の困難さ ◦ アクセスキーを複数パイプラインで共用 → ワークフローごとに固有のフェデレーション認証 (OIDC のクレームや条件で追跡可能 ) • 権限の過剰付与(過去の残骸キー問題) ◦ 使われていないアクセスキーが放置 → 実行時のみ必要最小限の権限を付与 (STS + OIDC の AssumeRoleWithWebIdentity) 💖 OIDCによる課題の解消 18
最近のアップデート • OIDCトークン権限の厳格化 (2024年6月) ◦ 呼び出し元のワークフローや特定のジョブレベルで id-token: write権限を明示的に設定する ことが必須とな
り、セキュリティが強化 ◦ https://github.blog/changelog/2023-06-15-github-actions-securing-openid-connect-oidc-token-permissions-i n-reusable-workflows/ • SHAピンニングとアクションブロッキングの強制 (2025年8月) ◦ 特定のアクションやバージョンをブロックするポリシーをサポート ◦ バージョンをコミット SHAにピンニングすることを強制する機能 が追加され、サプライチェーン攻撃のリスク低減 ◦ https://github.blog/changelog/2025-08-15-github-actions-policy-now-supports-blocking-and-sha-pinning-acti ons/ 19 Github ActionsのYAML
最近のアップデート • OIDC IdP管理の簡素化 (2024年7月) ◦ IAMでOIDC IdPの管理を簡素化 ◦
以前は手動で必要だった サムプリントの検証が不要に なり、ルート認証局( CA)を信頼するモデルに移行 ◦ https://aws.amazon.com/jp/about-aws/whats-new/2024/07/aws-identity-access-management-open-id-conne ct-identity-providers/ • SAMLアサーションの暗号化サポート (2025年2月) ◦ IAMがSAMLアサーションの暗号化をサポート ◦ IDプロバイダーから IAMへのSAMLアサーションがエンドユーザーのウェブブラウザなどの仲介者を経由する際に 暗号化されるようになり、セキュリティが向上 ◦ https://aws.amazon.com/jp/about-aws/whats-new/2025/02/aws-iam-encrypted-saml-assertions/ • AWS公式の Lambdaデプロイ用 GitHub Action(2025年8月) ◦ aws-actions/aws-lambda-deploy ◦ ワークフロー中でこのアクションを呼び出すだけでデプロイが完了 ◦ https://aws.amazon.com/jp/about-aws/whats-new/2025/08/aws-lambda-github-actions-function-deployment/ • configure‑aws‑credentials v5.0.0 のリリース (2025年9月) ◦ ローカル実行などで OIDC認証をスキップ可能に ◦ アカウントIDの許可リストをサポートし、入力ハンドリングが改善 ◦ https://github.com/aws-actions/configure-aws-credentials/releases 20
✅ まとめ • GitHub ActionsとAWSを連携する時はOIDCがベストプラクティス • OIDCとは、信頼できる IDプロバイダが発行するトークン を使って、別のサービスに安全にログ インできるプロトコル
• GitHubとAWS両サイドで OIDC連携を標準化・強化してきた • セキュリティポリシー (id-token: write や SHAピンニング)の組み合わせで安全性の最大化 が進 んでいる 21