Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS OrganizationsとIAM Identity Center, Terrafor...

Ryoma Fujiwara
December 13, 2022

AWS OrganizationsとIAM Identity Center, Terraformを連携した権限管理

STORES Tech talk AWS Organizations活用のリアル
(https://hey.connpass.com/event/268026) の登壇資料です。

Ryoma Fujiwara

December 13, 2022
Tweet

More Decks by Ryoma Fujiwara

Other Decks in Technology

Transcript

  1. STORES 株式会社 AWS OrganizationsとIAM Identity Center, Terraformを連携した権限管理 2022/12/13 STORES Tech

    Talk AWS Organizations活用のリアル登壇資料 プロダクト基盤本部 SRE 藤原 涼馬
  2. 自己紹介 2 藤原 涼馬 STORES株式会社 プロダクト基盤本部 SRE (他にもいろいろ) 経歴  SIer

    R&D →      → 趣味  自動車の運転  模型製作  各種寄稿・登壇 好きなAWSサービス  ECS Fargate / AWS IAM Identity Center + 他 今ここ
  3. • 今回話すこと ◦ AWS Organizations + AWS IAM Identity Center導入の経緯

    ◦ AWS Organizationsの説明 ◦ AWS IAM Identity Centerの説明 ◦ 上記構成の実際の運用 • 話さないこと ◦ 個別具体的な実装詳細
  4. 沿革 7 2008/10/10 設立 2012/3/23 設立 2013/10/10 設立 2020/1/30 ヘイ株式会社へ経営統合及び

    ホールディングス化 経営統合及び ヘイ株式会社傘下へ 2020/9/1 サービスブランド統合 2018/2/1 設立
  5. 沿革 8 2008/10/10 設立 2012/3/23 設立 2013/10/10 設立 2020/1/30 2021/1/1

    ヘイ株式会社へ経営統合及び ホールディングス化 経営統合及び ヘイ株式会社傘下へ 3社を吸収合併し提供サービス運 営会社をヘイに一本化 2020/9/1 サービスブランド統合 2012/5/22 設立 経営統合及び ヘイ株式会社傘下へ 2021/12/1 2018/2/1 設立 2022/10/1 社名変更 ヘイ株式会社から STORES 株式会社へ社名変更
  6. 沿革 9 STORES 株式会社 は、ホールディングスと事業会社4社が集まった会社です。 2022年10月よりヘイ株式会社から STORES 株式会社に社名変更いたしました。 2008/10/10 設立

    2012/3/23 設立 2013/10/10 設立 2020/1/30 2021/1/1 ヘイ株式会社へ経営統合及び ホールディングス化 経営統合及び ヘイ株式会社傘下へ 3社を吸収合併し提供サービス運 営会社をヘイに一本化 2020/9/1 サービスブランド統合 2012/5/22 設立 経営統合及び ヘイ株式会社傘下へ 2021/12/1 2018/2/1 設立 2022/10/1 社名変更 ヘイ株式会社から STORES 株式会社へ社名変更
  7. ガバナンスの問題 ユーザー権限の棚卸しを横断で実施する際に大変すぎる 16 AWS アカウント1 AWS アカウント2 AWS アカウント3 AWS

    アカウント4 AWS アカウントN-1 AWS アカウントN 各種監査や離任・着任対応コストの増加 (主に工数的な観点で)
  8. AWS Organizations 複数のAWSアカウントをまとめて管理するための仕組みです 26 管理AWSアカウント AWSアカウント1 AWSアカウント2 AWSアカウントN … AWSアカウントN+1

    容易にAWSアカウントを払い出すことができるようになります (他にもorganization一括でさまざまなセキュリティ的な仕組みを導入したりといったことが容易になります)
  9. AWS IAM Identity Center (旧 AWS SSO) AWS IAM Identity

    Centerをポータルとして、 複数のAWSアカウントにログインすることができます※ 29 ※ 他のサービスへのSSOも実現可能ですが今回はスコープ外とします AWSアカウント1 AWSアカウント2 AWSアカウントN … AWS IAM Identity Center SSO
 サイコー

  10. AWS IAM Identity Center (旧 AWS SSO) AWS IAM Identity

    Centerをポータルとして、 複数のAWSアカウントにログインすることができます※ 30 ※ 他のサービスへのSSOも実現可能ですが今回はスコープ外とします AWSアカウント1 AWSアカウント2 AWSアカウントN … AWS IAM Identity Center SSO
 サイコー
 権限割り当ては ここで集約管理
  11. AWS IAM Identity Center (旧 AWS SSO) AWS IAM Identity

    Centerをポータルとして、 複数のAWSアカウントにログインすることができます※ 31 ※ 他のサービスへのSSOも実現可能ですが今回はスコープ外とします AWSアカウント1 AWSアカウント2 AWSアカウントN … AWS IAM Identity Center SSO
 サイコー
 権限割り当ては ここで集約管理 SSOによる開発者体験の維持 と 権限割り当ての集約管理によるガバナンス改善を実現
  12. AWS IAM Identity Center (旧 AWS SSO) 期間限定のアクセスキーを生成 & 取得できます

    (ブラウザからの取得 & AWS CLIからの取得) 32 Webブラウザでの取得 AWS CLI(v2) での取得 $ aws sso login --profile プロファイル名
  13. AWS IAM Identity Center (旧 AWS SSO) 期間限定のアクセスキーを生成 & 取得できます

    (ブラウザからの取得 & AWS CLIからの取得) 33 Webブラウザでの取得 AWS CLI(v2) での取得 $ aws sso login --profile プロファイル名 永続的なアクセスキーを不要にすることでセキュリティ面のリスク緩和を実現
  14. ここまでのまとめ 1. AWS Organizationを導入 ◦ 複数アカウント総計でのボリュームディスカウントの適用(コストメリット) ◦ アカウント払い出しの容易化(業務プロセスの単純化) 2. AWS

    IAM Identity Centerを導入 ◦ SSOによる複数AWSアカウントへのログイン容易化(開発者体験の改善) ◦ 権限管理の集約 (ガバナンスの改善) ◦ 期間限定のアクセスキー生成 & 取得(セキュリティリスク緩和) 35
  15. ここまでのまとめ 1. AWS Organizationを導入 ◦ 複数アカウント総計でのボリュームディスカウントの適用(コストメリット) ◦ アカウント払い出しの容易化(業務プロセスの単純化) 2. AWS

    IAM Identity Centerを導入 ◦ SSOによる複数AWSアカウントへのログイン容易化(開発者体験の改善) ◦ 権限管理の集約 (ガバナンスの改善) ◦ 期間限定のアクセスキー生成 & 取得(セキュリティリスク緩和) 36 以降はSTORES社内でどう運用しているか?を解説
  16. AWS Organization • AWSアカウント払出 ◦ rootメールアドレス ▪ Google Workspaceのグループメールアドレス +

    サフィックスで払出を容易化 ◦ アカウントそのものはTerraformでIaC化 38
  17. AWS Organization • AWSアカウント払出 ◦ rootメールアドレス ▪ Google Workspaceのグループメールアドレス +

    サフィックスで払出を容易化 ◦ アカウントそのものはTerraformでIaC化 ▪ PRベースでAWSアカウントを管理 39
  18. AWS Organization • AWSアカウント払出 ◦ rootメールアドレス ▪ Google Workspaceのグループメールアドレス +

    サフィックスで払出を容易化 ◦ アカウントそのものはTerraformでIaC化 ▪ PRベースでAWSアカウントを管理 40 素朴 & シンプル (plan/applyを自動化したいなどはある)
  19. AWS IAM Identity Centerの構成(STORESの場合) oktaを認証に挟むことで入社・退職への対応を容易に 52 AWSアカウント1 AWSアカウント2 AWSアカウントN …

    AWS IAM Identity Center 認証
 この人は誰か? ログインさせて良いか? 認可
 どのアカウントに どの権限でアクセス させてよいか?
  20. AWS IAM Identity Centerの構成(STORESの場合) 退職者はどうなるか? 53 AWSアカウント1 AWSアカウント2 AWSアカウントN …

    AWS IAM Identity Center 認証
 この人は誰か? ログインさせて良いか? 認可
 どのアカウントに どの権限でアクセス させてよいか? 認証を通過できなくなるので、認可側で慌てて対応をする必要はなくなる (とはいえちゃんと棚卸し & 削除は必要)
  21. AWS IAM Identity Centerの構成(STORESの場合) 認可部分の設定はTerraformでIaC化(先述の通り) 54 AWSアカウント1 AWSアカウント2 AWSアカウントN …

    AWS IAM Identity Center 認証
 この人は誰か? ログインさせて良いか? 認可
 どのアカウントに どの権限でアクセス させてよいか?
  22. なぜoktaに認証、認可両方をよせないのか? 1. okta … 社内ITとしての管理(非プロダクト開発ITエンジニア含) 2. AWSアカウント … プロダクト開発ITエンジニアのみ 55

    AWSアカウント1 AWSアカウント2 AWSアカウントN … 認証
 認可
 この情報って
 どちらの管理
 でしたっけ?
 どっちだったか なぁ...

  23. なぜoktaに認証、認可両方をよせないのか? 1. okta … 社内ITとしての管理(非プロダクト開発ITエンジニア含) 2. AWSアカウント … プロダクト開発ITエンジニアのみ 56

    AWSアカウント1 AWSアカウント2 AWSアカウントN … 認証
 認可
 この情報って
 どちらの管理
 でしたっけ?
 どっちだったか なぁ...
 oktaの管理が社内ITとプロダクト開発組織の間で混ざってポテンヒットを避けたい 組織ごとに管理すべきものの境界を明確に定めたい
  24. AWS IAM Identity Centerの構成(STORESの場合)(再掲) oktaを認証に挟むことで入社・退職への対応を容易に 57 AWSアカウント1 AWSアカウント2 AWSアカウントN …

    AWS IAM Identity Center 認証
 この人は誰か? ログインさせて良いか? 認可
 どのアカウントに どの権限でアクセス させてよいか?
  25. まとめ • STORESでは a. AWS Organizationsを導入して コスト・ガバナンスの問題の解決を測りました b. AWS IAM

    Identity Center + oktaの組み合わせを活用して 開発者体験とセキュリティ、ガバナンスの総取りを目指しました 60
  26. 時間が余ったら補足) AWS IAM Identity Centerの注目すべきアップデート AWS IAM Identity CenterはAWS SSOのリリース以降アップデートが続いており利便性は大幅に改

    善されています以前検討して導入できなかった場合も今再検討すればいけるかもしれません 1. 東京リージョンにも対応 ◦ 以前はus-east-1のみでしたが、今はap-northeast-1でも利用できます 2. Announcing increased AWS IAM Identity Center default quota values ◦ IAM Identity Center単独(外部のIdPを利用しない場合)でも 10万ユーザーまで対応できるようになっています 3. Announcing new AWS IAM Identity Center (successor to AWS SSO) APIs to manage users and groups at scale ◦ 外部のIdPを頼らずともAPI経由でIAM Identity Centerのユーザーが作成できるようになっています 4. AWS Single Sign-On (AWS SSO) adds support for AWS Identity and Access Management (IAM) customer managed policies (CMPs) ◦ 権限セットとして割り当てられるのがインラインポリシー or AWS管理ポリシーのみでしたが、 カスタマー管理ポリシーの割り当ても可能になっています 61