本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定用於資料匯出的 Amazon S3 儲存貯體
您的 AWS 帳戶中必須有 Amazon S3 儲存貯體,才能接收和存放資料匯出。在主控台中建立匯出時,您可以選取自己擁有的現有 S3 儲存貯體,也可以建立新儲存貯體。在任何一種情況下,您都需要檢閱並確認下列預設 S3 儲存貯體政策的應用程式。在 Amazon S3 主控台中編輯此政策,或在建立匯出後變更 S3 儲存貯體擁有者,防止資料匯出交付您的匯出。將匯出資料存放在 S3 儲存貯體按標準 Amazon S3 費率計費。如需詳細資訊,請參閱配額和限制。
注意
建立匯出的帳戶也必須擁有將匯出 AWS 傳送至的 S3 儲存貯體。避免使用另一個帳戶擁有的 S3 儲存貯體設定匯出。
建立資料匯出時,下列政策會套用至每個 S3 儲存貯體:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableAWSDataExportsToWriteToS3AndCheckPolicy", "Effect": "Allow", "Principal": { "Service": [ "billingreports.amazonaws.com", "bcm-data-exports.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:GetBucketPolicy" ], "Resource": [ "arn:aws:s3:::${bucket_name}/*", "arn:aws:s3:::${bucket_name}" ], "Condition": { "StringLike": { "aws:SourceAccount": "${accountId}", "aws:SourceArn": [ "arn:aws:cur:us-east-1:${accountId}:definition/*", "arn:aws:bcm-data-exports:us-east-1:${accountId}:export/*" ] } } } ] }
此 S3 儲存貯體政策可確保資料匯出只能代表建立匯出的帳戶將匯出交付至 S3 儲存貯體。它還允許資料匯出驗證 S3 儲存貯體是否仍屬於建立匯出的帳戶所有。
-
若要將匯出交付到 S3 儲存貯體, AWS 需要該 S3 儲存貯體的寫入許可。為此,S3 儲存貯體政策授予資料匯出服務 (
bcm-data-exports.amazonaws.com
) 權限,可將 (s3:PutObject
) 報表交付給您擁有的 S3 儲存貯體 (arn:aws:s3:::<EXAMPLE-BUCKET>/*
)。 -
每次資料匯出提出寫入 S3 儲存貯體的請求時,都必須提供建立匯出之帳戶的帳戶 ID。條件鍵
aws:SourceArn
並aws:SourceAccount
強制執行此操作。 -
此 S3 儲存貯體政策不會 AWS 授予讀取或刪除 S3 儲存貯體中任何物件的權限,包括交付後的成本和用量報告。
對於已啟用存取控制清單 (ACL) 的 Amazon S3 儲存貯體,資料匯出會在交付報告時將 BucketOwnerFullControl
ACL 套用至報告。依預設,Amazon S3 物件 (例如這些報告) 只能由編寫這些物件的使用者或服務主體讀取。若要向您或 S3 儲存貯體擁有者提供讀取報告的權限, AWS 需要套用 BucketOwnerFullControl
ACL。ACL 會授與這些報告的 S3 儲存貯Permission.FullControl
體擁有者。不過,建議您停用 ACL 並使用 S3 儲存貯體政策來控制存取。
注意
對於新建立的 S3 儲存貯體,ACL 預設為停用。如需詳細資訊,請參閱控制物件的擁有權並停用儲存貯體的 ACL。
如果您在 [資料匯出主控台] 頁面中看到無效儲存貯體錯誤,請確認自報表設定以來,政策和 S3 儲存貯體擁有權並未變更。