為不同帳戶中的儲存貯體設定複寫 - Amazon Simple Storage Service

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

為不同帳戶中的儲存貯體設定複寫

即時複寫是自動、非同步地在相同或不同的 中跨儲存貯體複製物件 AWS 區域。即時複寫會將新建立的物件和物件更新從來源儲存貯體複製到目的地儲存貯體或儲存貯體。如需詳細資訊,請參閱在 區域內和跨 區域複寫物件

設定複寫時,會將複寫規則新增至來源儲存貯體。複寫規則會定義要複寫的來源儲存貯體物件,以及存放已複寫物件的目的地儲存貯體。您可以建立規則,以特定的金鑰名稱前綴、一或多個物件標籤、或兩種都用,複寫儲存貯體中的所有物件,或一部分的物件。目的地儲存貯體可以 AWS 帳戶 與來源儲存貯體位於相同的 ,也可以位於不同的 帳戶中。

如果您指定要刪除的物件版本 ID,Amazon S3 會刪除來源儲存貯體中的該物件版本。但不會在目的地儲存貯體中進行刪除。換句話說,它不會從目的地儲存貯體中刪除相同的物件版本。這可防止資料遭到惡意刪除。

當您將複寫規則新增至儲存貯體時,預設會啟用此規則,讓它在您儲存它之後立即運作。

在來源和目的地儲存貯體由不同 擁有時設定即時複寫, AWS 帳戶 類似於在兩個儲存貯體由相同帳戶擁有時設定複寫。不過,當您在跨帳戶案例中設定複寫時,存在幾個差異:

  • 目的地儲存貯體擁有者必須授予來源儲存貯體擁有者在目的地儲存貯體政策中複寫物件的許可。

  • 如果您要複寫在跨帳戶案例中使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 進行伺服器端加密的物件,KMS則金鑰的擁有者必須授予來源儲存貯體擁有者使用KMS金鑰的許可。如需詳細資訊,請參閱跨帳戶案例之授予其他許可

  • 根據預設,複寫的物件由來源儲存貯體擁有者擁有。在跨帳戶案例中,您可能想要設定複寫,將複寫物件的擁有權變更為目的地儲存貯體的擁有者。如需詳細資訊,請參閱變更複本擁有者

在來源和目的地儲存貯體由不同 擁有時設定複寫 AWS 帳戶
  1. 在此範例中,您可以在兩個不同的 中建立來源和目的地儲存貯體 AWS 帳戶。您必須為 設定兩個憑證設定檔 AWS CLI。此範例會acctB針對這些設定檔名稱使用 acctA和 。如需設定憑證設定檔和使用具名設定檔的相關資訊,請參閱 AWS Command Line Interface 使用者指南 中的組態和憑證檔案設定

  2. 請依照 中 step-by-step的指示為相同帳戶中的儲存貯體設定複寫進行下列變更:

    • 對於與來源儲存貯體活動相關的所有 AWS CLI 命令 (例如建立來源儲存貯體、啟用版本控制和建立IAM角色),請使用 acctA 設定檔。使用 acctB 設定檔建立目的地儲存貯體。

    • 請確定IAM角色的許可政策指定您為此範例建立的來源和目的地儲存貯體。

  3. 在主控台中,新增 destination 儲存貯體上的下列儲存貯體政策,來允許 source 儲存貯體擁有者複寫物件。如需說明,請參閱 使用 Amazon S3 主控台新增儲存貯體政策。請務必提供來源儲存貯體擁有者的 AWS 帳戶 ID、IAM角色名稱和目的地儲存貯體名稱來編輯政策。

    注意

    若要使用下列範例,請以您自己的資訊取代 user input placeholdersamzn-s3-demo-destination-bucket 以目的地儲存貯體名稱取代 。將 IAM Amazon Resource Name (ARN) source-bucket-account-ID:role/service-role/source-account-IAM-role中的 取代為您用於此複寫組態IAM的角色。

    如果您手動建立IAM服務角色,請將 中的角色路徑設定為 IAM ARN role/service-role/,如下列政策範例所示。如需詳細資訊,請參閱 使用者指南 IAM ARNs 中的 。 IAM

    { "Version":"2012-10-17", "Id":"", "Statement":[ { "Sid":"Set-permissions-for-objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":["s3:ReplicateObject", "s3:ReplicateDelete"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" }, { "Sid":"Set permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":["s3:GetBucketVersioning", "s3:PutBucketVersioning"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket" } ] }
  4. (選用) 如果您要複寫使用 SSE- 加密的物件KMS,則KMS金鑰擁有者必須授予來源儲存貯體擁有者使用KMS金鑰的許可。如需詳細資訊,請參閱跨帳戶案例之授予其他許可

  5. (選用) 在複寫中,來源物件的擁有者預設擁有複本。當來源和目的地儲存貯體由不同的 擁有時 AWS 帳戶,您可以新增選用的組態設定,將複本擁有權變更為 AWS 帳戶 擁有目的地儲存貯體的 。這包含授予 ObjectOwnerOverrideToBucketOwner 許可。如需詳細資訊,請參閱變更複本擁有者