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

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

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

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

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

政策与合规结果

在中管理@@ 的 IAM 策略和其他策略 AWS Organizations可能会影响是否 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使用服务相关角色