クロスアカウントのデータレプリケーションと同一アカウントのデータレプリケーションでは、必要な権限が異なります。 データレプリケーションタスクを完了するには、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" ] } } ], "Version": "1" }RAM ロールに必要な最小権限
RAM ポリシーを使用して、ソースバケットと送信先バケットでデータレプリケーションを実行するために必要な最小権限を RAM ロールに付与できます。
{ "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/*" ] } ] }アクション
アクション
説明
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 ポリシーを指定します。
{ "Version":"1", "Statement":[ { "Effect":"Allow", "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"
],
"Principal": [
"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。 |
role-name | ソースバケットが属する Alibaba Cloud アカウントによって作成された RAM ロールの名前。 |
dest-uid | 送信先バケットが属する Alibaba Cloud アカウントの UID。 |
dest-bucket | 送信先バケットの名前。 |