使用傳遞至目的地帳戶的清查報告,在 AWS 帳戶 間複製物件 - Amazon Simple Storage Service

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

使用傳遞至目的地帳戶的清查報告,在 AWS 帳戶 間複製物件

您可以使用 Amazon S3 清查功能建立清查報告,並使用該報告建立要使用 S3 批次操作複製的物件清單。如需更多有關在來源帳戶或目標帳戶中使用 CSV 資訊清單的資訊,請參閱「使用儲存在來源帳戶中的 CSV 資訊清單,以在 AWS 帳戶 間複製物件」。

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

Amazon S3 庫存報告可設定為交付至另一個 AWS 帳戶。當任務係建立於目的地帳戶時,這可讓 S3 批次操作能讀取庫存報告。

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

設定最簡單的方法是使用 AWS Management Console,但您也可以使用 REST API、AWS Command Line Interface (AWS CLI) 或 AWS 開發套件。

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

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

  2. 選擇存放庫存報告的目標儲存貯體。

    決定存放庫存報告的目的地資訊清單儲存貯體。在此程序中,目的地帳戶是擁有目的地資訊清單儲存貯體和物件複製的目的儲存貯體的帳戶。

  3. 設定清查以列出來源儲存貯體的物件,並將清單發佈至目標資訊清單儲存貯體。

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

    如需如何使用主控台設定清查或如何加密清查清單檔案的相關資訊,請參閱 設定 Amazon S3 清查

    選擇 CSV 為輸出格式。

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

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

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

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

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

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

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

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

    為角色輸入名稱 (範例角色使用 BatchOperationsDestinationRoleCOPY 為名稱)。選擇 S3 (S3) 服務,然後選擇 S3 bucket Batch Operations (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:::ObjectDestinationBucket/*", "arn:aws:s3:::ObjectSourceBucket/*", "arn:aws:s3:::ObjectDestinationManifestBucket/*" ] } ] }

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

  7. 在來源帳戶中建立來源儲存貯體的儲存貯體政策,以在來源儲存貯體中授予角色至您上一步驟中的 GET 物件、ACL、標籤和版本。此步驟可允許 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:::ObjectSourceBucket/*" } ] }
  8. 庫存報告可供使用後,請在目的地帳戶中建立一個 S3 批次操作 PUT 物件複製任務,並從目的地資訊清單儲存貯體選擇庫存報告。您需要在目的地帳戶中建立的角色 ARN。

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

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