このトピックでは、データ移行前に実行する必要がある操作について説明します。
ステップ 1: 移行先バケットを作成する
移行されたデータを格納するために、OSS コンソールで移行先バケットを作成します。詳細については、「バケットを作成する」をご参照ください。
ステップ 2: RAM ユーザーを作成し、RAM ユーザーに権限を付与する
Resource Access Management (RAM) ユーザーは、データ移行タスクを実行するために使用されます。 RAM ロールを作成し、RAM ユーザーとしてデータ移行タスクを実行する必要があります。 ソースまたは移行先 OSS バケットを所有する Alibaba Cloud アカウント内に RAM ユーザーを作成することをお勧めします。
RAM ユーザーを作成していない場合は、RAM ユーザーを作成し、RAM ユーザーに権限を付与することができます。
Alibaba Cloud アカウントの RAM コンソールにログインします。[ユーザー] ページで、作成した RAM ユーザーの Alibaba Cloud アカウントの RAM コンソールにログオンします。[ユーザー] ページで、作成した RAM ユーザーの [権限の追加][アクション] 列の をクリックします。 列の をクリックします。
システムポリシー: AliyunOSSImportFullAccess (OSS データオンライン移行の権限を管理します)。
カスタムポリシー: ポリシーには、
ram:CreateRole、ram:CreatePolicy、ram:AttachPolicyToRole、およびram:ListRoles権限が含まれている必要があります。権限管理については、カスタムポリシーを作成するを参照できます。以下は、ポリシースクリプトコードです。
{ "Version":"1", "Statement":[ { "Effect":"Allow", // 許可 "Action":[ "ram:CreateRole", // ロールの作成 "ram:CreatePolicy", // ポリシーの作成 "ram:AttachPolicyToRole", // ロールへのポリシーのアタッチ "ram:ListRoles" // ロールのリスト表示 ], "Resource":"*" } ] }
ステップ 3: 移行先バケットに権限を付与する
移行先バケットが現在の Alibaba Cloud アカウントに属しているかどうかに基づいて、対応する操作を実行します。
移行先バケットが現在の Alibaba Cloud アカウントに属している場合
自動承認
データオンライン移行データを移行する コンソールで自動承認を使用することをお勧めします。詳細については、「データを移行する」トピックの「ステップ 3: 移行先データアドレスを作成する」セクションをご参照ください。
手動承認
説明以下のシナリオでは、手動承認を実行できます。
複数のソースバケットに対する権限を 1 つの RAM ロールに付与する場合。これにより、複数のソースバケットを効果的に管理できます。
現在の Alibaba Cloud アカウント内の RAM ロールの数が上限に近いので、これ以上 RAM ロールを作成したくない場合。
自動承認が適用できないか、使用できない場合。
1. データを移行するために使用する RAM ロールを作成する
RAM ユーザーが作成された RAM コンソールにログオンします。[ロール] ページで、[ロールの作成] をクリックします。
プリンシパルタイプ: [クラウドサービス] を選択します。
プリンシパル名: [Data Transport] を選択します。
: RAM ロール名を入力します。 RAM ロール名は小文字にする必要があります。


2. 移行先バケットに対する権限を RAM ロールに付与する
[ロール] ページで、作成した RAM ロールを見つけ、[アクション] 列の 権限の付与アクション をクリックします。
カスタムポリシー:
oss:List*、oss:Get*、oss:Put*、およびoss:AbortMultipartUpload*権限を含むカスタムポリシーを RAM ロールにアタッチします。
カスタムポリシーのアタッチ方法の詳細については、カスタムポリシーを作成するを参照してください。次のサンプルコードは、カスタムポリシーの例を示しています。
説明次のポリシーは参照用です。<myDestBucket> を 宛先バケットの名前 に置き換えます。
OSS の RAM ポリシーの詳細については、RAM ポリシーの一般的な例を参照してください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", // 許可 "Action": [ "oss:List*", // オブジェクトのリスト表示 "oss:Get*", // オブジェクトの取得 "oss:Put*", // オブジェクトの書き込み "oss:AbortMultipartUpload" // マルチパートアップロードの中止 ], "Resource": [ "acs:oss:*:*:<myDestBucket>", // バケットレベルのリソース "acs:oss:*:*:<myDestBucket>/*" // オブジェクトレベルのリソース ] } ] }
移行先バケットが現在の Alibaba Cloud アカウントに属していない場合
1. データを移行するために使用する RAM ロールを作成する
RAM ユーザーが作成された RAM コンソールにログオンします。[ロール] ページで、[ロールの作成] をクリックします。
プリンシパルタイプ: [クラウドサービス] を選択します。
プリンシパル名: [Data Transport] を選択します。
: RAM ロール名を入力します。 RAM ロール名は小文字にする必要があります。


2. 移行先バケットに対する権限を RAM ロールに付与する
ポリシー文を指定してバケットポリシーを設定し、必要な権限を RAM ロールに付与する場合、新しいバケットポリシーは既存のバケットポリシーを上書きします。新しいバケットポリシーに既存のバケットポリシーの内容が含まれていることを確認してください。そうでない場合、既存のバケットポリシーに基づく承認が失敗する可能性があります。
移行先バケットを所有する Alibaba Cloud アカウントで OSS コンソール にログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックします。[バケット] ページで、移行先バケットの名前をクリックします。
バケット詳細ページの左側のウィンドウで、[権限管理] > [バケットポリシー] を選択します。
[バケットポリシー] タブで、[構文で追加] をクリックし、[編集] をクリックします。コードエディタで、カスタムバケットポリシーを入力します。次に、[保存] をクリックします。
RAM ロールに、デスティネーション バケット内のオブジェクトのリスト、読み取り、削除、およびオブジェクトの書き込み権限を付与します。
次のポリシーは参照用です。[デスティネーション バケットの名前] を <otherDestBucket> に、デスティネーション バケットを所有する Alibaba Cloud アカウントの ID を <otherUid> に、[データオンライン移行コンソールにログインするために使用する Alibaba Cloud アカウントの ID] を <myUid> に、作成した RAM ロールの名前 を <roleName> に置き換えます。 詳細については、「RAM ポリシーの一般的な例」をご参照ください。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow", // 許可
"Action": [
"oss:List*", // オブジェクトのリスト表示
"oss:Get*", // オブジェクトの取得
"oss:Put*", // オブジェクトの書き込み
"oss:AbortMultipartUpload" // マルチパートアップロードの中止
],
"Principal": [ // 権限を付与されるプリンシパル
"arn:sts::<myUid>:assumed-role/<roleName>/*" // ロールがアクセスできるリソース
],
"Resource": [
"acs:oss:*:<otherUid>:<otherDestBucket>", // バケットレベルのリソース
"acs:oss:*:<otherUid>:<otherDestBucket>/*" // オブジェクトレベルのリソース
]
}
]
}