Todos os produtos
Search
Central de documentação

DataWorks:Funções vinculadas a serviço para acesso a mecanismos de computação

Última atualização: Jun 27, 2026

Para usar mecanismos de computação como MaxCompute e EMR no DataWorks, conceda as permissões de acesso necessárias ao DataWorks. Após a concessão, o sistema cria automaticamente funções vinculadas a serviço com políticas de acesso predefinidas para cada mecanismo.

Contexto

Ao adicionar ou editar uma instância de mecanismo de computação no console do DataWorks, o sistema solicita a concessão de permissões. Após a autorização, o sistema cria automaticamente uma função vinculada a serviço.

Nota
  • Somente uma conta Alibaba Cloud ou um usuário RAM com a função AliyunDataWorksFullAccess pode conceder essas permissões. Se um usuário RAM não tiver a função AliyunDataWorksFullAccess, atribua-a antes de prosseguir. Para mais informações, consulte Gerenciar permissões de usuários RAM.

  • Operações como Gerenciamento de Fontes de Dados acionam a solicitação de autorização.

  • Visualize os detalhes da função na página Identity Management > Roles do console RAM. Para obter mais informações sobre funções vinculadas a serviço, consulte Função Vinculada a Serviço.

A tabela a seguir lista as funções criadas automaticamente e os links para seus respectivos detalhes.

Função

Finalidade

Detalhes

AliyunServiceRoleForDataworksEngine

Concede ao DataWorks permissões para acessar o MaxCompute.

Função 1: AliyunServiceRoleForDataworksEngine

AliyunServiceRoleForDataworksOnEmr

Obtém metadados do EMR (novo data lake) para visualizar registros de dados no Data Map.

Função 2: AliyunServiceRoleForDataworksOnEmr

AliyunServiceRoleForDataWorks

Gerencia configurações de VPC e grupos de segurança para conectar grupos de recursos exclusivos a fontes de dados.

Função vinculada a serviço AliyunServiceRoleForDataWorks

AliyunServiceRoleForDataWorksDI

Lista funções RAM para permitir a seleção durante a configuração de acesso à fonte de dados.

AliyunServiceRoleForDataWorksDI

AliyunDIDefaultRole

Permite ao DataWorks acessar recursos de outros produtos em nuvem na conta Alibaba Cloud atual durante a configuração de fontes de dados, configuração de tarefas e sincronização de dados. Inclui permissões de gerenciamento para recursos de nuvem como RDS, Redis, MongoDB, PolarDB-X, HybridDB for MySQL, AnalyticDB for PostgreSQL, PolarDB, DMS e DLF.

AliyunDIDefaultRole

AliyunServiceRoleForDataWorksOpenPlatform

Gerencia eventos do EventBridge para dar suporte aos recursos de mensagens e eventos da Plataforma Aberta do DataWorks.

Função vinculada a serviço AliyunServiceRoleForDataWorksOpenPlatform

AliyunServiceRoleForDataWorksAccessDLF

Recupera metadados do DLF e gerencia permissões de metadados, permitindo que o Security Center processe solicitações e aprovações de permissão do DLF.

Função vinculada a serviço para acesso ao DLF

AliyunServiceRoleForDataWorksScheduler

Gerencia recursos no EventBridge e acessa recursos de outros produtos em nuvem, como o OSS.

Função vinculada a serviço AliyunServiceRoleForDataWorksScheduler

As seções a seguir detalham as funções para os mecanismos MaxCompute e EMR (novo data lake).

Função 1: AliyunServiceRoleForDataworksEngine

  • Nome da função: AliyunServiceRoleForDataworksEngine

  • Finalidade: Função vinculada a serviço que permite ao DataWorks acessar mecanismos de computação (dataworks-engine). O serviço dataworks-engine usa esta função para acessar seus recursos em outros serviços de nuvem.

  • Política anexada: AliyunServiceRolePolicyForDataworksEngine

  • Detalhes da política:

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

Função 2: AliyunServiceRoleForDataworksOnEmr

Importante

Não modifique nem exclua esta função ou sua política de acesso. Essa ação pode interromper o recurso DataWorks on EMR.

  • Nome da função: AliyunServiceRoleForDataworksOnEmr

  • Finalidade: Permite ao DataWorks visualizar dados no Data Map, recuperar metadados de clusters EMR do tipo DLF e ler configurações de clusters EMR.

  • Política anexada: AliyunServiceRolePolicyForDataworksOnEmr

  • Detalhes da política:

    • Permissões de acesso ao 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"
              }
          ]
      }
    • Permissões de acesso ao Data Lake Formation (DLF)

      Se um cluster EMR usar o DLF para gerenciamento de metadados, a função também incluirá estas permissões do DLF para permitir que o DataWorks recupere metadados do 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"
      }
    • Permissões de acesso ao Container Service for Kubernetes (ACK)

      Se o cluster EMR for executado no ACK, a função também incluirá estas permissões do ACK.

      {
        "Action": [
            "cs:DescribeUserPermission",
            "cs:DescribeClusterDetail",
            "cs:DescribeClusterUserKubeconfig",
            "cs:GetClusters",
            "cs:GrantPermissions",
            "cs:RevokeK8sClusterKubeConfig"
        ],
        "Resource": "*",
        "Effect": "Allow"
      }
    • Permissões de acesso ao Serverless Spark

      Se o cluster EMR for do tipo Serverless Spark, a função também incluirá estas permissões.

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

      As permissões de OSS a seguir permitem fazer upload de arquivos SQL e pacotes JAR ou salvar resultados temporários de consultas.

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