Tous les produits
Search
Centre de documentation

DataWorks:Rôles liés au service pour l'accès aux moteurs de calcul

Dernière mise à jour :Aug 20, 2026

Pour utiliser des moteurs de calcul tels que MaxCompute et EMR dans DataWorks, accordez d'abord à DataWorks les autorisations d'accès requises. Le système crée alors automatiquement des rôles liés au service assortis de politiques d'accès prédéfinies pour chaque moteur.

Contexte

Lorsque vous ajoutez ou modifiez une instance de moteur de calcul dans la console DataWorks, le système vous invite à accorder des autorisations. Une fois l'autorisation effectuée, il crée automatiquement un rôle lié au service.

Remarque
  • Seul un compte Alibaba Cloud ou un utilisateur RAM disposant du rôle AliyunDataWorksFullAccess peut accorder ces autorisations. Si un utilisateur RAM ne dispose pas du rôle AliyunDataWorksFullAccess, attribuez-le-lui au préalable. Pour plus d'informations, consultez la rubrique Gérer les autorisations des utilisateurs RAM.

  • Des opérations telles que la gestion des sources de données déclenchent l'invite d'autorisation.

  • Consultez les détails des rôles sur la page Identity Management > Roles de la console RAM. Pour en savoir plus sur les rôles liés au service, consultez la rubrique Rôle lié au service.

Le tableau suivant répertorie les rôles créés automatiquement et fournit des liens vers leurs détails.

Rôle

Objectif

Détails

AliyunServiceRoleForDataworksEngine

Accorde à DataWorks les autorisations d'accès à MaxCompute.

Rôle 1 : AliyunServiceRoleForDataworksEngine

AliyunServiceRoleForDataworksOnEmr

Récupère les métadonnées d'EMR (nouveau data lake) pour prévisualiser les enregistrements de données dans Data Map.

Rôle 2 : AliyunServiceRoleForDataworksOnEmr

AliyunServiceRoleForDataWorks

Gère les configurations VPC et de groupe de sécurité pour connecter les groupes de ressources exclusifs aux sources de données.

Rôle lié au service AliyunServiceRoleForDataWorks

AliyunServiceRoleForDataWorksDI

Liste les rôles RAM afin que vous puissiez en sélectionner un lors de la configuration de l'accès à la source de données.

AliyunServiceRoleForDataWorksDI

AliyunDIDefaultRole

Permet à DataWorks d'accéder aux ressources d'autres produits cloud sous le compte Alibaba Cloud actuel lors de la configuration des sources de données, des tâches et de la synchronisation des données. Cela inclut certaines autorisations de gestion pour les ressources cloud telles que RDS, Redis, MongoDB, PolarDB-X, HybridDB for MySQL, AnalyticDB for PostgreSQL, PolarDB, DMS et DLF.

AliyunDIDefaultRole

AliyunServiceRoleForDataWorksOpenPlatform

Gère les événements EventBridge pour prendre en charge les fonctionnalités de messagerie et d'événements de DataWorks Open Platform.

Rôle lié au service AliyunServiceRoleForDataWorksOpenPlatform

AliyunServiceRoleForDataWorksAccessDLF

Récupère les métadonnées DLF et gère les autorisations de métadonnées, permettant à Security Center de traiter les demandes et approbations d'autorisations DLF.

Rôle lié au service pour l'accès à DLF

AliyunServiceRoleForDataWorksScheduler

Gère les ressources dans EventBridge et accède aux ressources d'autres produits cloud tels qu'OSS.

Rôle lié au service AliyunServiceRoleForDataWorksScheduler

Les sections suivantes détaillent les rôles pour les moteurs MaxCompute et EMR (nouveau data lake).

Rôle 1 : AliyunServiceRoleForDataworksEngine

  • Nom du rôle : AliyunServiceRoleForDataworksEngine

  • Objectif : Rôle lié au service permettant à DataWorks d'accéder aux moteurs de calcul (dataworks-engine). Le service dataworks-engine utilise ce rôle pour accéder à vos ressources dans d'autres services cloud.

  • Politique attachée : AliyunServiceRolePolicyForDataworksEngine

  • Détails de la politique :

    {
      "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"
        }
      ]
    }

Rôle 2 : AliyunServiceRoleForDataworksOnEmr

Important

Ne modifiez ni ne supprimez ce rôle ou sa politique d'accès. Cela pourrait interrompre la fonctionnalité DataWorks on EMR.

  • Nom du rôle : AliyunServiceRoleForDataworksOnEmr

  • Objectif : Permet à DataWorks de prévisualiser les données dans Data Map, de récupérer les métadonnées des clusters EMR de type DLF et de lire les configurations des clusters EMR.

  • Politique attachée : AliyunServiceRolePolicyForDataworksOnEmr

  • Détails de la politique :

    • Autorisations d'accès 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"
              }
          ]
      }
    • Autorisations d'accès Data Lake Formation (DLF)

      Si un cluster EMR utilise DLF pour la gestion des métadonnées, le rôle inclut également ces autorisations DLF pour permettre à DataWorks de récupérer les métadonnées 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"
      }
    • Autorisations d'accès Container Service for Kubernetes (ACK)

      Si le cluster EMR s'exécute sur ACK, le rôle inclut également ces autorisations ACK.

      {
        "Action": [
            "cs:DescribeUserPermission",
            "cs:DescribeClusterDetail",
            "cs:DescribeClusterUserKubeconfig",
            "cs:GetClusters",
            "cs:GrantPermissions",
            "cs:RevokeK8sClusterKubeConfig"
        ],
        "Resource": "*",
        "Effect": "Allow"
      }
    • Autorisations d'accès Serverless Spark

      Si le cluster EMR est un cluster Serverless Spark, le rôle inclut également ces autorisations.

      {
        "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": "*"
      }

      Les autorisations OSS suivantes permettent de télécharger des fichiers SQL et des packages JAR ou d'enregistrer des résultats de requête temporaires.

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