AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

授予加密权限

例 让 CloudTrail 能够代表特定的账户加密日志

CloudTrail 需要显式的权限才能代表特定的账户使用 CMK 加密日志。要指定账户,请向 CMK 策略添加下面的必要声明,根据需要修改 aws-account-id。您可以向 EncryptionContext 部分添加额外的账户 ID,以使这些账户能够使用 CloudTrail 借助您的 CMK 加密日志文件。

{ "Sid": "Allow CloudTrail to encrypt logs", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com.cn" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws-cn:cloudtrail:*:aws-account-id:trail/*" ] } } }

下面的示例策略声明演示了其他账户如何使用您的 CMK 加密 CloudTrail 日志。

场景

  • 您的 CMK 位于账户 111111111111 中。

  • 您和账户 222222222222 都将加密日志。

在此策略中,您向 CloudTrail EncryptionContext 添加了一个或多个将使用您的密钥执行加密操作的账户。这会限制 CloudTrail 只能对您指定的账户使用您的密钥来加密日志。如果向账户 222222222222 的根账户授予加密日志的权限,将会委派该账户的管理员通过更改账户 222222222222 中其他用户的 IAM 用户策略,根据需要为这些用户分配加密权限。

CMK 策略声明:

{ "Sid": "Enable CloudTrail Encrypt Permissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com.cn" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": [ "arn:aws-cn:cloudtrail:*:111111111111:trail/*", "arn:aws-cn:cloudtrail:*:222222222222:trail/*" ] } } }

有关编辑 CMK 策略以用于 CloudTrail 的步骤,请参阅 AWS Key Management Service Developer Guide 中的编辑密钥策略