Slide 1

Slide 1 text

AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 2025年10月11日 JAWS FESTA 2025 in 金沢 BABY JOB株式会社 大谷優多

Slide 2

Slide 2 text

大谷 優多(Otani Yuta) 自己紹介 氏名 所属 BABY JOB株式会社 クラウドインフラの管理やAIツール の整備をしています 経歴 ISP → 製造業 → 現職(2024/11 ~)   : : : x 2 x 2 x 2 2

Slide 3

Slide 3 text

紹介内容 IAM Identity Center の基本 運用規模や背景 AWS Control Tower が展開する IAM Idenity Center 構成 IAM Identity Center 構成の改善 3

Slide 4

Slide 4 text

紹介内容 IAM Identity Center の基本 運用規模や背景 AWS Control Tower が展開する IAM Idenity Center 構成 IAM Identity Center 構成の改善 4

Slide 5

Slide 5 text

弊社の運用規模 AWSアカウント: 十数個 開発組織の人数: 約30名 インフラエンジニアは2名 数年前に Control Tower 環境に引っ越し 5

Slide 6

Slide 6 text

背景 Control Tower 作成当初 開発組織の人数やアカウント数も 今よりももっと少ない 6

Slide 7

Slide 7 text

背景 Control Tower 作成当初 最低限、管理系アカウントだけ 分離しておけばよかった 開発組織の人数やアカウント数も 今よりももっと少ない 7

Slide 8

Slide 8 text

背景 Control Tower 作成当初 現在 最低限、管理系アカウントだけ 分離しておけばよかった 開発組織の人数やアカウント数も 今よりももっと少ない 8

Slide 9

Slide 9 text

背景 Control Tower 作成当初 現在 開発組織の人数 倍以上に増加 アカウントの用途も増加 新プロダクトの追加、AI利用開始 ・・・ 最低限、管理系アカウントだけ 分離しておけばよかった 開発組織の人数やアカウント数も 今よりももっと少ない 9

Slide 10

Slide 10 text

背景 Control Tower 作成当初 現在 アカウントの用途も増加 新プロダクトの追加、AI利用開始 ・・・ 最低限、管理系アカウントだけ 分離しておけばよかった 事業用のアカウント群の 権限体系も考える段階になった 開発組織の人数やアカウント数も 今よりももっと少ない 開発組織の人数 倍以上に増加 10

Slide 11

Slide 11 text

紹介内容 IAM Identity Center の基本 運用規模や背景 AWS Control Tower が展開する IAM Idenity Center 構成 IAM Identity Center 構成の改善 11

Slide 12

Slide 12 text

複数のAWSアカウントとビジネスアプリケーションを一元管理できる仕組み IAM Identity Center IAM Identity Center Member Account A Member Account B Member Account C 専用のポータルから 各アカウントに接続 12

Slide 13

Slide 13 text

IAM Identity Center の登場人物 ユーザー グループ 許可セット :IAM Identity Center へアクセスする人  一意なユーザ名とメールアドレスの指定が必要 :ユーザーの論理的な組み合わせ グループを入れ子形式にはできない :IAM ポリシーをまとめたテンプレート ユーザーやグループに割り当て可能な権限 13

Slide 14

Slide 14 text

ユーザー グループ プリンシパル 許可セット アカウント IAM Identity Center の権限割り当ての考え方 アクセス権限はプリンシパル、許可セット、アカウントの組み合わせで決定 14

Slide 15

Slide 15 text

ユーザー グループ プリンシパル 許可セット アカウント 誰が どんな権限で どのアカウントに アクセスできるかを制御 IAM Identity Center の権限割り当ての考え方 アクセス権限はプリンシパル、許可セット、アカウントの組み合わせで決定 15

Slide 16

Slide 16 text

IAM Identity Center の権限割り当ての考え方 - 許可セットの割り当て グループ A 許可セット グループ B Member Account A Member Account B 許可セット 同じ許可セット 同じ許可セットを利用してもグループごとにアカウントの接続制限が可能 16

Slide 17

Slide 17 text

IAM Identity Center の権限割り当ての考え方 - グループ分割 ユーザーをグループに所属させるバリエーションもいくつかある 17

Slide 18

Slide 18 text

IAM Identity Center の権限割り当ての考え方 - グループ分割 グループ A 所属別グループ 所属 A グループ B 所属 B 所属別の分割 グループ A 役割別グループ 役割 A, B グループ B 役割 B 原則ユーザーは1グループのみに参加 役割別の分割 役割に応じてユーザーは複数のグループに参加 ユーザーをグループに所属させるバリエーションもいくつかある 18

Slide 19

Slide 19 text

IAM Identity Center の権限割り当ての考え方 - グループ分割 グループ A 所属別グループ 所属 A グループ B 所属 B 所属別の分割 グループ A 役割別グループ 役割 A, B グループ B 役割 B 原則ユーザーは1グループのみに参加 役割別の分割 役割に応じてユーザーは複数のグループに参加 組織構造をそのまま反映するので、 ユーザー管理としてはやりやすい 一方、 一部ユーザーだけ追加の権限を付与 するといったことがしづらい ユーザーをグループに所属させるバリエーションもいくつかある 19

Slide 20

Slide 20 text

IAM Identity Center の権限割り当ての考え方 - グループ分割 グループ A 所属別グループ 所属 A グループ B 所属 B 所属別の分割 グループ A 役割別グループ 役割 A, B グループ B 役割 B 原則ユーザーは1グループのみに参加 役割別の分割 役割に応じてユーザーは複数のグループに参加 役割に応じて柔軟な権限管理が可能 一方、 細かく分割しすぎると、今度はグル ープの管理が大変になる ユーザーをグループに所属させるバリエーションもいくつかある 20

Slide 21

Slide 21 text

IAM Identity Center の権限割り当ての考え方 - グループ分割 グループ A 所属別グループ 所属 A グループ B 所属 B 所属別の分割 グループ A 役割別グループ 役割 A, B グループ B 役割 B 原則ユーザーは1グループのみに参加 役割別の分割 役割に応じてユーザーは複数のグループに参加 ユーザーをグループに所属させるバリエーションもいくつかある 権限割り当てもいろんなバリエーションがあるけど、 どのようにすればよいか? 21

Slide 22

Slide 22 text

紹介内容 IAM Identity Center の基本 運用規模や背景 AWS Control Tower が展開する IAM Idenity Center 構成 IAM Identity Center 構成の改善 22

Slide 23

Slide 23 text

なぜ AWS Control Tower なのか? 23

Slide 24

Slide 24 text

「AWS Control Tower は、何千もの企業と連携することで確立されたベストプラ クティスに基づいて、安全で準拠したマルチアカウント AWS 環境を設定および 管理するための最も簡単な方法を提供します。 」 AWS Control Tower 24 https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/what-is-control-tower.html

Slide 25

Slide 25 text

「AWS Control Tower は、何千もの企業と連携することで確立されたベストプラ クティスに基づいて、安全で準拠したマルチアカウント AWS 環境を設定および 管理するための最も簡単な方法を提供します。 」 AWS Control Tower https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/what-is-control-tower.html AWSのベストプラクティスが実装された「お手本」環境 (ランディングゾーン) が設定・管理できる 25

Slide 26

Slide 26 text

AWS Control Tower AWS Control Tower が展開するランディングゾーン Management AWS CloudFormation StackSets Service Catalog AWS Organizations AWS IAM Identity Center Identity Center directory Security OU Sandbox OU Audit Log Archive Account Baseline Account Baseline Log Bucket Amazon GuardDuty AWS Security Hub CSPM member Member Account Baseline Network Baseline 26

Slide 27

Slide 27 text

AWS Control Tower Identity Center directory member AWS Organizations AWS Control Tower が展開するランディングゾーン Management AWS CloudFormation StackSets Service Catalog AWS IAM Identity Center Security OU Sandbox OU Audit Log Archive Account Baseline Account Baseline Log Bucket Amazon GuardDuty AWS Security Hub CSPM Member Account Baseline Network Baseline IAM Identity Center も ランディングゾーンとして含まれている 27

Slide 28

Slide 28 text

AWS Control Tower が展開するランディングゾーン AWS Control Tower が展開する IAM Identity Center も ベストプラクティスに沿った構成になっているはず!! AWS Control Tower AWS IAM Identity Center 28

Slide 29

Slide 29 text

AWS Control Tower が展開するランディングゾーン AWS Control Tower が展開する IAM Identity Center も ベストプラクティスに沿った構成になっているはず!! AWS Control Tower AWS IAM Identity Center この構成を分析にすれば、 権限設計の参考になるのでは? 29

Slide 30

Slide 30 text

分析!! 30

Slide 31

Slide 31 text

AWS Control Tower による IAM Identity Center の作成 AWS Control Tower AWS IAM Identity Center ユーザー 1 グループ 8 許可セット 6 ユーザー、グループ、許可セットがいくつか作成される 31

Slide 32

Slide 32 text

AWS Control Tower による IAM Identity Center の作成 AWS Control Tower AWS IAM Identity Center ユーザー 1 グループ 8 許可セット 6 ユーザー、グループ、許可セットがいくつか作成される 管理アカウントのメール アドレスをユーザーとし て登録 これらを確認 割愛 32

Slide 33

Slide 33 text

作成される IAM Identity Center のリソース詳細 - グループ グループ名 説明 AWSControlTowerAdmins 管理系アカウントへ管理者権限で接続可能 メンバーアカウントへはOrganizationsの管理が可能 AWSSecurityAuditPowerUsers 全アカウントへパワーユーザー権限で接続可能 AWSSecurityAuditors 全アカウントへ読み取り権限で接続可能 AWSAccountFactotory Account Factoryによる新規アカウントの作成が可能 AWSServiceCatalogAdmins Account Factoryの設定や管理が可能 ※アカウント作成は不可 AWSAuditAccountAdmins 監査アカウントへ管理者権限で接続可能 AWSLogArchiveAdmins ログアーカイブアカウントへ管理者権限で接続可能 AWSLogArchiveViewers ログアーカイブアカウントへ読み取り権限で接続可能 階層的なグループ分割やアカウント・役割別の分割がされている 33

Slide 34

Slide 34 text

作成される IAM Identity Center のリソース詳細 - グループ グループ名 説明 AWSControlTowerAdmins 管理系アカウントへ管理者権限で接続可能 メンバーアカウントへはOrganizationsの管理が可能 AWSSecurityAuditPowerUsers 全アカウントへパワーユーザー権限で接続可能 AWSSecurityAuditors 全アカウントへ読み取り権限で接続可能 AWSAccountFactotory Account Factoryによる新規アカウントの作成が可能 AWSServiceCatalogAdmins Account Factoryの設定や管理が可能 ※アカウント作成は不可 AWSAuditAccountAdmins 監査アカウントへ管理者権限で接続可能 AWSLogArchiveAdmins ログアーカイブアカウントへ管理者権限で接続可能 AWSLogArchiveViewers ログアーカイブアカウントへ読み取り権限で接続可能 横断なグループ分割やアカウント・役割別の分割がされている 横 断 34

Slide 35

Slide 35 text

グループ名 説明 AWSControlTowerAdmins 管理系アカウントへ管理者権限で接続可能 メンバーアカウントへはOrganizationsの管理が可能 AWSSecurityAuditPowerUsers 全アカウントへパワーユーザー権限で接続可能 AWSSecurityAuditors 全アカウントへ読み取り権限で接続可能 AWSAccountFactotory Account Factoryによる新規アカウントの作成が可能 AWSServiceCatalogAdmins Account Factoryの設定や管理が可能 ※アカウント作成は不可 AWSAuditAccountAdmins 監査アカウントへ管理者権限で接続可能 AWSLogArchiveAdmins ログアーカイブアカウントへ管理者権限で接続可能 AWSLogArchiveViewers ログアーカイブアカウントへ読み取り権限で接続可能 作成される IAM Identity Center のリソース詳細 - グループ 階層的なグループ分割やアカウント・役割別の分割がされている 役 割 別 35

Slide 36

Slide 36 text

作成される IAM Identity Center のリソース詳細 - 許可セット 許可セット名 説明 AWSAdministratorAccess 管理者権限. AdministratorAccess の IAM ポリシーを付与 AWSPowerUserAccess IAMやOrganizations 以外のリソースへの管理権限 PowerUserAccess の マネージドポリシーを付与 AWSReadOnlyAccess すべてのAWSサービスとリソースに対する読み取り権限 ViewOnlyAccess の マネージドポリシーを付与 AWSOrgainizationsFullAccess Organizations に対する管理者権限 AWSOrganizationsFullAccess の マネージドポリシーを付与 AWSServiceCatalogAdminFullAccess Service Catalog に対する管理者権限 ServiceCatalogAdminFullAccess の マネージドポリシーを付与 AWSServiceCatalogEndUserAccess Service Catalog に対する利用者権限 ServiceCatalogEndUserAccess の マネージドポリシーを付与 概ねグループ名に準じたAWSマネージドポリシーが割り当てられている 複数のグループで再利用性が高い許可セットが作成されている 36

Slide 37

Slide 37 text

作成される IAM Identity Center のリソース詳細 - 整理 AWSControlTowerAdmins AWSSecurityAuditPowerUsers AWSSecurityAuditors 全アカウントに及ぶ 基本グループ 役割別グループ Management AWSServiceCatalogAdmins AWSAccountFactory Log Archive AWSLogArchiveAdmins AWSLogArchiveViewers Audit AWSAuditAccountAdmins ServiceCatalog 管理 管理 ServiceCatalog 利用 編集 閲覧 管理 閲覧 管理 ※1 メンバーアカウントに対しては、Organizationsの管理が可能 ※ 1 37

Slide 38

Slide 38 text

作成される IAM Identity Center のリソース詳細 - 整理 AWSControlTowerAdmins AWSSecurityAuditPowerUsers AWSSecurityAuditors 全アカウントに及ぶ 基本グループ 役割別グループ Management AWSServiceCatalogAdmins AWSAccountFactory Log Archive AWSLogArchiveAdmins AWSLogArchiveViewers Audit AWSAuditAccountAdmins ※1 メンバーアカウントに対しては、Organizationsの管理が可能 38 管理 編集 閲覧 ※ 1 ServiceCatalog 管理 ServiceCatalog 利用 管理 閲覧 管理 アカウント横断的な権限を 許可したい場合等に利用

Slide 39

Slide 39 text

作成される IAM Identity Center のリソース詳細 - 整理 AWSControlTowerAdmins AWSSecurityAuditPowerUsers AWSSecurityAuditors 全アカウントに及ぶ 基本グループ Management AWSServiceCatalogAdmins AWSAccountFactory Log Archive AWSLogArchiveAdmins AWSLogArchiveViewers Audit AWSAuditAccountAdmins ServiceCatalog 管理 管理 ServiceCatalog 利用 編集 閲覧 管理 閲覧 管理 ※1 メンバーアカウントに対しては、Organizationsの管理が可能 ※ 1 39 役割別グループ 個別のアカウントや関心事限った 権限が必要な場合に利用

Slide 40

Slide 40 text

紹介内容 IAM Identity Center の基本 運用規模や背景 AWS Control Tower が展開する IAM Idenity Center 構成 IAM Identity Center 構成の改善 40

Slide 41

Slide 41 text

弊社における構成の見直し 41

Slide 42

Slide 42 text

Control Tower の管理系アカウントとの権限分離は実施済み Before - 見直し前の IAM Identity Center グループ Control Tower により作成された IAM Identity Center に1つグループを追加 グループには事業用アカウントへの接続権限を指定 AWSSecurityAuditors BussinessGroups Product Account A Product Account B Product Account C 参照 管理/編集 エンジニア 42

Slide 43

Slide 43 text

Control Tower の管理系アカウントとの権限分離は実施済み Before - 見直し前の IAM Identity Center グループ Control Tower により作成された IAM Identity Center に1つグループを追加 グループには事業用アカウントへの接続権限を指定 AWSSecurityAuditors BussinessGroups Product Account A Product Account B Product Account C 参照 管理/編集 エンジニア どの事業を担当しているかは、エンジニアそれぞれだけど、 グループは一つ 43

Slide 44

Slide 44 text

Control Tower の管理系アカウントとの権限分離は実施済み Before - 見直し前の IAM Identity Center グループ Control Tower により作成された IAM Identity Center に1つグループを追加 グループには事業用アカウントへの接続権限を指定 AWSSecurityAuditors BussinessGroups Product Account A Product Account B Product Account C 参照 管理/編集 エンジニア 各エンジニアの担当事業以外のアカウントについても、 管理者権限を持っている構造 44

Slide 45

Slide 45 text

After - 見直し後の IAM Identity Center グループ Admins Editors Viewers 役割別グループ AIUsers Bedrock 利用 管理 閲覧 管理 全アカウントに及ぶ 基本グループ SecurityAdmins SecurityEditors Security OU 編集 AI 編集 事業・所属別グループ Group N ・・・ Group 1 Group1Engineers GroupNEngineers 管理 /編集 管理 /編集 45

Slide 46

Slide 46 text

許可セット名 説明 AdministratorAccess 管理者権限. AdministratorAccess の IAM ポリシーを付与 PowerUserAccess IAMやOrganizations 以外のリソースへの管理権限 PowerUserAccess の マネージドポリシーを付与 ReadOnlyAccess すべてのAWSサービスとリソースに対する読み取り権限 ViewOnlyAccess + ログ等も閲覧できるようにインラインポリシーを定義 AIOnlyAccess Amazon Bedrock の LLM モデルの呼び出し権限 モデル呼び出しのみが可能なように、インラインポリシーを定義 After - 見直し後の許可セット 基本的な許可セットと一部役割に応じた許可セットを作成 現状の規模で権限を細分化しても管理が大変になるだけのため 46

Slide 47

Slide 47 text

許可セット名 説明 AdministratorAccess 管理者権限. AdministratorAccess の IAM ポリシーを付与 PowerUserAccess IAMやOrganizations 以外のリソースへの管理権限 PowerUserAccess の マネージドポリシーを付与 ReadOnlyAccess すべてのAWSサービスとリソースに対する読み取り権限 ViewOnlyAccess + ログ等も閲覧できるようにインラインポリシーを定義 AIOnlyAccess Amazon Bedrock の LLM モデルの呼び出し権限 モデル呼び出しのみが可能なように、インラインポリシーを定義 After - 見直し後の許可セット 基本的な許可セットと一部役割に応じた許可セットを作成 現状の規模で権限を細分化しても管理が大変になるだけのため カスタマー管理ポリシーの場合は、 あらかじめ対象アカウントにポリシーを巻く必要があるため 47

Slide 48

Slide 48 text

After - 見直し後の IAM Identity Center グループ Admins Editors Viewers AIUsers Bedrock 利用 管理 閲覧 管理 SecurityAdmins SecurityEditors Security OU 編集 AI 編集 事業・所属別グループ Group N ・・・ Group 1 Group1Engineers GroupNEngineers 管理 /編集 管理 /編集 48 役割別グループ 全アカウントに及ぶ 基本グループ

Slide 49

Slide 49 text

Control Tower から参考にした点 - 基本グループの構成 AWSControlTowerAdmins AWSSecurityAuditPowerUsers AWSSecurityAuditors 編集 閲覧 ※1 メンバーアカウントに対しては、Organizationsの管理が可能 管理 ※ 1 グループの構造は踏襲して、割り当てる許可セットを一部変更 Control Tower によるグループ Admins Editors Viewers 編集 閲覧 管理 作成したグループ 49

Slide 50

Slide 50 text

Control Tower から参考にした点 - 基本グループの構成 AWSControlTowerAdmins AWSSecurityAuditPowerUsers AWSSecurityAuditors ※1 メンバーアカウントに対しては、Organizationsの管理が可能 グループの構造は踏襲して、割り当てる許可セットを一部変更 Control Tower によるグループ Admins Editors Viewers 作成したグループ 全アカウントの管理権限を付与 理由 Control Towerの管理と組織横断 のインフラ管理で役割を分離して いないため 50 編集 閲覧 管理 ※ 1 編集 閲覧 管理

Slide 51

Slide 51 text

Control Tower から参考にした点 - 基本グループの構成 AWSControlTowerAdmins AWSSecurityAuditPowerUsers AWSSecurityAuditors ※1 メンバーアカウントに対しては、Organizationsの管理が可能 グループの構造は踏襲して、割り当てる許可セットを一部変更 Control Tower によるグループ Admins Editors Viewers 作成したグループ ViweOnlyAccess + α のポリシーを付与 理由 セキュリティ設定等は、他のプロ ダクトでも参考となるので、広く 参照を許可したい Log Archive 内のログもグループ を分割せずに参照できるようにし たい 51 編集 閲覧 管理 編集 閲覧 管理 ※ 1

Slide 52

Slide 52 text

管理 Bedrock 利用 Management AWSServiceCatalogAdmins AWSAccountFactory ServiceCatalog 管理 ServiceCatalog 利用 Security OU SecurityAdmins SecurityEditors AI AIUsers 管理 編集 Control Tower から参考にした点 - 役割別グループの構成 実際の管理体系に合わせてグループ構造を集約 Control Towerによるグループ Log Archive AWSLogArchiveAdmins AWSLogArchiveViewers Audit AWSAuditAccountAdmins 管理 閲覧 管理 作成したグループ 52

Slide 53

Slide 53 text

管理 Management AWSServiceCatalogAdmins AWSAccountFactory Security OU SecurityAdmins SecurityEditors AI AIUsers Control Tower から参考にした点 - 役割別グループの構成 実際の管理体系に合わせてグループ構造を集約 Control Towerによるグループ Log Archive AWSLogArchiveAdmins AWSLogArchiveViewers Audit AWSAuditAccountAdmins 作成したグループ 集約 53 ServiceCatalog 管理 ServiceCatalog 利用 管理 閲覧 管理 未採用 Bedrock 利用 管理 編集

Slide 54

Slide 54 text

管理 Management AWSServiceCatalogAdmins AWSAccountFactory Security OU SecurityAdmins SecurityEditors AI AIUsers Control Tower から参考にした点 - 役割別グループの構成 実際の管理体系に合わせてグループ構造を集約 Control Towerによるグループ Log Archive AWSLogArchiveAdmins AWSLogArchiveViewers Audit AWSAuditAccountAdmins 作成したグループ 集約 54 ServiceCatalog 管理 ServiceCatalog 利用 管理 閲覧 管理 未採用 Bedrock 利用 管理 編集 開発支援系AI(Claude Code, Cline...) で利用する Bedrockは 専用の役割を持つグループとして構成

Slide 55

Slide 55 text

After - 見直し後の IAM Identity Center グループ Admins Editors Viewers 役割別グループ AIUsers Bedrock 利用 管理 閲覧 管理 全アカウントに及ぶ 基本グループ SecurityAdmins SecurityEditors Security OU 編集 AI 編集 Group N ・・・ Group 1 Group1Engineers GroupNEngineers 管理 /編集 管理 /編集 55 事業・所属別グループ

Slide 56

Slide 56 text

After - 見直し後の IAM Identity Center グループ Admins Editors Viewers 役割別グループ AIUsers Bedrock 利用 管理 閲覧 管理 全アカウントに及ぶ 基本グループ SecurityAdmins SecurityEditors Security OU 編集 AI 編集 Group N ・・・ Group 1 Group1Engineers GroupNEngineers 管理 /編集 管理 /編集 56 事業・所属別グループ 同一アカウントでも階層的に権限を付与 するという点を参考

Slide 57

Slide 57 text

事業・所属別グループの構成 管理 Group N ・・・ GroupNEngineers 管理 /編集 基本的にはグループと担当事業が1対1となるように構成 Group 1 Group1Engineers 管理 /編集 担当事業外のアカウントに対しては管理・編集権限を持たない 本番 検証 ・・・ 事業 1 本番 検証 事業 N 57

Slide 58

Slide 58 text

参照 管理/編集 管理/編集 参照 IAM Identity Center グループ構成の Before / After AWSSecurityAuditors BussinessGroups XXXXEngineers Viewers AIUsers Before 管理系アカウントのみ権限分離 After 担当事業ごとに権限分離 + 不足分は役割ベースのグループで権限付与 XXX は担当事業のもの 管理系アカウント グループ + Bedrock 利用 全アカウントの 管理・編集グループ + 58

Slide 59

Slide 59 text

CloudFormation による実装 59

Slide 60

Slide 60 text

CloudFormation 化の範囲 グループ、許可セットと権限割り当て部分を IaC 化 グループ 許可セット ユーザー グループ メンバーシップ アサインメント AWSアカウント IaC化範囲 60

Slide 61

Slide 61 text

CloudFormation 化の範囲 グループ、許可セットと権限割り当て部分を IaC 化 グループ 許可セット ユーザー グループ メンバーシップ アサインメント AWSアカウント グループや許可セットより変更 頻度が多いので、IaCからは除外 IaC化範囲 61

Slide 62

Slide 62 text

CloudFormation 化の範囲 グループ、許可セットと権限割り当て部分を IaC 化 グループ 許可セット ユーザー グループ メンバーシップ アサインメント AWSアカウント グループや許可セットより変更 頻度が多いので、IaCからは除外 group-assignment permission-set CloudFormationは許可セットとその他の2つにテンプレートを分割 一度許可セットを作成したら早々中身を変更しないので別テンプレートとして管理 62

Slide 63

Slide 63 text

CloudFormation 化の範囲 グループ、許可セットと権限割り当て部分を IaC 化 グループ 許可セット ユーザー グループ メンバーシップ アサインメント AWSアカウント グループや許可セットより変更 頻度が多いので、IaCからは除外 group-assignment permission-set CloudFormationは許可セットとその他の2つにテンプレートを分割 一度許可セットを作成したら早々中身を変更しないので別テンプレートとして管理 これの IaC 化が厄介 63

Slide 64

Slide 64 text

ユーザー グループ プリンシパル 許可セット アカウント 誰が どんな権限で どのアカウントに アクセスできるかを制御 IAM Identity Center の権限割り当ての考え方 アクセス権限はプリンシパル、許可セット、アカウントの組み合わせで決定 再掲 64

Slide 65

Slide 65 text

ユーザー グループ プリンシパル 許可セット アカウント 誰が どんな権限で どのアカウントに アクセスできるかを制御 IAM Identity Center の権限割り当ての考え方 アクセス権限はプリンシパル、許可セット、アカウントの組み合わせで決定 再掲 組み合わせ数分のアサインメントを作成する必要がある 65

Slide 66

Slide 66 text

CloudFormation でのアサインメントの定義 https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-sso-assignment.html 許可セットのARNを指定 ユーザーIDやグループIDを指定 AWSアカウントIDを指定 CloudFormationの定義からもまとめて指定はできないことがわかる 数が多いとたいへん!! 66

Slide 67

Slide 67 text

アサインメントを楽に作成するために AWS::LanguageExtensions を有効にしてFn::ForEach で記述量減らす 3重ループを回せばよい(グループ x 許可セット x アカウント) 67

Slide 68

Slide 68 text

アサインメントを楽に作成するために AWS::LanguageExtensions を有効にしてFn::ForEach で記述量減らす 3重ループを回せばよい(グループ x 許可セット x アカウント) グループ 許可セット アカウント 許可セットはスタック分割 するので、値をインポート それ以外は基本的に、 Mappingsから取得 68

Slide 69

Slide 69 text

アサインメントを楽に作成するために - Mappings アカウント管理用 グループ管理用 アサインメント管理用 69

Slide 70

Slide 70 text

アサインメントを楽に作成するために - Mappings アカウント管理用 グループ管理用 アサインメント管理用 視認性を向上させるために、 アカウント名とアカウントID の対応関係を記述 TargetId は アカウントIDでの指定が 必要なので、 FindInMapでアカウント名から取得 関連するテンプレート記述 70

Slide 71

Slide 71 text

アサインメントを楽に作成するために - Mappings アカウント管理用 グループ管理用 アサインメント管理用 グループ作成および、 アサインメントのループ用 関連するテンプレート記述 71

Slide 72

Slide 72 text

アサインメントを楽に作成するために - Mappings アカウント管理用 グループ管理用 アサインメント管理用 実際のアサインメントの グループ x 許可セット x アカウント の対応関係を記述 関連するテンプレート記述 72

Slide 73

Slide 73 text

考慮事項 - CloudFormation のリソース上限 ユーザー グループ プリンシパル 許可セット アカウント アサインメントは増加しやすいので、テンプレートあたりのリソース数上限を より意識する必要がある 1テンプレートあたり500が上限(以前は200) 73

Slide 74

Slide 74 text

考慮事項 - CloudFormation のリソース上限 ユーザー グループ プリンシパル 許可セット アカウント アサインメントは増加しやすいので、テンプレートあたりのリソース数上限を より意識する必要がある 1テンプレートあたり500が上限(以前は200) 例) 5グループ 3許可セット 10アカウント 74

Slide 75

Slide 75 text

考慮事項 - CloudFormation のリソース上限 ユーザー グループ プリンシパル 許可セット アカウント アサインメントは増加しやすいので、テンプレートあたりのリソース数上限を より意識する必要がある 1テンプレートあたり500が上限(以前は200) 例) 5グループ 3許可セット 10アカウント アサインメントだけで150リソース必要!!! 75

Slide 76

Slide 76 text

考慮事項 - CloudFormation のリソース上限 ユーザー グループ プリンシパル 許可セット アカウント アサインメントは増加しやすいので、テンプレートあたりのリソース数上限を より意識する必要がある 1テンプレートあたり500が上限(以前は200) 例) 5グループ 3許可セット 10アカウント アサインメントだけで150リソース必要!!! 規模が大きくなってきたら、 分割なりが必要 76

Slide 77

Slide 77 text

AWS Control Tower が展開する構成は「お手本」 IAM Identity Center の権限設計においても参考になる まとめ 運用の実態に合わせシンプルな構成から始める 数個の許可セットと役割や事業・所属で分割したグループからスタート 組織拡大に応じて段階的に改善していくアプローチが重要 77