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
複数プロダクトを管理する AWS Organizations における AWS IAM Id...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yhamano
June 26, 2023
Technology
2.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
複数プロダクトを管理する AWS Organizations における AWS IAM Identity Center を GitHub x Terraform でいい感じに運用したい
yhamano
June 26, 2023
More Decks by yhamano
See All by yhamano
MIXI での HCP Terraform 活用事例 / Use Case of HCP Terraform at MIXI
yhamano
2
1.3k
Self-Service Implementation of AWS IAM Identity Center Permissions
yhamano
1
1.2k
TIPSTAR におけるデータ分析基盤信頼性向上の取り組み
yhamano
1
2.4k
Opsしかやってこなかった私が DevOpsが根付いたチームにJoinした話
yhamano
2
2k
CI/CD環境のTerraform versionを最新に保つと幸せになれる
yhamano
9
2.3k
IAMの地味なUpdateをご紹介_掲載用.pdf
yhamano
0
900
lightning-talk-toyosu_hamano_20190925_open.pdf
yhamano
0
910
Other Decks in Technology
See All in Technology
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.4k
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
250
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
230
ScotSecure West 2026 - Glasgow
raybugg
0
200
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
130
AI臭い文章とは何なのか
nasuvitz
36
74k
Claude起点の仕様駆動開発
tanakaseiya
0
190
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
1
240
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.3k
猫でもわかるKiro Web
kentapapa
1
150
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
190
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
170
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
910
Making the Leap to Tech Lead
cromwellryan
135
10k
BBQ
matthewcrist
89
10k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
KATA
mclloyd
PRO
35
16k
Rails Girls Zürich Keynote
gr2m
96
14k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
550
Become a Pro
speakerdeck
PRO
31
6.3k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Transcript
©MIXI 複数プロダクトを管理する AWS Organizations における AWS IAM Identity Center を
GitHub x Terraform でいい感じに運用したい Ops JAWS Meetup #24
©MIXI 2 自己紹介 • 濱野悠介(twitter:@yhamano0312) • 株式会社 MIXI 開発本部 CTO
室 SRE グループ • 好きな AWS サービスは AWS IAM Identity Center
©MIXI エモーションと コミュニケーションで 「心もつなぐ」場と機会を 創造し続けます。 MIXI GROUPは、 ただ「つながればいい」という効率的な機能の提供ではなく、 歓喜や興奮、温かな思い、幸せ、居心地の良さの共有を通じて、 その先に、もっと深くて濃く豊かな、心のつながりを生み出すような、
サービスの開発・提供を目指しています。 現在、スポーツ・ライフスタイル・デジタルエンターテインメント の3つの領域で事業を展開しており、 それぞれの主な事業内容は右の通りです。 また、近年の投資活動の拡大と重要性を勘案し、 FY2023からはスタートアップやファンド出資等の投資活動を事業化しました。 スポーツ事業 プロスポーツチーム運営および 公営競技ビジネスの推進 ライフスタイル事業 インターネットを活用し、 人々の生活に密着したサービスの提供 デジタルエンターテインメント事業 スマホゲームを中心としたゲームの提供 MIXI GROUPの事業領域 3つの領域で “「心もつなぐ」場と機会” を創造する事業を推進
©MIXI 4 開発本部 CTO 室 SRE グループ 紹介 • 開発本部
CTO 室 SRE グループの役割 • 注力事業への技術的支援 • 全社横断事業、プロジェクトへの技術的支援 • エンジニアのいないサービス、プロダクトへの機動的な支援
©MIXI 5 • 開発本部 CTO 室 SRE グループの役割 • 注力事業への技術的支援
• 全社横断事業、プロジェクトへの技術的支援 • エンジニアのいないサービス、プロダクトへの機動的な支援 課題を自ら見つけそれを解決して成果を出していく 開発本部 CTO 室 SRE グループ 紹介
©MIXI 6 • 開発本部 CTO 室 SRE グループの役割 • 注力事業への技術的支援
• 全社横断事業、プロジェクトへの技術的支援 • エンジニアのいないサービス、プロダクトへの機動的な支援 課題を自ら見つけそれを解決して成果を出していく 開発本部 CTO 室 SRE グループ 紹介 本日お話する分野
©MIXI 7 Agenda • AWS IAM Identity Center 概要と導入する場合のメリット •
現状の MIXI 社における AWS アカウント管理 • AWS IAM Identity Center を用いて IAM 管理する場合に運用で考える必要があること • GitHub x Terraform を用いた AWS IAM Identity Center の運用 • まとめ
©MIXI 8 AWS IAM Identity Center 概要と導入する場合のメリット
©MIXI 9 AWS IAM Identity Center (旧 AWS SSO) 概要
• AWS アカウント及びビジネスアプリケーションへのシングルサインオン(SSO)を提供する クラウドサービス • SSO とは一度のユーザ認証処理によって複数のシステムリソースが利用可能となる特性 • どのユーザに対してどの権限をどの AWS アカウントに対して付与するかといった認可の 仕組みも備えている • ここら辺の内容はクラスメソッドさんの AWS SSO を図解してみた の記事がとてもわかりやす かったのでおすすめ • AWS Organizations を利用していることが前提 ・[AWS Black Belt Online Seminar] AWSアカウント シングルサインオンの設計と運用 https://aws.amazon.com/jp/blogs/news/webinar-bb-awsaccountsso-2020/ ・AWS SSOを図解してみた https://dev.classmethod.jp/articles/aws-sso-wakewakame/
©MIXI 10 AWS IAM Identity Center を導入した場合のメリット • 複数 AWS
アカウントへのコンソールログインが便利に! • IAM Identity Center 用のポータルにアクセスして認証を済ませるとログイン可能な AWS アカウントと権限が一覧で表示される
©MIXI 11 AWS IAM Identity Center を導入した場合のメリット • 社内で利用している ID
プロバイダーと IAM Identity Center を連携することでユーザ管理 を ID プロバイダー側にまかせることができる • 休職/退職時に ID プロバイダー側で対象ユーザのステータスを非アクティブ状態にすれば IAM Identity Center 側にもログインできなくなる • IAM Identity Center では複数の外部 ID プロバイダーに対応している • MIXI 社にて ID プロバイダーとして利用している Okta も対応している
©MIXI 12 AWS IAM Identity Center を導入した場合のメリット • AWS CLI
v2 を利用することで静的なアクセスキーを発行しなくても、一時的な認証情報 を取得することができる! • 事前に IAM Identity Center のポータル URL やログイン先 AWS アカウントを profile に設定をしておく aws sso login --profile xxx aws s3 ls --profile xxx
©MIXI 13 AWS IAM Identity Center を導入できれば 開発者体験向上とセキュリティ向上の両立が実現できそう!
©MIXI 14 現状の MIXI 社における AWS アカウント管理
©MIXI 15 現状の MIXI 社における AWS アカウント管理 • AWS アカウント管理における役割分担
• 開発本部 • AWS Organizations 管理アカウントの管理 • AWS アカウント発行 • 請求管理 • セキュリティガードレール整備 • 各事業部 • プロダクト提供のために必要な AWS アカウント の管理/運用 • もちろん IAM に関する管理/運用も行う • どのユーザがどの AWS アカウントに対し てどういった権限をもってよいか
©MIXI 16 AWS IAM Identity Center を用いて IAM 管理する場合に運用で考える必要があること
©MIXI 17 AWS IAM Identity Center による IAM 管理の制約 •
IAM Identity Center による IAM 管理は特定の AWS アカウント でしか行うことができない • 全事業部が利用することになるため 開発本部で IAM Identity Center の AWS アカウントは管理する
©MIXI 18 AWS IAM Identity Center を用いた IAM 管理の運用どうしよう
©MIXI 19 どうやって運用しようかな • 事業部からの依頼ベースで開発本部メンバが設定する • 開発本部メンバ作業がボトルネックとなってしまう可能性がある • 各事業部の AWS
管理者に IAM Identity Center の編集権限を渡して設定してもらう • 他事業部の IAM 設定を間違って編集してしまうかもしれない
©MIXI 20 どうやって運用しようかな • 事業部からの依頼ベースで開発本部メンバが設定する • 開発本部メンバ作業がボトルネックとなってしまう可能性がある • 各事業部の AWS
管理者に IAM Identity Center の編集権限を渡して設定してもらう • 他事業部の IAM 設定を間違って編集してしまうかもしれない 以下の要件を満たしながら運用したい ・極力事業部側の作業のみで IAM 設定をしてもらいたい ・他事業部の IAM 設定を無断で触れないようにしたい
©MIXI 21 AWS IAM Identity Center による IAM 設定を IaC
化して PR ベースによる設定フローにすれば実現できそう!
©MIXI 22 これ以降の話は検証中の段階で実運用はまだできていません 導入していく過程で変更する可能性があります
©MIXI 23 GitHub x Terraform を用いた AWS IAM Identity Center
の運用
©MIXI 24 技術選定 • コード管理には MIXI 社のデファクトスタンダードで使われている GitHub を利用する •
branch protection rule と CODEOWNERS 機能を組み合わせることで PR マージの条件に 特定ユーザ/チームの approve を強制することができる • IaC を実現するための利用言語は Terraform を検討中 • MIXI 社全体として Terraform の採用率が高い(肌感) • Terraform Cloud を利用すれば IaC の CI/CD ワークフローをマネージドにできる • OIDC 連携や料金プラン改定により使いやすくなった印象
©MIXI 25
©MIXI 26 • 事業部等の単位でディレクトリを切って、事業部で管理する AWS アカウントに対する IAM 設定を定義する • AWS,
Terraform Cloud, ID プロバイダ 間の連携設定といった全体 的な設定は別ディレクトリに切り出して開発本部メンバが管理する
©MIXI 27 /terraform/A-division/ @org/A-division-members /terraform/B-division/ @org/B-division-members /terraform/common/ @org/octo-members • CODEOWNERS
を使用することでコードオーナーを設定できる • GitHub の branch protection rule の設定により PR マージの条件とし てコードオーナーの approve を必須にすることができる • これにより各事業部の AWS IAM Identity Center による IAM 設定を各 事業部がオーナーシップを持って管理することができる
©MIXI 28 • PR マージをトリガーに Terraform Cloud による apply が走って
IAM Identity Center の設定が更新される • AWS x Terraform Cloud 間は OIDC 連携を行い Workspace 毎に設定する IAM Role は 各事業部が管理する AWS アカウントに対する IAM 設定しかできないように権限を絞る
©MIXI 29 利用者目線での利用するまで 1. 必要情報を開発本部に申請する • プロダクト名、AWS アカウント、コードオーナーに設定するGitHub team、AWS 管理者/利用者
2. 申請情報をもとに開発本部がキッティング作業を行う 3. 事業部メンバがIAM 設定の PR 作成と approve を行いマージする 4. 対象の AWS アカウントや AWS 利用者が増えた時だけ開発本部へ依頼 or PR を出しても らう
©MIXI 30 サポート • ドキュメント整備 • 相談窓口を設ける • IAM 設計の仕方が分からない、IaC
の概念が分からない等でも利用してもらえるように場合によっ ては Embedded して IAM 設計/構築をサポートできる体制を整える • 利用者視点では IAM 設定にだけ注力できるように IAM 設定以外をラップした Terraform module を用意する
©MIXI 31 まとめ • 複数プロダクトを管理する AWS Organizations に対して AWS IAM
Identity Center を導 入して開発者体験向上とセキュリティ向上を実現したい • 利用者側に IAM 管理のオーナーシップを持ってもらいつつ、他事業部に意図しない影響を 与えないように GitHub x Terraform の PR ベースによる設定フローを構築すると良さそ う
©MIXI 32 Appendix • [AWS Black Belt Online Seminar] AWSアカウント
シングルサインオンの設計と運用 • https://aws.amazon.com/jp/blogs/news/webinar-bb-awsaccountsso-2020/ • AWS SSOを図解してみた • https://dev.classmethod.jp/articles/aws-sso-wakewakame/ • Managing a branch protection rule • https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/ma naging-protected-branches/managing-a-branch-protection-rule • About code owners • https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/custo mizing-your-repository/about-code-owners • Dynamic Credentials with the AWS Provider • https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/ aws-configuration • Terraform Cloud updates plans with an enhanced Free tier and more flexibility • https://www.hashicorp.com/blog/terraform-cloud-updates-plans-with-an-enhanced-free-tier-and- more-flexibility
©MIXI