翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Control Tower がロールと連携してアカウントを作成および管理する方法
一般に、ロールは AWSにおける Identity and Access Management (IAM) の一部です。IAM とそのロールに関する一般的な情報については AWS、『IAM ユーザーガイド』の「IAM ロール」トピックを参照してください。AWS
ロールとアカウントの作成
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 が管理対象外の OU AWS Config とアカウントのルールを集約する方法
AWS Control Tower 管理アカウントは、 AWS Config 外部ルールの検出を支援する組織レベルのアグリゲーターを作成します。これにより、AWS Control Tower は管理対象外のアカウントにアクセスする必要がなくなります。AWS Control Tower コンソールには、 AWS Config 特定のアカウントに対して外部で作成されたルールの数が表示されます。これらの外部ルールの詳細は、[アカウントの詳細] ページの [外部の Config ルールのコンプライアンス] タブで確認できます。
アグリゲータを作成するために、AWS Control Tower は、組織について記述し、そのアカウントを一覧表示するために必要な許可を持つロールを追加します。AWSControlTowerConfigAggregatorRoleForOrganizations
ロールには、AWSConfigRoleForOrganizations
マネージドポリシーと、config.amazonaws.com
との信頼関係が必要です。
ロールにアタッチされた IAM ポリシー (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
AWSControlTowerAdmin
アグリゲーターの作成時にロールが使用する管理ポリシーに以下のアクセス権限を追加します。 AWS Config
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "config:PutConfigurationAggregator", "config:DeleteConfigurationAggregator", "iam:PassRole" ], "Resource": [ "arn:aws:iam:::role/service-role/AWSControlTowerConfigAggregatorRoleForOrganizations", "arn:aws:config:::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
は、監査アカウントに次のプログラム専用のクロスアカウントロールを作成します。
-
aws-controltower-AdministratorExecutionRole
-
AWS-コントロールタワー-AuditAdministratorRole
-
AWS-コントロールタワー-ReadOnlyExecutionRole
-
AWS-コントロールタワー-AuditReadOnlyRole
ReadOnlyExecutionRole:
このロールは、監査アカウントが、組織全体の Amazon S3 バケット内のオブジェクトを読み取ることを許可する点に注意してください (メタデータアクセスのみを許可する SecurityAudit
ポリシーとは対照的です)。
aws-コントロールタワー-: 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-コントロールタワー-AuditAdministratorRole:
-
AWS Lambda サービスでのみ想定可能
-
文字列 log で始まる名前を持つ Simple Storage Service (Amazon S3) オブジェクトに対して読み取り (Get) 操作および書き込み (Put) 操作を実行する許可があります
アタッチされるポリシー:
1. AWSLambdaExecute— 管理ポリシー AWS
2. AssumeRole-aws-controltower-AuditAdministratorRole — インラインポリシー — AWS Control Tower によって作成されました。アーティファクトは次のとおりです。
{ "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-コントロールタワー 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-コントロールタワー-AuditReadOnlyRole:
-
AWS Lambda サービスでのみ想定可能
-
文字列 log で始まる名前を持つ Simple Storage Service (Amazon S3) オブジェクトに対して読み取り (Get) 操作および書き込み (Put) 操作を実行する許可があります
アタッチされるポリシー:
1. AWSLambdaExecute— 管理ポリシー AWS
2. AssumeRole-aws-controltower-AuditReadOnlyRole — インラインポリシー — AWS Control Tower によって作成されました。アーティファクトは次のとおりです。
{ "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メンバーアカウントでの役割を引き受ける
ただし、Lambda 関数を使用してアカウントをプロビジョニングする場合、この作業を実行するアイデンティティには AWSServiceCatalogEndUserFullAccess
に加え、次の IAM アクセス許可ポリシーが必要です。
{ "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:SearchGroupsWithGroupName", "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:GetPeregrineStatus
、sso:ProvisionApplicationInstanceForAWSAccount
sso:ProvisionApplicationProfileForAWSAccountInstance
、sso:ProvisionSAMLProvide
は AWS Control Tower Account Factory が AWS IAM Identity Center とやり取りするために必要です。