Amazon Config交付渠道 KMS 密钥的权限 - Amazon Config
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Config交付渠道 KMS 密钥的权限

如果您想为 S3 存储桶的Amazon KMS密钥创建策略,允许您对由Amazon Config S3 存储桶交付的对象使用基于 KMS 的加密,请使用本主题中的信息。

使用 IAM 角色(S3 存储桶传输)时 KMS 密钥的必需权限

如果您Amazon Config使用 IAM 角色进行设置,则可以将以下权限策略附加到 KMS 密钥:

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "*myKMSKeyARN*", "Principal": { "AWS": [ "account-id1", "account-id2", "account-id3" ] } } ] }
注意

如果 IAM 角色、Amazon S3 存储桶策略或Amazon KMS密钥未提供对Amazon Config的适当访问权限Amazon Config,则尝试向 Amazon S3 存储桶发送配置信息将失败。在这种情况下,再次Amazon Config发送信息,这次是作为Amazon Config服务主体。在这种情况下,您必须将下文提到的权限策略附加到Amazon KMS密钥,以授予在向 Amazon S3 存储桶传送信息时使用该密钥的Amazon Config权限。

使用服务相关角色时Amazon KMS密钥所需的权限(S3 存储桶交付)

Amazon Config服务相关角色无权访问Amazon KMS密钥。因此,如果您Amazon Config使用服务相关角色进行设置,则Amazon Config将改为以Amazon Config服务主体身份发送信息。您需要在Amazon KMS密钥上附加访问策略(如下所述),以便在向 Amazon S3 存储桶传送信息时授予使用该Amazon KMS密钥的Amazon Config权限。

授予对Amazon KMS密钥的Amazon Config访问权限

此策略Amazon Config允许在向 Amazon S3 存储桶传送信息时使用Amazon KMS密钥

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "myKMSKeyARN", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } } ] }

替换密钥策略中的以下值:

  • myKMSKeyARN— 用于加密Amazon Config将向其传送配置项目的 Amazon S3 存储桶中数据的Amazon KMS密钥的 ARN。

  • sourceAccountID—Amazon Config将向其传送配置项目的账户的 ID。

您可以使用上述Amazon KMS密钥策略中的AWS:SourceAccount条件来限制 Config 服务主体仅在代表特定账户执行操作时与Amazon KMS密钥交互。

Amazon Config还支持这样的AWS:SourceArn条件,即限制 Config 服务委托人仅在代表特定Amazon Config交付渠道执行操作时与 Amazon S3 存储桶进行交互。使用Amazon Config服务主体时,该AWS:SourceArn属性将始终设置为交付渠道arn:aws:config:sourceRegion:sourceAccountID:*所在sourceRegion区域的位置,并且sourceAccountID是包含配送渠道的账户的 ID。有关Amazon Config配送渠道的更多信息,请参阅管理交付渠道。例如,添加以下条件以限制 Config 服务主体仅代表账户 123456789012us-east-1 区域中的传输通道与您的 Amazon S3 存储桶进行交互:"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}