本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定資料匯出的 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 儲存貯體。它還允許 Data Exports 驗證 S3 儲存貯體是否仍屬於建立匯出的帳戶。
-
若要將匯出交付至 S3 儲存貯體, AWS 需要該 S3 儲存貯體的寫入許可。為此,S3 儲存貯體政策會授予 Data Exports 服務 (
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 會Permission.FullControl
為這些報告授予 S3 儲存貯體擁有者。不過,建議您停用 ACL,並使用 S3 儲存貯體政策來控制存取。
注意
對於新建立的 S3 儲存貯體,預設會停用 ACLs。如需詳細資訊,請參閱控制物件的擁有權並停用儲存貯體的 ACL。
如果您在資料匯出主控台頁面中看到無效的儲存貯體錯誤,請確認政策和 S3 儲存貯體擁有權自報告設定以來並未變更。