必要な権限は、アカウント間のデータレプリケーションと同じアカウント内のデータレプリケーションで異なります。 データレプリケーションタスクを完了するには、Object Storage Service (OSS) が引き受けるRAMロールに必要なレプリケーション権限を付与する必要があります。
使用状況ノート
各レプリケーション操作には、レプリケーション権限のコレクションが必要です。 OSSは、データの複製に必要な権限を取得するために作成したRAMロールを引き受けます。
RAMロールの権限ポリシーで指定されたリソースは、現在のAlibaba Cloudアカウント内のリソースのみを参照します。 したがって、アカウント間のデータ複製と同じアカウント内のデータ複製に必要なポリシーは異なります。
同じアカウント内のデータレプリケーション: ソースバケットと宛先バケットは、同じAlibaba Cloudアカウント内のリソースです。 したがって、Alibaba Cloudアカウント内のRAMロールに、ソースバケットとターゲットバケットのレプリケーション権限を付与できます。
アカウント間のデータレプリケーション: ソースバケットと宛先バケットは、2つの異なるAlibaba Cloudアカウントに属するリソースです。 このトピックでは、クロスアカウントデータレプリケーションのソースバケットと宛先バケットは、それぞれアカウントAとアカウントBに属します。 ソースバケットから宛先バケットへのデータレプリケーションを許可するには、アカウントaのRAMロールにRAMポリシーをアタッチし、アカウントBの宛先バケットにバケットポリシーを指定して、アカウントAのRAMロールに必要な権限を付与する必要があります。
同じアカウントのデータレプリケーションに必要なRAMロールの権限
このセクションでは、同じアカウント内でのデータ複製にRAMロールが必要とする信頼ポリシーと最小限の権限について説明します。
RAMロールに必要な信頼ポリシー
次の信頼ポリシーがRAMロールにアタッチされています。 OSSは信頼できるエンティティとして選択され、データを複製するためのRAMロールを引き受けることが許可されています。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "oss.aliyuncs.com" ] } } ], "バージョン": "1" }
RAMロールに最低限必要な権限
RAMポリシーを使用して、ソースバケットとターゲットバケットでデータ複製を実行するために必要な最小限の権限をRAMロールに付与できます。
{ "バージョン":"1" 、 "ステートメント":[ { "効果":"許可" 、 "Action":[ "oss:ReplicateList" 、 "oss:ReplicateGet" ], "Resource":[ "acs:oss:*:*:src-bucket" 、 "acs:oss:*:*:src-bucket/*" ] }, { "効果":"許可" 、 "Action":[ "oss:ReplicateList" 、 "oss:ReplicateGet" 、 "oss:ReplicatePut" 、 "oss:ReplicateDelete" ], "Resource":[ "acs:oss:*:*:dest-bucket" 、 "acs:oss:*:*:dest-bucket/*" ] } ] }
操作
Action
説明
oss:ReplicateList
レプリケーションプロセスのアクセス許可を一覧表示します。 これにより、OSSはソースバケット内の履歴データを一覧表示し、履歴データを宛先バケットにレプリケートできます。
oss:ReplicateGet
レプリケーションプロセスの読み取り権限。 これにより、OSSは、オブジェクト、パーツ、マルチパートアップロードタスクなど、ソースバケットと宛先バケットからデータとメタデータを読み取ることができます。
oss:ReplicatePut
レプリケーションプロセスの書き込み権限。 これにより、OSSは、オブジェクトの書き込み、マルチパートアップロードタスク、パーツ、シンボリックリンク、オブジェクトメタデータの変更など、宛先バケットに対する書き込み操作を実行できます。
oss:ReplicateDelete
レプリケーションプロセスの削除権限。 これにより、OSSは宛先バケットに対してDeleteObject、AbortMultipartUpload、DeleteMarkerなどの削除操作を実行できます。
重要この操作は、レプリケーションポリシーを追加 /削除 /変更に設定した場合にのみ必要です。
クロスアカウントデータレプリケーションに必要なRAMロールの権限
異なるAlibaba Cloudアカウントに属する2つのバケットは、アカウント間のデータレプリケーションに必要です。 次の項目では、アカウント間のデータ複製にRAMロールが必要とする信頼ポリシーと最小限の権限について説明します。
ソースバケットのアカウントに必要なRAMロール権限付与
RAMロールに必要な信頼ポリシー
アカウント間のデータレプリケーションのRAMロールに必要な信頼ポリシーは、同じアカウント内のデータレプリケーションに必要なものと同じです。 アカウントAを使用して、必要な信頼ポリシーをRAMロールにアタッチする必要があります。 詳細については、「RAMロールに必要な信頼ポリシー」をご参照ください。
RAMロールに最低限必要な権限
アカウント間のデータレプリケーションのアクションに対応する権限の詳細については、「アクション」をご参照ください。
アカウントAを使用して、データ複製に必要な最小限の権限をアカウントのRAMロールに付与するRAMポリシーを指定します。
{ "バージョン":"1" 、 "ステートメント":[ { "効果":"許可" 、 "Action":[ "oss:ReplicateList" 、 "oss:ReplicateGet" ], "Resource":[ "acs:oss:*:*:src-bucket" 、 "acs:oss:*:*:src-bucket/*" ] } ] }
宛先バケットのアカウントに必要なRAMロール権限付与
アカウントBを使用して、アカウントaのRAMロールにデータレプリケーションに必要な最小限の権限を付与するバケットポリシーを指定します。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ReplicateList" 、
"oss:ReplicateGet" 、
"oss:ReplicatePut" 、
"oss:ReplicateDelete"
],
"プリンシパル": [
"arn:sts::src-uid:assumed-role/role-name/*"
],
"Resource": [
"acs:oss:*:dest-uid:dest-bucket" 、
"acs:oss:*:dest-uid:dest-bucket/*"
]
}
]
}
次の表に、上記のバケットポリシーのパラメーターを示します。
パラメーター | 説明 |
src-uid | ソースバケットが属するAlibaba CloudアカウントのUID。 |
ロール名 | ソースバケットが属するAlibaba Cloudアカウントによって作成されたRAMロールの名前。 |
dest-uid | 宛先バケットが属するAlibaba CloudアカウントのUID。 |
dest-bucket | 宛先バケットの名前。 |