分配给的 IAM 角色的权限 Amazon Config - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

分配给的 IAM 角色的权限 Amazon Config

IAM 角色允许您定义一组权限。 Amazon Config扮演您分配给它的角色,用于写入您的 S3 存储桶、发布到您的 SNS 主题以及发出DescribeList API 请求以获取Amazon资源的配置详细信息。有关 IAM 角色的更多信息,请参阅《IAM 用户指南》中的 IAM 角色

当您使用Amazon Config控制台创建或更新 IAM 角色时,Amazon Config会自动为您附加所需的权限。有关更多信息,请参阅使用控制台设置 Amazon Config

创建 IAM 角色策略

当您使用Amazon Config控制台创建 IAM 角色时,Amazon Config会自动为您的角色附加所需的权限。

如果您正在使用Amazon CLI进行设置Amazon Config或正在更新现有 IAM 角色,则必须手动更新策略以允许Amazon Config访问您的 S3 存储桶、发布到您的 SNS 主题以及获取有关您的资源的配置详细信息。

为您的角色添加 IAM 信任策略

您可以创建 IAM 信任策略,Amazon Config允许代入角色并使用它来跟踪您的资源。有关信任策略的更多信息,请参阅 IAM 用户指南中的角色术语和概念

下面是 Amazon Config 角色的示例信任策略:

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

您可以使用上述 IAM 角色信任关系中的AWS:SourceAccount条件来限制 Config 服务主体仅在代表特定账户执行操作时与 Amazon IAM 角色交互。

Amazon Config还支持限制 Config 服务委托人仅在代表拥有账户执行操作时担任 IAM 角色的AWS:SourceArn条件。使用Amazon Config服务主体时,该AWS:SourceArn属性将始终设置为arn:aws:config:sourceRegion:sourceAccountID:*其中sourceRegion是配置记录器的区域,sourceAccountID是包含配置记录器的帐户的 ID。有关Amazon Config配置记录器的更多信息,请参阅管理配置记录器。例如,添加以下条件,限制 Config 服务主体仅代表账户中该us-east-1区域的配置记录器担任 IAM 角色123456789012"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}

您的 S3 存储桶的 IAM 角色策略

以下示例策略授予访问您的 S3 存储桶的Amazon Config权限:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl" ], "Resource":[ "arn:aws:s3:::myBucketName/prefix/AWSLogs/myAccountID/*" ], "Condition":{ "StringLike":{ "s3:x-amz-acl":"bucket-owner-full-control" } } }, { "Effect":"Allow", "Action":[ "s3:GetBucketAcl" ], "Resource":"arn:aws:s3:::myBucketName" } ] }

KMS 密钥的 IAM 角色策略

以下示例策略授予对新对象使用基于 KMS 的加密以进行 S3 存储桶传输的Amazon Config权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "myKMSKeyARN" } ] }

亚马逊 SNS 主题的 IAM 角色政策

以下示例策略授予访问您的 SNS 主题的Amazon Config权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"sns:Publish", "Resource":"mySNStopicARN" } ] }

如果您的 SNS 主题已加密以获取更多设置说明,请参阅 Amazon 简单通知服务开发人员指南中的配置Amazon KMS权限

用于获取配置详细信息的 IAM 角色策略

要记录您的Amazon资源配置,Amazon Config需要 IAM 权限才能获取有关您的资源的配置详细信息。

使用Amazon托管策略 AWS_ConfigRole 并将其附加到您分配给的 IAM 角色。Amazon Config Amazon每次Amazon Config添加对Amazon资源类型的支持时都会更新此策略,这意味着只要角色附加了此托管策略,Amazon Config就会继续拥有获取配置详细信息所需的权限。

如果您使用控制台创建或更新角色,请为您Amazon Config附加 A WS_ ConfigRole

如果您使用Amazon CLI,请使用attach-role-policy命令并指定 A WS ConfigRole _ 的亚马逊资源名称 (ARN):

$ aws iam attach-role-policy --role-name myConfigRole --policy-arn arn:aws:iam::aws:policy/service-role/AWS_ConfigRole

管理 S3 存储桶录制的权限

Amazon Config在创建、更新或删除 S3 存储桶时记录并发送通知。

建议您使用AWSServiceRoleForConfig(参见使用服务相关角色Amazon Config)或使用AWS_ConfigRole托管策略的自定义 IAM 角色。有关配置记录最佳做法的更多信息,请参阅Amazon Config最佳实践

如果您需要管理存储桶记录的对象级权限,请确保在 S3 存储桶策略中提供对AWS_ConfigRole托管策略中所有 S3 相关权限的访问权限config.amazonaws.com(Amazon Config服务主体名称)。有关更多信息,请参阅 Amazon S3 存储桶的权限