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.
Somente uma conta Alibaba Cloud ou um usuário RAM com a função
AliyunDataWorksFullAccesspode conceder essas permissões. Se um usuário RAM não tiver a funçãoAliyunDataWorksFullAccess, 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 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 |
|
|
Concede ao DataWorks permissões para acessar o MaxCompute. |
|
|
|
Obtém metadados do EMR (novo data lake) para visualizar registros de dados no Data Map. |
|
|
|
Gerencia configurações de VPC e grupos de segurança para conectar grupos de recursos exclusivos a fontes de dados. |
|
|
|
Lista funções RAM para permitir a seleção durante a configuração de acesso à fonte de dados. |
|
|
|
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. |
|
|
|
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 |
|
|
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. |
|
|
|
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
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" }
-