分配给的IAM角色的权限 AWS Config - AWS Config

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

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

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

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

创建 IAM 角色策略

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

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

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

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

以下是 AWS 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 服务主体仅在代表特定账户执行操作时与 AWS IAM角色交互。

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

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

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

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

IAMKMSKey 的角色策略

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

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

IAMAmazon 角色政策SNS主题

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

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

如果您的SNS主题已加密以获取其他设置说明,请参阅《Amazon 简单通知服务开发者指南》中的配置 AWS KMS 权限

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

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

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

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

如果您使用 AWS CLI,请使用attach-role-policy命令并为以下项指定 Amazon 资源名称 (ARN) AWS_ConfigRole

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

管理 S3 存储桶记录的权限

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

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

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