分配给的 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 还支持这样的AWS:SourceArn条件,即限制 Config 服务委托人只能在代表拥有账户执行操作时担任 IAM 角色。使用 Amazon Config 服务主体时,该AWS:SourceArn属性将始终设置sourceRegionarn:aws:config:sourceRegion:sourceAccountID:*配置记录器的区域sourceAccountID,以及包含配置记录器的帐户的 ID。有关 Amazon Config 配置记录器的更多信息,请参阅管理配置记录器。例如,添加以下条件限制 Config 服务主体只能代表账户 123456789012us-east-1 区域中的配置记录器代入 IAM 角色:"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" } ] }

用于 Amazon SNS 主题的 IAM 角色策略

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

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

如果您的 SNS 主题已加密,要了解更多设置说明,请参阅《Amazon Simple Notification Service 开发人员指南》中的配置 Amazon KMS 权限

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

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

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

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

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

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

管理 S3 存储桶记录的权限

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

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

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