合规包的先决条件AWS Config - AWS Config

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

合规包的先决条件AWS Config

在部署一致性包之前,请开启AWS Config录制。

第 1 步:开始AWS Config录制(所有一致性包均为必填项)

  1. 登录AWS 管理控制台并在家中打开https://console.aws.amazon.com/config/主AWS Config机。

  2. 在导航窗格中,选择设置

  3. 要开始记录,请选择 Recording is off(记录已关闭)下的 Turn on(开启)。系统提示时,请选择继续

步骤 2:按合规包类型列出的其他先决条件

将合规性包与修正结合使用的先决条件

在使用带有修复功能的示例模板部署一致性包之前,必须根据修复目标创建相应的AWS资源,例如自动代入角色和其他资源。

如果您已有 Automation 角色并使用该角色通过 SSM 文档进行修复,则可以直接提供该角色的 ARN。如果您有任何资源,可以在模板中提供这些资源。

注意

向组织部署具有修正功能的合规包时,需要指定该组织的管理账户 ID。否则,在部署组织合规包期间,AWS Config会自动将管理账户 ID 替换为成员账户 ID。

AWS Config不支持自动化执行角色或. 的CloudFormation内部函数。ConfigRuleName您必须以字符串形式提供角色的确切 ARN,并且必须使用不带内置函数的完整规则名称。

有关如何传递准确 ARN 的更多信息,请参阅 AWS Config 合规包示例模板 使用示例模板时,请更新您的账户 ID 和组织的管理账户 ID。

B. 使用包含一个或多个自定义AWS Config规则的一致性包的先决条件

在部署包含一个或多个自定义AWS Config规则的一致性包之前,请创建相应的资源,例如AWS Lambda函数和相应的执行角色。

如果您已有自定义AWS Config规则,则可以直接提供 of AWS Lambda函数来创建该ARN自定义规则的另一个实例,作为包的一部分。

如果您没有现有的自定义AWS Config规则,则可以创建一个AWS Lambda函数并使用 Lambda 函数的 ARN。有关更多信息,请参阅 AWS Config 自定义规则

如果您的AWS Lambda函数存在于不同的中AWS 账户,则可以使用适当的跨账户AWS Lambda功能授权来创建AWS Config规则。有关更多信息,请参阅如何集中管理多个AWS Config规则AWS 账户博客文章。

Same account bucket policy

AWS Config为了能够存储合规包项目,您需要提供一个 Amazon S3 存储桶并添加以下权限。有关命名存储桶的更多信息,请参阅存储桶命名规则

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AWSConfigConformsBucketPermissionsCheck", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::delivery-bucket-name" }, { "Sid": "AWSConfigConformsBucketDelivery", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::delivery-bucket-name/[optional] prefix/AWSLogs/AccountId/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
Cross-account bucket policy

AWS Config为了能够存储合规包项目,您需要提供一个 Amazon S3 存储桶并添加以下权限。有关命名存储桶的更多信息,请参阅存储桶命名规则

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AWSConfigConformsBucketPermissionsCheck", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms", "PutConformancePack API caller user principal like arn:aws:iam::SourceAccountId:user/userName " ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name" }, { "Sid": "AWSConfigConformsBucketDelivery", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/[optional] prefix/AWSLogs/AccountID/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": " AWSConfigConformsBucketReadAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" ] }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/[optional] prefix/AWSLogs/AccountID/Config/*" } ] }
注意

部署跨账户合规包时,传输 Amazon S3 存储桶的名称应以 awsconfigconforms 开头。

C. 组织合规性包的先决条件

如果输入模板具有自动修正配置,则在模板中为该修正指定 Automation 执行角色 ARN。确保组织的所有账户(管理账户和成员账户)中都有具有指定名称的角色。您必须先在所有账户中创建此角色,然后再调用。PutOrganizationConformancePack您可以手动创建此角色,也可以使用AWS CloudFormation堆栈集在每个账户中创建此角色。

如果您的模板使用AWS CloudFormation内部函数Fn::ImportValue来导入特定变量,则该变量必须在该组织的所有成员账户Export Value中定义为。

有关自定义AWS Config规则,请参阅如何集中管理多个AWS Config规则AWS 账户博客以设置适当的权限。

组织存储桶策略:

AWS Config为了能够存储合规包项目,您需要提供一个 Amazon S3 存储桶并添加以下权限。有关命名存储桶的更多信息,请参阅存储桶命名规则

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name/*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "customer_org_id" }, "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" } } }, { "Sid": "AllowGetBucketAcl", "Effect": "Allow", "Principal": "*", "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::awsconfigconforms-suffix in bucket name", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "customer_org_id" }, "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/aws-service-role/config-conforms.amazonaws.com/AWSServiceRoleForConfigConforms" } } } ] }
注意

在组织中部署合规包时,传输 Amazon S3 存储桶的名称应以 awsconfigconforms 开头。