設定不同帳戶內的儲存貯體複寫 - 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設定兩個憑證設定檔。此範例會針對這些設定檔名稱使用 acctAacctB。如需設定憑證設定檔和使用具名設定檔的相關資訊,請參閱《AWS Command Line Interface 使用者指南》中的組態和憑證檔案設定

  2. 依照設定相同帳戶內的儲存貯體複寫中的逐步說明操作,但要進行下列變更​:

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

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

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

    注意

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

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

    { "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 許可。如需詳細資訊,請參閱變更複本擁有者