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
500
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
470
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
2.4k
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
2
1.1k
放送コンテンツに対する ツイートの<一様率>分析
ota1022
0
67
Twitterを用いたラジオ番組圧縮手法の提案
ota1022
0
55
Other Decks in Technology
See All in Technology
韓非子に学ぶAI活用術
tomfook
3
1k
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
450
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
140
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
170
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
100
AI時代のIssue駆動開発のススメ
moongift
PRO
0
270
Phase06_ClaudeCode実践
overflowinc
0
2.2k
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
140
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
スピンアウト講座04_ルーティン処理
overflowinc
0
1.3k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
A better future with KSS
kneath
240
18k
[SF Ruby Conf 2025] Rails X
palkan
2
860
A Soul's Torment
seathinner
5
2.5k
Designing for Performance
lara
611
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Ethics towards AI in product and experience design
skipperchong
2
240
Un-Boring Meetings
codingconduct
0
240
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