同一アカウントクロスリージョンレプリケーション (CRR) を使用すると、Object Storage Service (OSS) オブジェクトを、同じ Alibaba Cloud アカウント内の 1 つのリージョンのバケットから別のリージョンの別のバケットに、自動的かつ非同期的に (ほぼリアルタイムで) レプリケーションできます。同一アカウント CRR は、オブジェクトの作成、上書き、削除などの操作をソースバケットからデスティネーションバケットにレプリケーションします。このトピックでは、同一アカウント内で CRR を実行する方法について説明します。
前提条件
CRR タスクのソースバケットとして機能するバケット A が、Alibaba Cloud アカウント内のリージョンに作成されます。Alibaba Cloud アカウントの ID、バケット A の名前、およびバケット A が配置されているリージョンが記録されます。
CRR タスクのデスティネーションバケットとして機能するバケット B が、同じ Alibaba Cloud アカウント内の別のリージョンに作成されます。バケット B の名前とバケット B が配置されているリージョンが記録されます。
ロールタイプ
同一アカウント内で CRR を実行する場合、ソースバケットとデスティネーションバケット間でオブジェクトをレプリケーションするために使用されるロールを指定する必要があります。同一アカウント内で CRR を実行するには、次の RAM ロールのいずれかを選択できます。
RAM ユーザーを使用して RAM ロールを作成できます。RAM ユーザーには、ram:CreateRole
、ram:GetRole
、ram:ListPoliciesForRole
、ram:AttachPolicyToRole
などの権限が必要です。ただし、RAM ユーザーに ram:CreateRole
や ram:GetRole
などの権限を付与することは危険です。RAM ユーザーが関連付けられている Alibaba Cloud アカウントを使用して RAM ロールを作成し、必要な権限を RAM ロールに付与できます。その後、RAM ユーザーは Alibaba Cloud アカウントによって作成された RAM ロールを引き受けることができます。
(推奨) 新しい RAM ロール
同一アカウント内で CRR を実行するルールを作成する場合、RAM ロールを作成できます。[RAM ロールの名前] ドロップダウンリストから [新しい RAM ロール] を選択すると、oss-replication-{uuid}
形式の RAM ロールが自動的に作成され、[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定したかどうかによって、ロールに異なるポリシーがアタッチされます。
[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定します
RAM ロールを作成した後、画面の指示に従って必要なポリシーをロールにアタッチします。その後、RAM ロールは、ソースバケットからデスティネーションバケットにデータをレプリケーションするためのポリシーと、Key Management Service (KMS) を管理するための AliyunKMSFullAccess ポリシーにアタッチされます。
[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [いいえ] に設定します
RAM ロールを作成した後、画面の指示に従って必要なポリシーをロールにアタッチします。その後、RAM ロールは、ソースバケットからデスティネーションバケットにデータをレプリケーションするためのポリシーにアタッチされます。
AliyunOSSRole
同一アカウント内で CRR を実行するルールを作成する場合、AliyunOSSRole ロールを選択してデータレプリケーションタスクを完了できます。AliyunOSSRole を選択すると、[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定したかどうかによって、AliyunOSSRole ロールに異なるポリシーがアタッチされます。
[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [はい] に設定します
AliyunOSSRole を選択すると、AliyunOSSFullAccess (OSS を管理するための権限) と AliyunKMSFullAccess (KMS を管理するための権限) というポリシーが AliyunOSSRole ロールに自動的にアタッチされます。
警告AliyunOSSRole ロールには、現在の Alibaba Cloud アカウントと KMS 内のすべてのバケットに対するすべての操作を実行するための権限があります。このロールを使用する場合は注意してください。
[KMS に基づいて暗号化されたオブジェクトをレプリケーションする] を [いいえ] に設定します
AliyunOSSRole を選択すると、AliyunOSSFullAccess ポリシーが AliyunOSSRole ロールに自動的にアタッチされます。
警告AliyunOSSRole ロールには、現在の Alibaba Cloud アカウント内のすべてのバケットに対するすべての操作を実行するための権限があります。このロールを使用する場合は注意してください。
カスタムロール
同一アカウント内で CRR を実行するルールを作成する場合、カスタムロールを使用してデータレプリケーションタスクを完了できます。RAM コンソールでカスタムロールを作成し、必要なポリシーをカスタムロールにアタッチする必要があります。
通常のサービロールを作成します。
ロールを作成するときは、[信頼できるエンティティを選択] を [alibaba Cloud サービス] に設定し、[信頼できるサービスを選択] を [OSS] に設定します。詳細については、「通常のサービロールを作成する」をご参照ください。
RAM ロールに権限を付与します。
次のいずれかの方法を使用して、RAM ロールに権限を付与できます。
必要なシステムポリシーを RAM ロールにアタッチする
警告AliyunOSSFullAccess
システムポリシーを RAM ロールにアタッチします。AliyunOSSFullAccess
システムポリシーがアタッチされている RAM ロールには、現在の Alibaba Cloud アカウント内のすべてのバケットに対するすべての操作を実行するための権限があります。システムポリシーを RAM ロールにアタッチする場合は注意して進めてください。KMS によって暗号化されたオブジェクトをデスティネーションバケットにレプリケーションする場合は、
AliyunKMSFullAccess
システムポリシーを RAM ロールにアタッチする必要があります。詳細については、「RAM ロールに権限を付与する」をご参照ください。
カスタムポリシーを RAM ロールにアタッチする
カスタムポリシーを RAM ロールにアタッチして、ソースバケットとデスティネーションバケットで CRR を実行するために必要な最小限の権限をロールに付与できます。
説明ビジネス要件に基づいて、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
システムポリシーを RAM ロールにアタッチする必要があります。