为成本和使用率报告设置 Amazon S3 存储桶 - Amazon 成本和使用情况报告
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

为成本和使用率报告设置 Amazon S3 存储桶

要接收账单报告,您的服务中必须有一个 Amazon S3 存储桶。Amazon用来接收和存储报告的账户。在账单控制台中设置成本和使用情况报告时,您可以选择您拥有的现有 Amazon S3 存储桶或设置新存储桶。无论哪种情况,都将要求您查看并确认以下默认存储桶策略的应用程序。在 Amazon S3 控制台中编辑此策略或在设置成本和使用情况报告后更改存储桶拥有者将防止Amazon无法提供你的报告。将账单报告数据存储在 Amazon S3 存储桶的操作将按标准 Amazon S3 费率计费。有关更多信息,请参阅 配额和限制

在设置成本和使用情况报告期间,以下策略适用于每个存储桶:

{ "Statement": [ { "Effect": "Allow", "Principal": { "Service": "billingreports.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketPolicy" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cur:us-east-1:${AccountId}:definition/*", "aws:SourceAccount": "${AccountId}" } } }, { "Sid": "Stmt1335892526596", "Effect": "Allow", "Principal": { "Service": "billingreports.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cur:us-east-1:${AccountId}:definition/*", "aws:SourceAccount": "${AccountId}" } } } ] }

此默认策略有助于确保存储桶拥有者可以读取成本和使用情况报告数据,并确认存储桶归设置成本和使用情况报告的账户所有。具体来说:

  • 每次交付成本和使用情况报告时,Amazon首先确认存储桶是否仍由设置报告的账户拥有。如果存储桶所有权发生了更改,则报告将不会交付。这有助于确保账户账单数据的安全性。此存储桶策略允许Amazon("Effect": "Allow") 来检查哪个账户拥有该存储桶("Action": ["s3:GetBucketAcl", "s3:GetBucketPolicy")。

  • 要将报告交付给存储桶,Amazon需要该存储桶的写入权限。为此,存储桶策略授予("Effect": "Allow")Amazon成本和使用率报告服务 ("Service": "billingreports.amazonaws.com") 交付权限 ("Action": "s3:PutObject") 向您拥有的存储桶报告 ("Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*")。

    此存储桶策略不给Amazon读取或删除存储桶中任何对象的权限,包括成本和使用情况报告在交付后的权限。

  • 为确保存储桶拥有者可以访问这些报告,Amazon进一步应用BucketOwnerFullControl交付报告时访问报告。默认情况下,Amazon S3 对象(如这些报告)只能由编写这些报告的用户或服务委托人读取。向您或存储桶拥有者提供阅读报告的权限Amazon必须应用BucketOwnerFullControlACL。ACL 授予存储桶拥有者Permission.FullControl对于这些报告。

如果你看到无效存储桶成本和使用情况报告的账单控制台出现错误,您应验证此策略和存储桶所有权在设置报告后没有更改。