すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:デフォルトのロールを使用してMaxComputeにデータを書き込む

最終更新日:Aug 30, 2024

新しいバージョンのデータ転送ジョブを実行してMaxComputeにデータを転送する場合、Logstoreから読み取られたデータをMaxComputeテーブルに書き込む必要があります。 要件を満たすために、データ配布ジョブにデフォルトのロールを引き受ける権限を付与できます。

前提条件

RAM (Resource Access Management) ユーザーを使用している場合は、RAMユーザーにRAMロールを管理する権限があることを確認してください。

Alibaba Cloudアカウント内でデータを出荷する

Simple Log ServiceとMaxComputeが同じAlibaba Cloudアカウントに属している場合、[Cloud Resource Access authorization] ページで承認を完了し、AliyunLogDefaultRoleロールを作成する必要があります。 AliyunLogDefaultRoleロールを作成したら、AliyunLogDefaultRoleロールをワークスペースメンバーとして追加する必要があります。

GUIまたはCLIを使用して、RAMロールに権限を付与できます。

GUIを使用してRAMロールに権限を付与する

  1. RAMロールの信頼ポリシーを変更します。

    1. RAM コンソール にログインします。

    2. 左側のナビゲーションペインで、[ID] > [ロール] を選択します。

    3. [ロール] ページで、AliyunLogDefaultRoleロールを見つけ、ロール名をクリックします。

    4. [信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックします。

    5. コードエディターの内容を次のポリシードキュメントに置き換え、信頼ポリシードキュメントの保存.

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "log.aliyuncs.com",
                "dataworks.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }
  2. RAMロールをワークスペースメンバーとして追加します。

    1. DataWorks コンソールにログインします。

    2. 表示されるページの左上隅で、リージョンを選択します。

    3. 左側のナビゲーションペインで、[ワークスペース] をクリックします。

    4. [ワークスペース] ページで、管理するワークスペースを見つけ、[操作] 列の [管理] をクリックします。

    5. [作業スペース] ページの [スペースメンバー] タブで、[メンバーの追加] をクリックします。 image.png

    6. [メンバーの追加] ダイアログボックスで、現在のログオンアカウントとAliyunLogDefaultRoleロールを選択し、プロンプトに従ってログオンアカウントとAliyunLogDefaultRoleロールを追加します。

      [役割のバッチ設定] セクションで、[開発] を選択します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

  3. AliyunLogDefaultRoleロールにMaxComputeテーブルを管理する権限を付与します。

    1. [作業スペース] ページで、[計算エンジン情報] > [MaxCompute] > [MaxComputeコンソールに移動] を選択します。 image.png

    2. MaxComputeプロジェクト管理ページで、[ロール権限] をクリックします。 image.png

      次のエラーが報告された場合は、ロールリストで次の操作を実行します。adminロールを検索し、[操作] 列の [メンバーの管理] をクリックします。 [メンバーの管理] ダイアログボックスで、現在のログインアカウントを選択し、プロンプトに従ってログインアカウントを追加します。 image.png

    3. ロールリストで、role_project_adminロールを見つけ、[操作] 列の [メンバーの管理] をクリックします。

    4. [メンバーの管理] ダイアログボックスで、現在のログオンアカウントとAliyunLogDefaultRoleロールを選択し、プロンプトに従ってログオンアカウントとAliyunLogDefaultRoleロールを追加します。

    5. ロールリストで、role_project_adminロールを見つけ、[操作] 列の [ロールの編集] をクリックします。

    6. [ロールの編集] ダイアログボックスの [テーブル] タブで、管理するMaxComputeテーブルを見つけ、[記述][変更][更新] を選択します。 image.png

    重要

    上記の権限付与は、指定されたMaxComputeテーブルに対してのみ有効です。 現在のMaxComputeプロジェクトのすべてのテーブルを管理する権限をAliyunLogDefaultRoleロールに付与する場合は、管理者ロールの権限を現在のログオンアカウントとAliyunLogDefaultRoleロールに付与できます。 ロールリストでadminロールを見つけ、[操作] 列の [メンバーの管理] をクリックします。 [メンバーの管理] ダイアログボックスで、現在のログオンアカウントとAliyunLogDefaultRoleロールを選択し、プロンプトに従ってログオンアカウントとAliyunLogDefaultRoleロールを追加します。

    設定後、AliyunLogDefaultRoleロールを新しいバージョンのMaxComputeデータシッピングジョブに割り当てて、指定されたMaxComputeテーブルにデータを発送できます。 データシッピングジョブを作成するときに、[MaxComputeの書き込み権限][既定のロール] を選択します。 詳細については、「MaxComputeにデータを送信するための新しいバージョンのデータ送信ジョブの作成」をご参照ください。 MaxCompute投递授权

CLIを使用してRAMロールに権限を付与する

  1. DataWorks コンソールにログインします。

  2. 表示されるページの左上隅で、リージョンを選択します。

  3. 左側のナビゲーションペインで、[ワークスペース] をクリックします。

  4. [ワークスペース] ページで、管理するワークスペースを見つけ、ポインターを [ショートカット] 移動し、[データ開発] をクリックします。

  5. ワークフローの作成

    1. [スケジュールされたワークフロー] ページで、[作成] > [ワークフローの作成] を選択します。

    2. [ワークフローの作成] ダイアログボックスで、[ワークフロー名] パラメーターを設定し、[作成] をクリックします。

  6. ノードを作成します。

    1. [スケジュールされたワークフロー] ページで、[作成] > [ノードの作成] > [MaxCompute] > [ODPS SQL] を選択します。

    2. [ノードの作成] ダイアログボックスで、[名前][パス] パラメーターを設定し、[確認] をクリックします。

      手順5で作成したワークフローにPathパラメーターを設定する必要があります。

  7. ノードのコードエディターで、必要なコマンドを実行して承認を完了します。 次の表にコマンドを示します。

    MaxCompute授权

    コマンド

    説明

    USEプロジェクト名;

    MaxComputeプロジェクトを指定します。 MaxComputeプロジェクトは、新しいバージョンのデータ配布ジョブを作成したときに指定したMaxComputeプロジェクトと同じである必要があります。 詳細については、「MaxComputeにデータを送信するための新しいバージョンのデータ送信ジョブの作成」をご参照ください。

    追加ユーザーRAM$**** .aliyunid.com:'role /aliyunlogdefaultro';

    RAMロールをユーザーとしてMaxComputeプロジェクトに追加します。

    • **** .aliyunid.comは、MaxComputeプロジェクトが属するAlibaba Cloudアカウントを指定します。 list users; コマンドを実行して、Alibaba Cloudアカウントを表示できます。

    • aliyunlogdefaultroleは、AliyunLogDefaultRoleロールの名前を指定します。 名前は小文字である必要があります。

    GRANT CreateInstance ON PROJECTプロジェクト名-ユーザーRAM$*****:'role /aliyunlogdefaultro';

    指定したプロジェクトでインスタンスを作成する権限をRAMロールに付与します。

    GRANT DESCRIBE、ALTER、UPDATE ON TABLEテーブル名-ユーザーRAM$**** .aliyunid.com:'role /aliyunlogdefaultro';

    指定されたMaxComputeテーブルを表示、変更、更新する権限をRAMロールに付与します。

    説明

    権限付与手順は、指定されたMaxComputeテーブルにのみ適用されます。 現在のMaxComputeプロジェクトのすべてのテーブルを管理する権限をRAMロールに付与する場合は、grant admin to user RAM$**** .aliyunid.com:'role /aliyunlogdefaulture'; コマンドを実行して承認を完了します。

    「RAM$**** .aliyunid.com:role /aliyunlogdefaultule」のプレゼント。

    承認が成功したかどうかを確認します。

    次のような情報が返された場合、承認は成功します。

    Authorization Type: ACL
    [user/RAM$****.aliyunid.com:role/aliyunlogdefaultrole]
    A       projects/default_project_****: CreateInstance
    A       projects/default_project_****/tables/****: Describe | Alter | Update

    認証プロセス中に次のエラーメッセージが表示されることがあります。

設定後、AliyunLogDefaultRoleロールを新しいバージョンのMaxComputeデータシッピングジョブに割り当てて、指定されたMaxComputeテーブルにデータを発送できます。 データシッピングジョブを作成するときに、[MaxComputeの書き込み権限][既定のロール] を選択します。 詳細については、「MaxComputeにデータを送信するための新しいバージョンのデータ送信ジョブの作成」をご参照ください。 MaxCompute投递授权

Alibaba Cloudアカウント間でデータを出荷する

Alibaba CloudアカウントAに対してSimple Log Serviceが有効化され、Alibaba CloudアカウントBに対してMaxComputeが有効化されている場合、[Cloud Resource Access authorization] ページで承認を完了し、各アカウントにAliyunLogDefaultRoleロールを作成する必要があります。 次に、次の操作を実行します。

  1. Alibaba CloudアカウントBに属するAliyunLogDefaultRoleロールの信頼ポリシーを変更します。

    1. Alibaba CloudアカウントBを使用して、RAMコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、アイデンティティ > ロール.

    3. ロールリストで、AliyunLogDefaultRole.

    4. 信頼ポリシータブをクリックします。信頼ポリシーの編集.

    5. コードエディターの内容を次のポリシードキュメントに置き換え、信頼ポリシードキュメントの保存.

      [Alibaba CloudアカウントA@log.aliyuncs.com] を追加し、[サービス] 要素にdataworks.aliyuncs.comします。 Alibaba CloudアカウントAのIDを実際のIDに置き換えます。 アカウント管理コンソールでAlibaba CloudアカウントAのIDを確認できます。

      次のポリシーにより、Alibaba CloudアカウントAは、Alibaba cloudアカウントBのクラウドリソースを管理するための一時的なSTS (Security Token Service) トークンを取得できます。

      {
        "Statement": [
         {
           "Action": "sts:AssumeRole",
           "Effect": "Allow",
           "Principal": {
             "Service": [
               "ID of Alibaba Cloud Account A@log.aliyuncs.com",
               "dataworks.aliyuncs.com",
               "log.aliyuncs.com"
             ]
           }
         }
        ],
        "Version": "1"
      }
  2. Alibaba CloudアカウントBに属するAliyunLogDefaultRoleロールをワークスペースメンバーとして追加します。

    GUIまたはCLIを使用して、RAMロールに権限を付与できます。 承認を完了するには、Alibaba CloudアカウントBを使用してDataWorksコンソールにログインします。詳細については、「GUIを使用してRAMロールに権限を付与する」または「CLIを使用してRAMロールに権限を付与する」をご参照ください。

設定後、Alibaba CloudアカウントBのAliyunLogDefaultRoleロールを新しいバージョンのMaxComputeデータシッピングジョブに割り当て、指定されたMaxComputeテーブルにデータを発送できます。 データシッピングジョブを作成するときに、[MaxComputeの書き込み権限][カスタムロール] を選択し、Alibaba CloudアカウントBに属するAliyunLogDefaultRoleロールのAlibaba Cloudリソース名 (ARN) を入力します。この例では、acs:ram:::11 **13: Role /aliyundefalogultroleが使用されています。 RAMロールのARNを取得する方法の詳細については、「RAMロールに関する情報の表示」を参照してください。 MaxCompute授权