為成本和用量報告設定 Amazon S3 儲存貯體 - AWS 資料匯出

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為成本和用量報告設定 Amazon S3 儲存貯體

若要接收帳單報告,您的 AWS 帳戶中必須有 Amazon S3 儲存貯體,才能接收和存放報告。在帳單主控台中建立成本和用量報告時,您可以選取自己擁有的現有 Amazon S3 儲存貯體或建立新儲存貯體。在任何一種情況下,系統都會要求您檢閱並確認下列預設值區政策的應用程式。在 Amazon S3 主控台中編輯此政策,或在建立成本和用量報告後變更儲存貯體擁有者,將無 AWS 法交付報告。將帳單報告資料存放在 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}" } } } ] }

此預設政策有助於確保值區擁有者可以讀取「成本和使用情況報告」資料,並確認值區是由建立「成本和使用量報告」的帳戶所擁有。具體而言:

  • 每次傳送「成本與用量報表」時,都會 AWS 先確認該值區是否仍屬於設定報表的帳戶所擁有。如果值區擁有權已變更,將不會傳送報告。這有助於確保帳戶帳單資料的安全性。此值區政策允許 AWS ("Effect": "Allow") 檢查擁有值區 ("Action": ["s3:GetBucketAcl", "s3:GetBucketPolicy") 的帳號。

  • 若要將報告交付到 Amazon S3 儲存貯體, AWS 需要該儲存貯體的寫入許可。為此,值區政策會授予 ("Effect": "Allow")「 AWS 成本和使用情況報告」服務 ("Service": "billingreports.amazonaws.com") 權限,以將 ("Action": "s3:PutObject") 報告傳遞至您擁有的值區 ("Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*")。

    此儲存貯體政策不會 AWS 授予讀取或刪除值區中任何物件的權限,包括交付後的成本和使用情況報告。

  • 對於已啟用 ACL 的 Amazon S3 儲存貯體,在交付報告時,會 AWS 進一步將 BucketOwnerFullControl ACL 套用至報告。依預設,Amazon S3 物件 (例如這些報告) 只能由編寫這些物件的使用者或服務主體讀取。若要提供您或值區擁有者讀取報告的權限, AWS 必須套用 BucketOwnerFullControl ACL。ACL 會授與這些報表的值區擁有者Permission.FullControl。不過,建議您停用 ACL,並使用 Amazon S3 儲存貯體政策來控制存取。請注意,Amazon S3 已變更預設設定,對於新建立的儲存貯體,ACL 預設為停用。如需詳細資訊,請參閱控制物件的擁有權並停用儲存貯體的 ACL

如果您在「成本和用量報告」的計費主控台中看到「無效值區」錯誤,請確認此政策和值區擁有權在設定報告後並未變更。