同一アカウント内のクロスリージョンレプリケーションは、同一アカウント配下のあるリージョンにあるソースバケットから、別のリージョンにある送信先バケットに、オブジェクトの作成、更新、削除などの操作を自動的かつ非同期 (ほぼリアルタイム) でレプリケートします。 このトピックでは、同一アカウント内でクロスリージョンレプリケーションを設定する方法について説明します。
前提条件
特定のリージョンにソースバケットとして機能するバケット (バケット A) を作成済みであること。 Alibaba Cloud アカウント ID、バケット A の名前、およびそのリージョンを記録しておいてください。
同一アカウント配下の別のリージョンに送信先バケットとして機能する別のバケット (バケット B) を作成済みであること。 バケット B の名前とそのリージョンを記録しておいてください。
ロールタイプ
クロスリージョンレプリケーションを設定する際、Object Storage Service (OSS) がソースバケットと送信先バケット間でオブジェクトをレプリケートするために使用するロールを指定する必要があります。 次のいずれかのロールタイプを使用できます。
RAM ユーザーがロールを作成するには、ram:CreateRole、ram:GetRole、ram:ListPoliciesForRole、および ram:AttachPolicyToRole の権限が必要です。 しかし、ram:CreateRole や ram:GetRole のようなロール関連の権限を RAM ユーザーに付与すると、セキュリティリスクが生じます。 セキュリティを向上させるために、Alibaba Cloud アカウントを使用して RAM ロールを作成し、必要な権限を付与することを推奨します。 これにより、RAM ユーザーはそのロールを直接使用できます。
(推奨) 新しいロールの作成
クロスリージョンレプリケーションルールを作成する際に、新しいロールを作成することを選択できます。 ロールは oss-replication-{uuid} の形式の名前で自動的に作成されます。 このロールにアタッチされる権限ポリシーは、Key Management Service (KMS) で暗号化されたオブジェクトをレプリケートするかどうかによって異なります。
KMS で暗호化されたオブジェクトのレプリケート
ロールが作成された後、画面の指示に従って権限を付与します。 承認されると、ロールにはソースバケットから送信先バケットへのレプリケーションのためのきめ細かい権限ポリシーと、KMS を管理するための AliyunKMSCryptoUserAccess ポリシーが付与されます。
KMS で暗号化されたオブジェクトをレプリケートしない
ロールが作成された後、画面の指示に従って権限を付与します。 承認されると、ロールにはソースバケットから送信先バケットへのレプリケーションのためのきめ細かい権限ポリシーが付与されます。
AliyunOSSRole
クロスリージョンレプリケーションルールを作成する際に、AliyunOSSRole を選択してレプリケーションタスクを完了できます。 このロールを選択した場合、KMS で暗号化されたオブジェクトをレプリケートするかどうかに基づいて、異なる権限ポリシーがアタッチされます。
KMS で暗号化されたオブジェクトのレプリケート
AliyunOSSRole を選択すると、AliyunOSSFullAccess (OSS の管理用) および AliyunKMSCryptoUserAccess (KMS の管理用) ポリシーが自動的にロールにアタッチされます。
警告このロールには、アカウント配下のすべてのバケットと KMS キーに対する完全なアクセス権があります。 権限が広範であるため、このロールは注意して使用してください。
KMS で暗号化されたオブジェクトをレプリケートしない
AliyunOSSRole を選択すると、AliyunOSSFullAccess ポリシー (OSS の管理用) が自動的にロールにアタッチされます。
警告このロールには、アカウント配下のすべてのバケットに対する完全なアクセス権があります。 権限が広範であるため、このロールは注意して使用してください。
カスタムロール
クロスリージョンレプリケーションルールを作成する際に、カスタムロールを使用してレプリケーションタスクを完了できます。 RAM コンソールでカスタムロールを作成し、必要な権限をロールに付与する必要があります。
通常のサービスロールの作成
ロール作成中に、信頼されたエンティティとして [Alibaba Cloud Service] を、信頼されたサービスとして [OSS] を選択します。 詳細については、「通常のサービスロールの作成」をご参照ください。
ロールへの権限の付与
次のいずれかの方法でロールに権限を付与できます。
システムポリシーのアタッチ
警告AliyunOSSFullAccessシステムポリシーを RAM ロールにアタッチできます。 デフォルトでは、AliyunOSSFullAccessは現在のアカウント配下のすべてのバケットに対する完全な権限を提供します。 このポリシーは注意して使用してください。KMS で暗号化されたオブジェクトを送信先バケットにレプリケートする場合は、
AliyunKMSFullAccessシステムポリシーもロールにアタッチする必要があります。詳細については、「RAM ロールの権限管理」をご参照ください。
カスタムポリシーのアタッチ
RAM ポリシーを使用して、ソースバケット (
src-bucket) から送信先バケット (dest-bucket) へのレプリケーションに必要な最小限の権限を付与します。説明ソースバケットと送信先バケットの名前を実際のバケット名に置き換えてください。
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "oss:ReplicateList", "oss:ReplicateGet" ], "Resource":[ "acs:oss:*:*:src-bucket", "acs:oss:*:*:src-bucket/*" ] }, { "Effect":"Allow", "Action":[ "oss:ReplicateList", "oss:ReplicateGet", "oss:ReplicatePut", "oss:ReplicateDelete" ], "Resource":[ "acs:oss:*:*:dest-bucket", "acs:oss:*:*:dest-bucket/*" ] } ] }詳細については、「RAM ロールの権限管理」をご参照ください。
説明KMS で暗号化されたオブジェクトを送信先バケットにレプリケートする場合は、
AliyunKMSFullAccessシステムポリシーもロールにアタッチする必要があります。
同一アカウント内でリージョンをまたいでデータをレプリケートする場合、OSS はレプリケーションに使用される RAM ロールの権限ポリシーのみを検証します。 ソースバケットまたは送信先バケットのバケットポリシーはチェックしません。