使用庫存報告跨 複製物件 AWS 帳戶 - Amazon Simple Storage Service

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

使用庫存報告跨 複製物件 AWS 帳戶

您可以使用 Amazon S3 Batch Operations 對 Amazon S3 物件執行大規模的批次操作。您可以使用 S3 Batch Operations 建立複製 (CopyObject) 作業,將相同帳戶中的物件複製到不同的目的地帳戶。

您可以使用 Amazon S3 庫存清單建立庫存報告,並使用該報告建立要透過 S3 Batch Operations 複製的物件清單 (資訊清單)。如需更多有關在來源帳戶或目標帳戶中使用 CSV 資訊清單的資訊,請參閱「使用 CSV 資訊清單跨 複製物件 AWS 帳戶」。

Amazon S3 庫存會在儲存貯體中產生物件的庫存。結果清單將推送至一個輸出檔案。已進行庫存儲存貯體稱作來源儲存貯體,存放庫存報告檔案的儲存貯體則稱作目的地儲存貯體。

Amazon S3 庫存報告可設定為交付至另一個 AWS 帳戶。這樣做可讓 S3 Batch Operations 在目的地帳戶建立作業時讀取庫存報告。

如需 Amazon S3 清查來源和目的地儲存貯體的詳細資訊,請參閱「來源與目的地儲存貯體」。

設定清查最簡單的方式是使用 Amazon S3 主控台,但您也可以使用 Amazon S3 REST API、 AWS Command Line Interface (AWS CLI) 或 AWS SDKs。

下列主控台程序包含設定 S3 批次操作任務許可的高階步驟。在此程序中,您從來源帳戶複製物件至目的地帳戶,並將清查報告存放於目的地帳戶中。

設定來源與目標儲存貯體分屬於不同帳戶時的 Amazon S3 庫存
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 決定 (或建立) 用於儲存庫存報告的目的地資訊清單儲存貯體。在此程序中,目的地帳戶是擁有目的地資訊清單儲存貯體和物件複製的目的儲存貯體的帳戶。

  4. 設定來源儲存貯體的庫存報告。如需如何使用主控台設定清查或如何加密清查清單檔案的相關資訊,請參閱 設定 Amazon S3 清查

    設定庫存報告時,您會指定要在其中儲存清單的目的地儲存貯體。來源儲存貯體的庫存報告會推送至目的地儲存貯體。在此程序中,來源帳戶為擁有來源儲存貯體的帳戶。

    選擇 CSV 為輸出格式。

    在輸入目的地儲存貯體資訊時,請選擇 Buckets in another account (另一個帳戶中的儲存貯體)。然後,輸入該目的地資訊清單儲存貯體的名稱。(選用) 您可輸入目的地帳戶的帳戶 ID。

    在儲存庫存組態設定後,主控台會顯示類似以下的訊息:

    Amazon S3 無法在目的地儲存貯體建立儲存貯體政策。請要求目的地儲存貯體擁有者新增以下儲存貯體政策,以允許 Amazon S3 在該儲存貯體中放置資料。

    主控台隨後會顯示您可用於目的地儲存貯體的儲存貯體政策。

  5. 複製該顯示於主控台中的目的地儲存貯體政策。

  6. 在該目的地帳戶中,新增複製的儲存貯體政策至存放庫存報告的目的地資訊清單儲存貯體。

  7. 在以 S3 批次操作信任政策為基礎的目的地帳戶中建立角色。如需此信任政策的詳細資訊,請參閱信任政策

    如需建立角色的詳細資訊,請參閱《IAM 使用者指南》中的建立角色以將許可委派給 AWS 服務

    輸入角色的名稱 (下列範例角色使用 BatchOperationsDestinationRoleCOPY 作為名稱)。選擇 S3 服務,然後選擇 S3 Batch Operations 使用案例,以將信任政策套用至該角色。

    然後選擇 Create policy (建立政策) 以連接以下政策至角色。若要使用此政策,請以您自己的資訊取代 user input placeholders

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsDestinationObjectCOPY", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectVersionAcl", "s3:PutObjectAcl", "s3:PutObjectVersionTagging", "s3:PutObjectTagging", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*", "arn:aws:s3:::amzn-s3-demo-source-bucket/*", "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] }

    該角色會使用政策來授予 batchoperations.s3.amazonaws.com 權限以讀取目的地儲存貯體中的資訊清單。這也會授予來源物件儲存貯體中 GET 物件、存取控制清單 (ACL)、標籤和版本的許可,並授予目的地物件儲存貯體中 PUT 物件、ACL、標籤和版本的許可。

  8. 在來源帳戶中,為來源儲存貯體建立儲存貯體政策,將來源儲存貯體中 GET 物件、ACL、標籤和版本的許可授予您在上一個步驟中建立的角色。此步驟可允許 S3 批次操作透過信任的角色從來源儲存貯體取得物件。

    以下為來源帳戶的儲存貯體政策範例。若要使用此政策,請以您自己的資訊取代 user input placeholders

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceObjectCOPY", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::DestinationAccountNumber:role/BatchOperationsDestinationRoleCOPY" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*" } ] }
  9. 庫存報告可供使用之後,請在目的地帳戶中建立一個 S3 Batch Operations 複製 (CopyObject) 作業,並從目的地資訊清單儲存貯體選擇庫存報告。您需要在目的地帳戶中建立之 IAM 角色的 ARN。

    如需建立任務的一般資訊,請參閱「建立 S3 批次操作任務」。

    如需使用主控台建立作業的資訊,請參閱建立 S3 批次操作任務