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

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

KMS 密钥的权限

为 Amazon S3 KMS 密钥创建策略,允许您对传输的对象使用基于 KMS 的加密Amazon Config用于 S3 存储桶交付。

使用 IAM 角色时 KMS 密钥所需的权限(S3 存储桶交付)

如果您设置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 Config在将信息传输到 Amazon S3 存储桶时有权使用密钥。

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

如果您设置Amazon Config使用服务相关角色,您需要将以下权限策略附加到 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— 的 ARNAmazon KMS用于加密 Amazon S3 存储桶中数据的密钥Amazon Config会将配置项目交付给。

  • 来源 AccountID— 该账户的 IDAmazon Config会将配置项目交付给。

您可以使用AWS:SourceAccount中的条件Amazon KMS上面的密钥策略限制Config 服务主体只能与Amazon KMS代表特定账户执行操作时的关键。

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