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

:DataWorksが他のエンジンプロダクトにアクセスするためのサービスリンクロール

最終更新日:Nov 09, 2025

DataWorks で MaxCompute や E-MapReduce (EMR) などの他のコンピュートエンジンを使用するには、まず DataWorks に必要なアクセス権限を付与する必要があります。権限を付与すると、システムはコンピュートエンジン用のサービスリンクロールを自動的に作成します。このトピックでは、DataWorks にこれらのコンピュートエンジンの使用を承認したときに自動的に作成されるロールとアクセスポリシーについて説明します。

バックグラウンド

DataWorks コンソールでコンピュートエンジンインスタンスの追加や編集など、コンピュートエンジンに関連する操作を実行すると、権限を付与するように求められます。権限を付与すると、システムは自動的にサービスリンクロールを作成します。

説明
  • Alibaba Cloud アカウントまたは AliyunDataWorksFullAccess ロールを持つ Resource Access Management (RAM) ユーザーのみが、DataWorks に他のコンピュートエンジンを使用する権限を付与できます。RAM ユーザーが AliyunDataWorksFullAccess ロールを持っていない場合は、RAM ユーザーにそのロールを付する必要があります。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

  • 権限付与プロンプトは、データソース管理などの DataWorks の操作によってトリガーされます。

  • Resource Access Management (RAM) コンソール[ID 管理] > [ロール] ページで、ロールの詳細を検索して表示できます。 サービスリンクロールの詳細については、「サービスリンクロール」をご参照ください。

次の表は、必要な権限を付与した後に自動的に作成されるロールと、各ロールの詳細へのリンクを示しています。

ロール

目的

詳細

AliyunServiceRoleForDataworksEngine

DataWorks に MaxCompute へのアクセス権限を付与します。

ロール 1: AliyunServiceRoleForDataworksEngine

AliyunServiceRoleForDataworksOnEmr

EMR (新しいデータレイク) からメタデータを取得し、Data Map でデータレコードをプレビューします。

ロール 2: AliyunServiceRoleForDataworksOnEmr

AliyunServiceRoleForDataWorks

DataWorks の専用リソースグループとデータソース間のネットワーク接続を確立するために、VPC ネットワーク構成とセキュリティグループ構成を取得および変更します。

AliyunServiceRoleForDataWorks サービスリンクロール

AliyunServiceRoleForDataWorksDI

RAM ロールのリストを取得します。これにより、データソースにアクセスするためのロールを設定するときにロールを選択できます。

AliyunServiceRoleForDataWorksDI

AliyunDIDefaultRole

データソースの設定、タスクの設定、データの同期を行う際に、DataWorks が現在の Alibaba Cloud アカウント下の他のクラウドプロダクトのリソースにアクセスできるようにします。これには、RDS、Redis、MongoDB、PolarDB-X、HybridDB for MySQL、AnalyticDB for PostgreSQL、PolarDB、DMS、DLF などのクラウドリソースに対する一部の管理権限が含まれます。

AliyunDIDefaultRole

AliyunServiceRoleForDataWorksOpenPlatform

DataWorks Open Platform のプロダクトメッセージおよびイベント機能をサポートするために、EventBridge のイベントを取得および変更します。

AliyunServiceRoleForDataWorksOpenPlatform サービスリンクロール

AliyunServiceRoleForDataWorksAccessDLF

Data Lake Formation (DLF) からメタデータを取得し、メタデータ権限の付与や取り消しなどの操作を実行します。これにより、セキュリティセンターは DLF メタデータのリクエストと承認を管理できます。

付録: DataWorks が DLF にアクセスするために使用するサービスリンクロール

AliyunServiceRoleForDataWorksScheduler

EventBridge のリソースを管理し、OSS などの他のクラウドプロダクトのリソースにアクセスします。

AliyunServiceRoleForDataWorksScheduler サービスリンクロール

以下のセクションでは、MaxCompute および EMR (新しいデータレイク) コンピュートエンジンに関連するロールについて説明します。

ロール 1: AliyunServiceRoleForDataworksEngine

  • ロール名: AliyunServiceRoleForDataworksEngine

  • 目的: DataWorks がコンピュートエンジン (dataworks-engine) にアクセスするためのサービスリンクロール。dataworks-engine サービスはこのロールを使用して、他のクラウドサービスのリソースにアクセスします。

  • 添付ポリシー: AliyunServiceRolePolicyForDataworksEngine

  • ポリシーの詳細:

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "odps:*",
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action": [
            "stream:ActOnBehalfOfAnotherUser",
            "stream:CreateDeployment",
            "stream:StartJobWithParams",
            "stream:ListDeployments",
            "stream:GetDeployment",
            "stream:GetJob",
            "stream:StopJob",
            "stream:DeleteDeployment"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action": "dlf-auth:ActOnBehalfOfAnotherUser",
          "Resource": "*",
          "Effect": "Allow"
        },
        {
          "Action": [
            "pai:*",
            "paiplugin:*",
            "eas:*",
            "featurestore:*"
          ],
          "Resource": "*",
          "Effect": "Allow"
        },
        {
          "Effect": "Allow",
          "Action": [
            "emr-serverless-spark:StartSessionCluster",
            "emr-serverless-spark:CreateSqlStatement",
            "emr-serverless-spark:GetSqlStatement",
            "emr-serverless-spark:TerminateSqlStatement",
            "emr-serverless-spark:ListSessionClusters",
            "emr-serverless-spark:ListWorkspaces",
            "emr-serverless-spark:ListWorkspaceQueues",
            "emr-serverless-spark:ListReleaseVersions",
            "emr-serverless-spark:CancelJobRun",
            "emr-serverless-spark:ListJobRuns",
            "emr-serverless-spark:GetJobRun",
            "emr-serverless-spark:StartJobRun",
            "emr-serverless-spark:AddMembers",
            "emr-serverless-spark:GrantRoleToUsers",
            "emr-serverless-spark:ListLogContents",
            "emr-serverless-spark:GetTemplate",
            "emr-serverless-spark:ListKyuubiServices",
            "emr-serverless-spark:GetLivyCompute",
            "emr-serverless-spark:CreateLivyCompute",
            "emr-serverless-spark:UpdateLivyCompute",
            "emr-serverless-spark:ListLivyCompute",
            "emr-serverless-spark:DeleteLivyCompute",
            "emr-serverless-spark:StartLivyCompute",
            "emr-serverless-spark:StopLivyCompute",
            "emr-serverless-spark:CreateLivyComputeToken",
            "emr-serverless-spark:GetLivyComputeToken",
            "emr-serverless-spark:ListLivyComputeToken",
            "emr-serverless-spark:DeleteLivyComputeToken",
            "emr-serverless-spark:RefreshLivyComputeToken"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "adb:SubmitSparkApp",
            "adb:GetSparkAppState",
            "adb:GetSparkAppLog",
            "adb:GetSparkAppWebUiAddress",
            "adb:ListSparkApps",
            "adb:GetSparkAppInfo",
            "adb:KillSparkApp",
            "adb:DescribeAdbMySqlTables",
            "adb:getDatabaseObjectsByFilter",
            "adb:getTable"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "lindorm:GetLindormInstanceList",
            "lindorm:GetLindormInstance",
            "lindorm:GetLindormInstanceEngineList",
            "lindorm:GetLindormV2InstanceEngineList",
            "lindorm:ListLdpsComputeGroups",
            "lindorm:RestartLdpsComputeGroup"
          ],
          "Resource": "*"
        },
        {
          "Action": "ram:DeleteServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": "engine.dataworks.aliyuncs.com"
            }
          }
        },
        {
          "Action": [
            "searchengine:GetInstance",
            "searchengine:ListInstances",
            "searchengine:GetTable",
            "searchengine:ListTables"
          ],
          "Resource": "*",
          "Effect": "Allow"
        }
      ]
    }

ロール 2: AliyunServiceRoleForDataworksOnEmr

重要

自動的に作成されたロールとそのアクセスポリシーを変更または削除しないでください。そうしないと、DataWorks on EMR 機能が期待どおりに動作しない可能性があります。

  • ロール名: AliyunServiceRoleForDataworksOnEmr

  • 目的: DataWorks が Data Map でデータレコードをプレビューし、DLF タイプの EMR クラスターからメタデータを取得し、EMR クラスターから構成情報を取得できるようにします。

  • 添付ポリシー: AliyunServiceRolePolicyForDataworksOnEmr

  • ポリシーの詳細:

    • EMR アクセス権限

      {
          "Version": "1",
          "Statement": [
              {
                "Action": [
                    "emr:GetCluster",
                    "emr:GetOnKubeCluster",
                    "emr:GetClusterClientMeta",
                    "emr:GetApplicationConfigFile",
                    "emr:ListClusters",
                    "emr:ListNodes",
                    "emr:ListNodeGroups",
                    "emr:ListApplications",
                    "emr:ListApplicationConfigs",
                    "emr:ListApplicationConfigFiles",
                    "emr:ListApplicationLinks",
                    "emr:ListComponentInstances",
                    "emr:DescribeClusterV2",
                    "emr:DescribeCluster",
                    "emr:DescribeClusterServiceConfig",
                    "emr:DescribeFlowAgentToken",
                    "emr:DescribeClusterBasicInfo",
                    "emr:ListClusterHostComponent"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
    • Data Lake Formation (DLF) アクセス権限

      EMR クラスターが DLF を使用してメタデータを一元管理する場合、自動的に作成されたロールのアクセスポリシーには、次の DLF アクセス権限も含まれます。これらの権限により、DataWorks は EMR からメタデータを取得できます。

      {
        "Action": [
              "dlf:SubmitQuery",
              "dlf:GetQueryResult",
              "dlf:GetTable",
              "dlf:ListDatabases",
              "dlf:GetTableProfile",
              "dlf:GetCatalogSettings",
              "dlf:BatchGrantPermissions",
              "dlf:ListPartitionsByFilter",
              "dlf:ListPartitions",
              "dlf:GetHudiProperties",
              "dlf:ListCatalogs",
              "dlf:GetDatabase",
              "dlf:GetLifecycleRule",
              "dlf:GetCatalog",
              "dlf:GetIcebergNamespace",
              "dlf:GetIcebergTable"
        ],
        "Resource": "*",
        "Effect": "Allow"
      }
    • Container Service for Kubernetes (ACK) アクセス権限

      EMR クラスターが EMR on ACK クラスターである場合、自動的に作成されたロールのアクセスポリシーには、次の ACK アクセス権限も含まれます。

      {
        "Action": [
            "cs:DescribeUserPermission",
            "cs:DescribeClusterDetail",
            "cs:DescribeClusterUserKubeconfig",
            "cs:GetClusters",
            "cs:GrantPermissions",
            "cs:RevokeK8sClusterKubeConfig"
        ],
        "Resource": "*",
        "Effect": "Allow"
      }
    • Serverless Spark アクセス権限

      EMR クラスターが EMR Serverless Spark クラスターである場合、自動的に作成されたロールのアクセスポリシーには、次の Serverless Spark アクセス権限も含まれます。

      {
        "Effect": "Allow",
        "Action": [
              "emr-serverless-spark:StartSessionCluster",
              "emr-serverless-spark:CreateSqlStatement",
              "emr-serverless-spark:GetSqlStatement",
              "emr-serverless-spark:TerminateSqlStatement",
              "emr-serverless-spark:ListSessionClusters",
              "emr-serverless-spark:ListWorkspaces",
              "emr-serverless-spark:ListWorkspaceQueues",
              "emr-serverless-spark:ListReleaseVersions",
              "emr-serverless-spark:CancelJobRun",
              "emr-serverless-spark:ListJobRuns",
              "emr-serverless-spark:GetJobRun",
              "emr-serverless-spark:StartJobRun",
              "emr-serverless-spark:AddMembers",
              "emr-serverless-spark:GrantRoleToUsers",
              "emr-serverless-spark:ListLogContents",
              "emr-serverless-spark:GetTemplate",
              "emr-serverless-spark:ListKyuubiServices",
              "emr-serverless-spark:GetLivyCompute",
              "emr-serverless-spark:CreateLivyCompute",
              "emr-serverless-spark:UpdateLivyCompute",
              "emr-serverless-spark:ListLivyCompute",
              "emr-serverless-spark:DeleteLivyCompute",
              "emr-serverless-spark:StartLivyCompute",
              "emr-serverless-spark:StopLivyCompute",
              "emr-serverless-spark:CreateLivyComputeToken",
              "emr-serverless-spark:GetLivyComputeToken",
              "emr-serverless-spark:ListLivyComputeToken",
              "emr-serverless-spark:DeleteLivyComputeToken",
              "emr-serverless-spark:RefreshLivyComputeToken",
              "emr-serverless-spark:ListLogContents"
          ],
        "Resource": "*"
      }

      次の OSS 権限も含まれています。これらの権限により、SQL ファイルや JAR パッケージをアップロードしたり、一時的なクエリ結果を保存したりできます。

      {
        "Action": [
         "oss:PutObject",
         "oss:GetObject",
         "oss:DeleteObject",
         "oss:DeleteObjectVersion"
          ],
        "Resource": [
          "acs:oss:*:*:*/.dataworks/*",
          "acs:oss:*:*:*/.dlsdata/*"
          ],
        "Effect": "Allow"
      },
      {
        "Action": "oss:PostDataLakeStorageFileOperation",
        "Resource": "*",
        "Effect": "Allow"
      }