本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
分配给的 IAM 角色的权限 AWS Config
IAM 角色允许您定义一组权限。 AWS Config 担任您分配给它的角色来写入您的 S3 存储桶、发布到您的 SNS 主题以及发出Describe
或 List
API 请求以获取 AWS 资源的配置详细信息。有关 IAM 角色的更多信息,请参阅《IAM 用户指南》中的 IAM 角色。
当您使用 AWS Config 控制台创建或更新 IAM 角色时, AWS Config 会自动为您附加所需的权限。有关更多信息,请参阅 使用控制 AWS Config 台进行设置。
政策与合规结果
目录
创建 IAM 角色策略
当您使用 AWS Config 控制台创建 IAM 角色时, AWS Config 会自动为您附加该角色所需的权限。
如果您使用 AWS CLI 进行设置 AWS Config 或更新现有 IAM 角色,则必须手动更新策略以允许 AWS Config 访问您的 S3 存储桶、发布到您的 SNS 主题并获取有关您的资源的配置详细信息。
将 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
属性将始终设置为arn:aws:config:sourceRegion:sourceAccountID:*
客户管理的配置记录器的区域,以及sourceAccountID
包含客户管理的配置记录器的帐户的 ID。sourceRegion
例如,添加以下条件限制 Config 服务委托人仅代表账户中该us-east-1
区域的客户托管配置记录器担任 IAM 角色123456789012
:"ArnLike":
{"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}
。
用于 S3 存储桶的 IAM 角色策略
以下示例策略授予访问您的 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
" } ] }
KMS 密钥的 IAM 角色策略
以下示例策略授予对新对象使用基于 KMS 的加密以进行 S3 存储桶交付的 AWS Config 权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "
myKMSKeyARN
" } ] }
用于 Amazon SNS 主题的 IAM 角色策略
以下示例策略授予访问您的 SNS 主题的 AWS Config 权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"sns:Publish", "Resource":"
mySNStopicARN
" } ] }
如果您的 SNS 主题已加密,要了解更多设置说明,请参阅《Amazon Simple Notification Service 开发人员指南》中的配置 AWS KMS 权限。
用于获取配置详细信息的 IAM 角色策略
建议使用 AWS Config 服务相关角色:AWSServiceRoleForConfig
。服务相关角色是预定义的,包括调用其他 AWS 服务角色 AWS Config 所需的所有权限。 AWS Config 服务相关配置记录器需要服务相关角色。有关更多信息,请参阅为 AWS Config使用服务相关角色。
如果您使用控制台创建或更新角色,请AWSServiceRoleForConfig为您 AWS Config 附加。
如果您使用 AWS CLI,请使用attach-role-policy
命令并为以下项指定 Amazon 资源名称 (ARN):AWSServiceRoleForConfig
$
aws iam attach-role-policy --role-name
myConfigRole
--policy-arn arn:aws:iam::aws:policy/service-role/AWSServiceRoleForConfig
管理 S3 存储桶记录的权限
AWS Config 在创建、更新或删除 S3 存储桶时记录和发送通知。
建议使用 AWS Config 服务相关角色:AWSServiceRoleForConfig
。服务相关角色是预定义的,包括调用其他 AWS 服务角色 AWS Config 所需的所有权限。 AWS Config 服务相关配置记录器需要服务相关角色。有关更多信息,请参阅为 AWS Config使用服务相关角色。