AWS Control Tower がロールと連携してアカウントを作成および管理する方法 - AWS Control Tower

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Control Tower がロールと連携してアカウントを作成および管理する方法

一般に、ロールはAWSにおける Identity and Access Management (IAM) の一部です。の IAM とロールに関する一般的な情報についてはAWS、IAM AWSユーザーガイドの「IAM ロール」トピックを参照してください。

ロールとアカウントの作成

AWS Control Tower は、AWS Organizationsの CreateAccount API を呼び出して、顧客のアカウントを作成します。がこのアカウントAWS Organizationsを作成すると、そのアカウント内にロールが作成されます。このロールは、AWS Control Tower が API にパラメータを渡して名前を付けます。ロールの名前は AWSControlTowerExecution です。

AWS Control Tower は、Account Factory によって作成されたすべてのアカウントの AWSControlTowerExecution ロールを引き継ぎます。このロールを使用して、AWS Control Tower は、アカウントにベースライニングを行い、必須の (およびその他有効な) コントロールを適用します。これにより、他のロールが作成されます。これらのロールは、次にAWS Configなどの他のサービスによって使用されます。

注記

アカウントのベースライニングとは、そのリソースを設定することです (Account Factory テンプレートを含む)。これはブループリントまたはコントロールと呼ばれることもあります。ベースライニングのプロセスでは、テンプレートのデプロイの一部として、一元化されたログ記録とセキュリティ監査のロールもアカウントにセットアップします。AWS Control Tower ベースラインは、登録されているすべてのアカウントに適用するロールに含まれています。

アカウントとリソースの詳細については、「AWS Control Tower AWS アカウントの について」を参照してください。

AWS Control Tower がアンマネージド OUsとアカウントでAWS Configルールを集約する方法

  • AWS Control Tower 管理アカウントは、外部AWS Configルールの検出を支援する組織レベルのアグリゲータを作成します。これにより、AWS Control Tower はアンマネージドアカウントにアクセスする必要はありません。AWS Control Tower コンソールには、特定のアカウントに対して外部で作成されたAWS Configルールの数が表示されます。これらの外部ルールの詳細は、[アカウントの詳細] ページの [外部の Config ルールのコンプライアンス] タブで確認できます。

  • アグリゲータを作成するために、AWS Control Tower は、組織について記述し、そのアカウントを一覧表示するために必要な許可を持つロールを追加します。AWSControlTowerConfigAggregatorRoleForOrganizations ロールには、AWSConfigRoleForOrganizations マネージドポリシーと、config.amazonaws.com との信頼関係が必要です。

注記

ランディングゾーンバージョン 4.0 を使用しているお客様は、AWS Control Tower が既存の組織レベルの設定アグリゲータからサービスにリンクされた設定アグリゲータに移行したため、このロールは必要ありません。

注記

ランディングゾーンを含む組織で信頼されたアクセスを有効にすると、AWS Control Tower は組織内のすべてのアカウントのロールの作成、リソースの管理、データの読み取りを行うことができます。信頼されたアクセスを通じて、組織内のアカウントまたは OU は、登録済みか登録済みか、未登録かにかかわらず、AWS Control Tower で利用できます

ロールにアタッチされた IAM ポリシー (JSON アーティファクト) は次のとおりです。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "organizations:ListAccounts", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ], "Resource": "*" } ] }

AWSControlTowerConfigAggregatorRoleForOrganizations の信頼関係は次のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } }

管理アカウントにこの機能をデプロイするには、 管理ポリシー に次のアクセス許可が追加されます。これはAWSControlTowerServiceRolePolicy、AWS Configアグリゲータの作成時にAWSControlTowerAdminロールによって使用されます。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "config:PutConfigurationAggregator", "config:DeleteConfigurationAggregator", "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations", "arn:aws:config:us-east-1:123456789012:config-aggregator/" ] }, { "Effect": "Allow", "Action": "organizations:EnableAWSServiceAccess", "Resource": "*" } ] }

新しいリソース、AWSControlTowerConfigAggregatorRoleForOrganizations および aws-controltower-ConfigAggregatorForOrganizations が作成されました。

準備ができたら、アカウントを個別に登録するか、OU を登録してグループとしてアカウントを登録することができます。アカウントを登録すると、 でルールを作成するとAWS Config、AWS Control Tower は新しいルールを検出します。アグリゲータは外部ルールの数を表示し、アカウントの各外部ルールの詳細を表示できるAWS Configコンソールへのリンクを提供します。AWS Configコンソールと AWS Control Tower コンソールの情報を使用して、アカウントで適切なコントロールが有効になっているかどうかを判断します。

AWS Control Tower 監査アカウントのプログラムによるロールおよび信頼関係

監査アカウントにサインインし、他のアカウントをプログラムで確認するロールを引き受けることができます。監査アカウントでは、他のアカウントに手動でログインすることはできません。

監査アカウントは、AWS Lambda 関数にのみ付与される一部のロールを使用して、他のアカウントへのプログラムによるアクセスを許可します。セキュリティ上の理由から、これらのロールには他のロールとの信頼関係があります。つまり、ロールを利用できる条件が厳密に定義されていることを意味します。

AWS Control Tower スタック StackSet-AWSControlTowerBP-BASELINE-ROLES は、監査アカウントに次のプログラム専用のクロスアカウント IAM ロールを作成します。

  • aws-controltower-AdministratorExecutionRole

  • aws-controltower-ReadOnlyExecutionRole

AWS Control Tower スタック StackSet-AWSControlTowerSecurityResources は、監査アカウントに次のプログラム専用のクロスアカウント IAM ロールを作成します。

  • aws-controltower-AuditAdministratorRole

  • aws-controltower-AuditReadOnlyRole

ReadOnlyExecutionRole: このロールは、監査アカウントが、組織全体の Amazon S3 バケット内のオブジェクトを読み取ることを許可する点に注意してください (メタデータアクセスのみを許可する SecurityAudit ポリシーとは対照的です)。

aws-controltower-AdministratorExecutionRole:
  • 管理者権限があります

  • コンソールから引き受けることはできません

  • 監査アカウントのロール (aws-controltower-AuditAdministratorRole) でのみ引き受けることができます

次のアーティファクトは、aws-controltower-AdministratorExecutionRole の信頼関係を示しています。プレースホルダー番号 012345678901 は、監査アカウントの Audit_acct_ID 番号に置き換えられます。

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditAdministratorRole"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-AuditAdministratorRole:
  • AWS Lambda サービスでのみ引き受けることができます

  • 文字列 log で始まる名前を持つ Simple Storage Service (Amazon S3) オブジェクトに対して読み取り (Get) 操作および書き込み (Put) 操作を実行する許可があります

アタッチされるポリシー:

1. AWSLambdaExecuteAWS管理ポリシー

2. AssumeRole-aws-controltower-AuditAdministratorRole – インラインポリシー – AWS Control Tower によって作成されます。アーティファクトは次のとおりです。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/aws-controltower-AdministratorExecutionRole" ], "Effect": "Allow" } ] }

次のアーティファクトは、aws-controltower-AuditAdministratorRole の信頼関係を示しています。

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-ReadOnlyExecutionRole:
  • コンソールから引き受けることはできません

  • 監査アカウントの別のロール (AuditReadOnlyRole) でのみ引き受けることができます

次のアーティファクトは、aws-controltower-ReadOnlyExecutionRole の信頼関係を示しています。プレースホルダー番号 012345678901 は、監査アカウントの Audit_acct_ID 番号に置き換えられます。

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "AWS": "arn:aws:iam::012345678901:role/aws-controltower-AuditReadOnlyRole "       },       "Action": "sts:AssumeRole"     }   ] }
aws-controltower-AuditReadOnlyRole:
  • AWS Lambda サービスでのみ引き受けることができます

  • 文字列 log で始まる名前を持つ Simple Storage Service (Amazon S3) オブジェクトに対して読み取り (Get) 操作および書き込み (Put) 操作を実行する許可があります

アタッチされるポリシー:

1. AWSLambdaExecuteAWS管理ポリシー

2. AssumeRole-aws-controltower-AuditReadOnlyRole – インラインポリシー – AWS Control Tower によって作成されます。アーティファクトは次のとおりです。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::*:role/aws-controltower-ReadOnlyExecutionRole" ], "Effect": "Allow" } ] }

次のアーティファクトは、aws-controltower-AuditAdministratorRole の信頼関係を示しています。

{   "Version": "2012-10-17",   "Statement": [     {       "Effect": "Allow",       "Principal": {         "Service": "lambda.amazonaws.com"       },       "Action": "sts:AssumeRole"     }   ] }

IAM ロールを使用した自動アカウントプロビジョニング

Account Factory アカウントの設定をさらに自動化するには、メンバーアカウントの AWSControlTowerExecution ロールを引き受ける AWS Control Tower 管理アカウントで Lambda 関数を作成します。次に、管理アカウントが、ロールを使用して、各メンバーアカウントで必要な設定手順を実行します。

ただし、Lambda 関数を使用してアカウントをプロビジョニングする場合、この作業を実行するアイデンティティには AWSServiceCatalogEndUserFullAccess に加え、次の IAM アクセス許可ポリシーが必要です。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AWSControlTowerAccountFactoryAccess", "Effect": "Allow", "Action": [ "sso:GetProfile", "sso:CreateProfile", "sso:UpdateProfile", "sso:AssociateProfile", "sso:CreateApplicationInstance", "sso:GetSSOStatus", "sso:GetTrust", "sso:CreateTrust", "sso:UpdateTrust", "sso:GetPeregrineStatus", "sso:GetApplicationInstance", "sso:ListDirectoryAssociations", "sso:ListPermissionSets", "sso:GetPermissionSet", "sso:ProvisionApplicationInstanceForAWSAccount", "sso:ProvisionApplicationProfileForAWSAccountInstance", "sso:ProvisionSAMLProvider", "sso:ListProfileAssociations", "sso-directory:ListMembersInGroup", "sso-directory:AddMemberToGroup", "sso-directory:SearchGroups", "sso-directory:SearchUsers", "sso-directory:CreateUser", "sso-directory:DescribeGroups", "sso-directory:DescribeDirectory", "sso-directory:GetUserPoolInfo", "controltower:CreateManagedAccount", "controltower:DescribeManagedAccount", "controltower:DeregisterManagedAccount", "s3:GetObject", "organizations:describeOrganization", "sso:DescribeRegisteredRegions" ], "Resource": "*" } ] }

アクセス許可 sso:GetPeregrineStatussso:ProvisionApplicationInstanceForAWSAccountsso:ProvisionApplicationProfileForAWSAccountInstance、および sso:ProvisionSAMLProvideは、AWS Control Tower Account Factory が IAM Identity Center AWSとやり取りするために必要です。