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

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

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

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

您可以使用 Amazon S3 清查來建立清查報告,並使用報告來建立要透過 S3 批次操作複製的物件清單 (清單)。如需在來源或目的地帳戶中使用 CSV 資訊清單的詳細資訊,請參閱 使用 CSV 資訊清單來跨 複製物件 AWS 帳戶

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

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

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

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

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

設定來源與目標儲存貯體分屬於不同帳戶時的 Amazon S3 庫存
  1. 登入 AWS Management Console 並在 Word 開啟 Amazon S3 主控台。 https://console.aws.amazon.com/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 批次操作使用案例,將信任政策套用至角色。

    然後選擇 Create policy (建立政策) 以連接以下政策至角色。若要使用此政策,請取代 使用者輸入預留位置 使用您自己的資訊。

    { "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物件、存取控制清單 (ACLs)、標籤和版本。而且它將PUT物件、ACLs、標籤和版本的許可授予目的地物件儲存貯體。

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

    以下為來源帳戶的儲存貯體政策範例。若要使用此政策,請取代 使用者輸入預留位置 使用您自己的資訊。

    { "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 批次操作複製 (CopyObject) 任務,然後從目的地資訊清單儲存貯體中選擇庫存報告。您需要 ARN 作為您在目的地帳戶中建立的 IAM 角色。

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

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