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

DataWorks:STS を使用して他の Alibaba Cloud サービスにアクセスするための関連付けられたロールの設定

最終更新日:Jan 07, 2026

従来の DataWorks ノード開発では、OSS などの外部サービスにアクセスするために、プレーンテキストの AccessKey を設定する必要がありました。このアプローチは、セキュリティリスクと管理上の課題をもたらします。永続的なキーをハードコーディングすると、漏洩のリスクが生じます。キーが漏洩すると、すべてのデータ資産が危険にさらされる可能性があります。さらに、タスクごとに個別のキーを管理するのは複雑です。その結果、AccessKey には広範な権限が付与されがちです。これにより、最小権限の原則 (PoLP) に従った詳細なアクセスの制御を実装することが困難になります。これらの問題を解決するために、RAM ロールの権限付与を使用できます。このメソッドは、セキュリティトークンサービス (STS) から動的に一時的な認証情報を取得します。これにより、キー漏洩のリスクを排除し、タスクごとにオンデマンドで詳細な権限管理が可能になります。

ソリューション概要

設定プロセスは、主にRAM ロールの作成アクセスポリシーの作成RAM ユーザーへの権限付与の 3 つの部分で構成されます。

image

前提条件

AliyunRAMFullAccess 権限を持つ Alibaba Cloud アカウントまたは RAM 管理者アカウント。

ステップ 1:RAM ロールの作成と設定

このロールは、DataWorks サービスが他のクラウドリソースにアクセスするための ID 認証情報として機能します。

  1. RAM ロールの作成RAM コンソールのロールページにログインし、[ロールの作成] をクリックします。デフォルト設定のまま [OK] をクリックします。次に、DataWorksRAMROLEforDataStudio のような、わかりやすいロール名を入力します。

    image

  2. 信頼ポリシーの変更:ロールを作成したら、その詳細ページに移動します。[信頼ポリシー] タブでポリシーを編集し、dataworks.aliyuncs.com サービスのみがこのロールを偽装できるようにします。ポリシードキュメントは次のとおりです:

    RAM ロールの信頼ポリシーの変更

    image

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "dataworks.aliyuncs.com"
            ]
          }
        }
      ]
    }
  3. RAM ロールへの権限付与:ロールの詳細ページで、[権限] タブをクリックします。[権限の付与] をクリックし、DataWorksRAMROLEforDataStudio ロールに必要な権限を付与します。

    例えば、OSS にアクセスするには、AliyunOSSReadOnlyAccess (読み取り専用) または AliyunOSSFullAccess (フルアクセス) 権限を付与します。

    RAM ロールの権限管理

    image

ステップ 2:アクセスポリシーの作成

このポリシーは、ステップ 1 で作成した RAM ロールを DataWorks サービスに渡す権限を RAM ユーザーに付与します。

  1. RAM コンソールのポリシーページにログインします。[ポリシーの作成] をクリックします。[JSON] タブで、ポリシードキュメントを編集します。

    image

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ram:ListRoles"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "acs:ram::<account-id>:role/<role-name>"
        }
      ]
    }

ポリシー

説明

ram:ListRoles

ユーザーがアカウント内のロールのリストを表示し、インターフェイスから選択できるようにします。

ram:PassRole

ユーザーが指定したロールを Alibaba Cloud サービスに渡せるようにします。

ポリシー内の <account-id><role-name> をお客様の情報に置き換えます:

  1. <account-id>:ご利用の Alibaba Cloud アカウント UID に置き換えます。

  2. <role-name>:ステップ 1 で作成した RAM ロールの名前 (DataWorksRAMROLEforDataStudio) に置き換えます。

    `Resource` の値は、`DataWorksRAMROLEforDataStudio` ロールの ARN です。
カスタムポリシーの作成
  1. [OK] をクリックし、ポリシーDataWorksRAMPolicyforDataStudio として保存します。

ステップ 3:RAM ユーザーへの権限付与

これは最後のステップです。エンドユーザーにロールを渡す権限を付与します。

  1. RAM コンソールのユーザーページにログインします。権限を付与したい RAM ユーザー (例:new_ram_user@...) を見つけます。[操作] 列で、[権限の追加] をクリックします。

  2. [権限の追加] パネルで、ステップ 2 で作成した DataWorksRAMPolicyforDataStudio ポリシーを検索して選択し、[OK] をクリックします。

説明

複数の RAM ユーザーに権限を付与するには、この権限が必要な各ユーザーに対してこのステップを繰り返します。

次のステップ

権限付与が完了したら、new_ram_user@... アカウントを使用して新しいデータ開発ページに移動します。その後、[関連付けられたロール] を使用して、関連ノードでタスクを実行できます。詳細については、「スケジューリングにおけるノードの関連付けられたロールの設定」をご参照ください。

サポートされているノードのリストについては、ユーザーインターフェースをご参照ください。