Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
Search
Itaru Ota
September 25, 2025
Technology
2
490
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
3-shake SRE Tech Talk #13 オンサイトのLT登壇資料です。
https://3-shake.connpass.com/event/362683/
Itaru Ota
September 25, 2025
Tweet
Share
More Decks by Itaru Ota
See All by Itaru Ota
Trayce, a Raycast Extension for Tokyo AI Hackathon 2025
ota1022
1
460
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
2.2k
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
2
1.1k
放送コンテンツに対する ツイートの<一様率>分析
ota1022
0
62
Twitterを用いたラジオ番組圧縮手法の提案
ota1022
0
53
Other Decks in Technology
See All in Technology
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
140
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
540
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
280
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
190
事例に見るスマートファクトリーへの道筋〜工場データをAI Readyにする実践ステップ〜
hamadakoji
1
290
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
10
1.8k
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
500
Kubernetesにおける推論基盤
ry
1
310
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
110
Security Diaries of an Open Source IAM
ahus1
0
210
[E2]CCoEはAI指揮官へ。Bedrock×MCPで構築するコスト・セキュリティ自律運用基盤
taku1418
0
130
堅牢.py#2 LT資料
t3tra
0
130
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
940
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
630
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Automating Front-end Workflow
addyosmani
1370
200k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Building Adaptive Systems
keathley
44
2.9k
How GitHub (no longer) Works
holman
316
140k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Odyssey Design
rkendrick25
PRO
2
540
Raft: Consensus for Rubyists
vanstee
141
7.4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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