用于 CloudTrail Lake 查询结果的 Amazon S3 存储桶策略 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

用于 CloudTrail Lake 查询结果的 Amazon S3 存储桶策略

默认情况下,Simple Storage Service(Amazon S3)存储桶和对象都是私有的。仅资源所有者(创建存储桶的 Amazon 账户)能够访问存储桶及其包含的对象。资源所有者可以通过编写访问策略来向其他资源和用户授予访问权。

要将 CloudTrail Lake 查询结果传送到 S3 存储桶,CloudTrail 必须具有所需的权限,且不得配置为申请方付款存储桶。

CloudTrail 将在策略中添加以下字段:

  • 允许的 SID

  • 存储桶名称

  • CloudTrail 的服务委托方名称

作为安全最佳实践,请将 aws:SourceArn 条件密钥添加到 Simple Storage Service(Amazon S3)存储桶策略。IAM 全局条件密钥 aws:SourceArn 有助于确保 CloudTrail 仅针对事件数据存储向 S3 存储桶写入数据。

以下策略允许 CloudTrail 将查询结果从支持的 Amazon Web Services 区域 传送到存储桶。将 myBucketNamemyAccountIDmyQueryRunningRegion 替换为您配置的相应值。myAccountID 是用于 CloudTrail 的 Amazon 账户 ID,其可能与 S3 存储桶的 Amazon 账户 ID 不同。

注意

如果您的存储桶策略包含 KMS 密钥的声明,我们建议您使用完全限定的 KMS 密钥 ARN。如果您改为使用 KMS 密钥别名,Amazon KMS 将解析请求者账户中的密钥。这一行为可能导致使用属于请求者而不是存储桶拥有者的 KMS 密钥来加密数据。

如果这是组织事件数据存储,则事件数据存储 ARN 必须包含管理账户的 Amazon 账户 ID。这是因为管理账户保留对所有组织资源的所有权。

S3 存储桶策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailLake1", "Effect": "Allow", "Principal": {"Service": "cloudtrail.amazonaws.com"}, "Action": [ "s3:PutObject*", "s3:Abort*" ], "Resource": [ "arn:aws:s3:::myBucketName", "arn:aws:s3:::myBucketName/*" ], "Condition": { "StringLike": { "aws:sourceAccount": "myAccountID", "aws:sourceArn": "arn:aws:cloudtrail:myQueryRunningRegion:myAccountID:eventdatastore/*" } } }, { "Sid": "AWSCloudTrailLake2", "Effect": "Allow", "Principal": {"Service":"cloudtrail.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myBucketName", "Condition": { "StringLike": { "aws:sourceAccount": "myAccountID", "aws:sourceArn": "arn:aws:cloudtrail:myQueryRunningRegion:myAccountID:eventdatastore/*" } } } ] }

为 CloudTrail Lake 查询结果指定现有存储桶

如果您将某个现有 S3 存储桶指定为 CloudTrail Lake 查询结果传送的存储位置,则必须将策略附加到存储桶,以允许 CloudTrail 将查询结果传送到存储桶。

注意

最佳实践是对 CloudTrail Lake 查询结果使用专用的 S3 存储桶。

将所需的 CloudTrail 策略添加到 Simple Storage Service(Amazon S3)存储桶
  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 选择您希望 CloudTrail 向其传送 Lake 查询结果的存储桶,然后选择 Permissions(权限)。

  3. 选择编辑

  4. S3 bucket policy for query results 复制到 Bucket Policy Editor 窗口。将斜体占位符替换为您的存储桶、区域和账户 ID 的名称。

    注意

    如果现有存储桶已附加一个或多个策略,请将 CloudTrail 访问的语句添加到这些策略。评估生成的权限集,以确保其适用于访问存储桶的用户。

其他资源

有关 S3 存储桶和策略的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用存储桶策略