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.
Seul un compte Alibaba Cloud ou un utilisateur RAM disposant du rôle
AliyunDataWorksFullAccesspeut accorder ces autorisations. Si un utilisateur RAM ne dispose pas du rôleAliyunDataWorksFullAccess, 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 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 |
|
|
Accorde à DataWorks les autorisations d'accès à MaxCompute. |
|
|
|
Récupère les métadonnées d'EMR (nouveau data lake) pour prévisualiser les enregistrements de données dans Data Map. |
|
|
|
Gère les configurations VPC et de groupe de sécurité pour connecter les groupes de ressources exclusifs aux sources de données. |
|
|
|
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. |
|
|
|
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. |
|
|
|
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 |
|
|
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. |
|
|
|
Gère les ressources dans EventBridge et accède aux ressources d'autres produits cloud tels qu'OSS. |
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
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" }
-