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
複数プロダクトを管理する 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.4k
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.2k
Self-Service Implementation of AWS IAM Identity Center Permissions
yhamano
1
1.1k
TIPSTAR におけるデータ分析基盤信頼性向上の取り組み
yhamano
1
2.3k
Opsしかやってこなかった私が DevOpsが根付いたチームにJoinした話
yhamano
2
2k
CI/CD環境のTerraform versionを最新に保つと幸せになれる
yhamano
9
2.3k
IAMの地味なUpdateをご紹介_掲載用.pdf
yhamano
0
890
lightning-talk-toyosu_hamano_20190925_open.pdf
yhamano
0
900
Other Decks in Technology
See All in Technology
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
3
200
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
620
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.8k
AIのReact習熟度を測る
uhyo
2
220
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
140
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.2k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
失敗を資産に変えるClaude Code
shinyasaita
0
590
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
170
EventBridge Connection
_kensh
5
700
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
630
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
580
Believing is Seeing
oripsolob
1
140
Done Done
chrislema
186
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
HDC tutorial
michielstock
2
700
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
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