Pour garantir la sécurité des données dans un projet MaxCompute, le propriétaire du projet ou les utilisateurs autorisés doivent gérer les autorisations des membres en suivant le principe du moindre privilège. Cette rubrique présente une vue d'ensemble du système d'autorisations de MaxCompute.
Système d'autorisations
|
Catégorie |
Description |
|
Principal |
MaxCompute prend en charge les types de principals suivants :
|
|
Objet |
MaxCompute offre un contrôle d'accès granulaire sur des objets tels que les projets, les tables, les modèles, les ressources, les fonctions et les instances. Consultez la liste détaillée des autorisations pour chaque objet. |
|
Contrôle d'accès |
MaxCompute propose les méthodes d'autorisation suivantes :
|
|
Autorisation basée sur les rôles |
Pour attribuer les mêmes autorisations à plusieurs utilisateurs, utilisez des rôles afin de simplifier le processus d'autorisation. Pour plus d'informations, consultez Autorisation de rôle au niveau du projet. |
|
Autorisation des utilisateurs |
Vous pouvez accorder des autorisations aux utilisateurs de deux manières :
Pour en savoir plus sur les opérations d'autorisation des utilisateurs, consultez Gérer les autorisations des utilisateurs à l'aide de commandes. |
|
Interroger les informations d'autorisation |
Consultez les autorisations des membres du projet pour vérifier qu'elles ont bien été appliquées. Pour plus d'informations, consultez Interroger les informations d'autorisation. |
DataWorks possède son propre système d'autorisations. Si vous utilisez DataWorks pour gérer un projet MaxCompute, exploitez les fonctionnalités de gestion des utilisateurs et des rôles de DataWorks pour attribuer des rôles et gérer les autorisations. Pour plus d'informations sur la relation entre les autorisations de DataWorks et celles de MaxCompute, consultez Relation entre les autorisations de MaxCompute et de DataWorks.
Flux d'authentification
Lorsqu'un utilisateur effectue une opération sur un objet MaxCompute, le service authentifie la requête et vérifie les autorisations requises. Le propriétaire de la ressource (le compte Alibaba Cloud principal) dispose de toutes les autorisations et peut déléguer des droits de gestion à des utilisateurs RAM ou à des rôles RAM. Le compte principal ainsi que les utilisateurs disposant d'autorisations de gestion peuvent ensuite accorder des droits à d'autres utilisateurs, définissant ainsi qui peut accéder à quels objets et réaliser quelles opérations.
Selon l'objet et l'opération concernés, le processus d'authentification de MaxCompute implique une authentification RAM et une authentification au niveau du service MaxCompute. Le schéma ci-dessous illustre ce flux d'authentification.
Authentification RAM
Lorsqu'un utilisateur active un service, achète des ressources ou gère des quotas, des projets ou des locataires dans la console MaxCompute, Alibaba Cloud utilise RAM pour authentifier la requête et valider les autorisations. En cas d'échec de l'authentification, l'opération est bloquée.
Pour la liste des opérations nécessitant une authentification RAM, consultez Autorisations RAM.
Pour attribuer des stratégies d'autorisation système à des utilisateurs RAM ou à des rôles RAM, consultez Gérer les autorisations d'un utilisateur RAM.
Authentification du service MaxCompute
-
Authentification des opérations au niveau du projet
Les opérations au niveau du projet MaxCompute incluent les opérations sur les objets du projet et les opérations de gestion du projet.
Autorisations d'opération sur les objets au niveau du projet : il s'agit des autorisations relatives aux opérations effectuées sur les objets d'un projet, tels que les projets, les tables, les modèles, les fonctions, les ressources et les instances. Parmi les exemples figurent CreateTable, CreateModel, CreateInstance et SelectTable. Pour plus d'informations, consultez Liste des autorisations sur les projets et les objets contenus dans les projets.
Autorisations de gestion au niveau du projet : elles concernent la configuration de la sécurité du projet, la gestion des autorisations des utilisateurs et des rôles du projet, la gestion des packages, le contrôle d'accès basé sur les labels et la suppression des autorisations expirées. Pour plus d'informations, consultez Liste des autorisations de gestion de projet.
Le flux d'authentification pour les opérations au niveau du projet MaxCompute se déroule comme suit :
-
Authentification de l'utilisateur. Pour plus d'informations, consultez Authentification des utilisateurs.
Connectez-vous à la console MaxCompute à l'aide d'un compte Alibaba Cloud, qu'il s'agisse d'un compte principal ou d'un utilisateur RAM.
Lorsque vous vous connectez à MaxCompute via un outil tel qu'odpscmd ou JDBC, saisissez un ID AccessKey et un secret AccessKey.
Quand un utilisateur se connecte à MaxCompute, le système vérifie s'il est membre du projet actuel. Un utilisateur ne peut effectuer des opérations dans un projet qu'après qu'un administrateur a exécuté la commande
add user "xxx"pour l'ajouter au projet.
Vérification de la source de la requête (vérification de l'adresse IP) : le système contrôle la liste blanche d'adresses IP. Pour plus d'informations, consultez Gérer les listes blanches d'adresses IP.
Vérification de l'état du projet : le système s'assure que le projet est dans un état normal.
Vérification des autorisations MaxCompute : une fois ajouté à un projet, l'utilisateur doit recevoir les autorisations nécessaires pour réaliser ses opérations. Ces droits peuvent être accordés par diverses méthodes d'autorisation, notamment le contrôle d'accès basé sur les ACL, le contrôle d'accès basé sur les politiques, le contrôle des autorisations de téléchargement, le contrôle d'accès basé sur les labels et l'accès aux ressources interprojets via les packages. Pour savoir comment gérer les utilisateurs au niveau du projet, consultez Gérer les autorisations des utilisateurs à l'aide de commandes.
-
Authentification des opérations au niveau du locataire
Les autorisations d'opération au niveau du locataire MaxCompute comprennent les autorisations d'opération sur les objets du locataire et les autorisations de gestion au niveau du locataire.
-
Les autorisations d'opération sur les objets au niveau du locataire englobent les opérations sur des objets tels que les quotas et NetworkLink. Parmi les exemples figurent
use quotaetCreateNetworkLink. Pour obtenir la liste des opérations, consultez Liste des autorisations sur les objets au sein d'un locataire.Les opérations sur les objets au niveau du locataire permettent également à un seul compte de gérer plusieurs objets de projet, ce qui simplifie la gestion des autorisations.
Les autorisations de gestion au niveau du locataire servent à administrer les utilisateurs et les rôles à cette échelle. Elles incluent l'ajout ou la suppression d'utilisateurs au niveau du locataire, la création ou la suppression de rôles au niveau du locataire, la consultation des listes d'utilisateurs et de rôles ainsi que de leurs autorisations, l'attribution de rôles au niveau du locataire aux utilisateurs, la révocation de ces rôles, l'ajout de rôles au niveau du locataire à un projet et leur retrait d'un projet.
Lorsqu'un utilisateur tente d'effectuer ces opérations, MaxCompute authentifie l'utilisateur et vérifie s'il détient les autorisations requises. Si ce n'est pas le cas, l'opération est bloquée.
-
Flux d'autorisation
Voici les flux d'autorisation courants dans MaxCompute :
-
Flux 1 : accorder directement à un utilisateur des autorisations d'opération sur un objet
Après que le propriétaire du projet ou un utilisateur disposant d'un rôle de gestion intégré a ajouté l'utilisateur cible au projet MaxCompute, un utilisateur autorisé lui accorde des autorisations d'opération sur l'objet via le contrôle d'accès basé sur les ACL.

-
Flux 2 : accorder à plusieurs utilisateurs des autorisations d'opération sur un objet en utilisant un rôle
Une fois que le propriétaire du projet ou un utilisateur doté d'un rôle de gestion intégré a ajouté les utilisateurs cibles et un rôle au projet MaxCompute, un utilisateur autorisé accorde au rôle cible des autorisations d'opération sur l'objet par le biais du contrôle d'accès basé sur les ACL, du contrôle d'accès basé sur les politiques ou du contrôle des autorisations de téléchargement. Ensuite, l'utilisateur attribue ce rôle aux utilisateurs cibles.

-
Flux 3 : accorder directement à un utilisateur l'accès à des données hautement sensibles
Après l'ajout de l'utilisateur cible au projet MaxCompute par le propriétaire du projet ou un utilisateur disposant d'un rôle de gestion intégré, le propriétaire du projet ou un utilisateur ayant le rôle Admin définit un niveau d'accès autorisé pour cet utilisateur. Si l'utilisateur doit accéder à des données spécifiques hautement sensibles, accordez-lui l'accès grâce au contrôle d'accès basé sur les labels.

-
Flux 4 : accorder à plusieurs utilisateurs l'accès à des données hautement sensibles en utilisant un rôle
Une fois les utilisateurs cibles ajoutés au projet MaxCompute par le propriétaire du projet ou un utilisateur disposant d'un rôle de gestion intégré, le propriétaire du projet ou un utilisateur ayant le rôle Admin définit un niveau d'accès autorisé pour ces utilisateurs. Pour permettre à plusieurs utilisateurs d'accéder aux mêmes données hautement sensibles, créez un rôle, accordez-lui l'accès à ces données via le contrôle d'accès basé sur les labels, puis attribuez ce rôle aux utilisateurs.

-
Flux 5 : accéder aux ressources entre projets et accorder directement à un utilisateur du projet cible l'accès aux ressources d'un package
Le propriétaire du projet source crée un package, y ajoute des ressources, puis accorde au projet cible l'autorisation d'installer ce package. Le propriétaire du projet cible installe le package et accorde les autorisations à l'utilisateur en utilisant le contrôle d'accès basé sur les ACL ou le contrôle d'accès basé sur les labels.

-
Flux 6 : accéder aux ressources entre projets et accorder aux utilisateurs l'accès aux ressources d'un package en utilisant un rôle
Le propriétaire du projet source crée un package, y ajoute des ressources, puis accorde au projet cible l'autorisation d'installer ce package. Le propriétaire du projet cible installe le package, accorde les autorisations à un rôle via le contrôle d'accès basé sur les ACL ou le contrôle d'accès basé sur les labels, puis attribue ce rôle aux utilisateurs.

Relation entre les autorisations de MaxCompute et de DataWorks
Pour comprendre la relation entre les autorisations de ces deux services, saisissez le lien entre les projets MaxCompute et les espaces de travail DataWorks :
Lorsque vous créez un projet MaxCompute, si l'espace de travail DataWorks est en mode Basic Mode, il est lié à un seul projet MaxCompute.
Si l'espace de travail DataWorks est en mode Standard Mode, il est associé à la fois à un projet de développement MaxCompute (_dev) et à un projet de production MaxCompute (Prod).
Configurez également l'identité MaxCompute Visitor Identity, qui détermine la stratégie d'autorisation au niveau du compte pour le projet MaxCompute.
Les paramètres d'autorisation de MaxCompute n'affectent pas les opérations des utilisateurs dans l'interface utilisateur de DataWorks. DataWorks offre une interface visuelle pour gérer les autorisations des projets MaxCompute. Toutefois, l'attribution de rôles aux utilisateurs dans DataWorks peut influencer leurs droits sur les ressources MaxCompute.
DataWorks et MaxCompute utilisent tous deux des utilisateurs et des rôles. Leur relation en matière d'autorisations est la suivante :
-
Rôles et autorisations associées
Afin de fournir aux membres du projet les autorisations sur les ressources MaxCompute dont ils ont besoin lors du développement des données, DataWorks prédéfinit plusieurs rôles MaxCompute. Le tableau ci-dessous décrit la correspondance entre les rôles MaxCompute et les rôles prédéfinis de DataWorks.
Correspondance
Détails des autorisations
Rôle ou identité DataWorks
Rôle MaxCompute
Autorisations de l'environnement de développement
Autorisations de l'environnement de production
Description
Administrateur de l'espace de travail
Role_Project_Admin
-
Au niveau du moteur MaxCompute : toutes les autorisations pour project/table/function/resource/instance/job dans le projet actuel, ainsi que l'autorisation
readsur lespackages. -
Au niveau de DataWorks : peut effectuer le développement des données et déployer des tâches dans l'environnement de production.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Les utilisateurs dotés de ce rôle peuvent gérer les propriétés de base de l'espace de travail, les sources de données, les configurations du moteur de calcul et les membres. Ils peuvent également attribuer les rôles Administrateur de l'espace de travail, Développement, O&M, Déploiement et Visiteur à d'autres membres.
Développement
Role_Project_Dev
-
Au niveau du moteur MaxCompute : toutes les autorisations sur les projets, tables, fonctions, ressources, instances et jobs du projet actuel, ainsi que l'autorisation
readsur lespackage. -
Au niveau de DataWorks : peut effectuer le développement des données, mais ne peut pas déployer de tâches dans l'environnement de production.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Les utilisateurs dotés de ce rôle peuvent créer des workflows, des fichiers de script, des ressources, des UDF et des packages de déploiement. Ils peuvent également créer et supprimer des tables, mais ne peuvent pas effectuer de déploiement.
O&M
Role_Project_Pe
Dispose de toutes les autorisations sur les objets project, function, resource, instance et job dans le projet actuel, ainsi que de l'autorisation Read sur les packages et des autorisations Read/Describe sur les tables.
RemarqueBien que ce rôle dispose d'autorisations au niveau du moteur MaxCompute, les utilisateurs ayant le rôle O&M ne peuvent pas exécuter directement des nœuds depuis l'interface utilisateur de DataWorks.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Un administrateur de l'espace de travail attribue le rôle O&M. Les utilisateurs dotés de ce rôle peuvent effectuer des déploiements et assurer la maintenance en ligne (O&M), mais pas le développement des données.
Déploiement
Role_Project_Deploy
Aucune autorisation par défaut.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Ce rôle est similaire au rôle O&M, mais n'inclut pas les autorisations pour la maintenance en ligne (O&M).
Visiteur
Role_Project_Guest
Aucune autorisation par défaut.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Les utilisateurs dotés de ce rôle disposent d'un accès en lecture seule. Ils ne peuvent pas modifier les workflows, le code ou d'autres éléments.
Responsable de la sécurité
Role_Project_Security
Aucune autorisation par défaut.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Le responsable de la sécurité est utilisé uniquement dans le module Data Security Guard pour des tâches telles que la configuration des règles de sensibilité et l'audit des risques liés aux données.
Analyste de données
Role_Project_Data_Analyst
-
Au niveau du moteur MaxCompute : dispose des autorisations
CreateInstanceetCreateTabledans le projet actuel. -
Au niveau de DataWorks : peut afficher les modèles dans Data Modeling et utiliser les fonctionnalités de Data Analysis.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Accorde des autorisations uniquement pour les opérations dans le module Data Analysis.
Concepteur de modèles
Role_Project_Erd
Aucune autorisation par défaut.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Les utilisateurs dotés de ce rôle peuvent afficher les modèles dans Data Modeling et gérer la planification de l'entrepôt de données, les normes de données, la modélisation dimensionnelle et les métriques de données. Ce rôle n'accorde pas l'autorisation de publier des modèles.
Administrateur de la gouvernance des données
Role_Project_Data_Governance
Aucune autorisation par défaut.
Par défaut, ce rôle ne dispose d'aucune autorisation. Les autorisations nécessitent une approbation dans Security Center.
Ce rôle s'applique uniquement au Data Governance Center. Il permet aux utilisateurs d'afficher les problèmes de gouvernance, de définir des plans de gouvernance et d'activer des éléments de contrôle dans les espaces de travail qu'ils gèrent. Il n'accorde aucune autorisation pour le développement des données ou l'O&M.
propriétaire de l'espace de travail (compte Alibaba Cloud)
Project Owner
En tant que propriétaire du projet MaxCompute, ce rôle dispose de toutes les autorisations sur le projet.
Dispose de toutes les autorisations.
S/O
S/O
Super_Administrator
En tant que super administrateur du projet MaxCompute, ce rôle détient les autorisations administratives et toutes les autorisations sur tous les types de ressources au sein du projet.
Dispose de toutes les autorisations.
S/O
S/O
Admin
Lors de la création d'un projet, un rôle Admin est automatiquement créé avec un ensemble fixe d'autorisations. Ce rôle peut accéder à tous les objets du projet, gérer et autoriser les utilisateurs et les rôles. Contrairement au propriétaire du projet, le rôle Admin ne peut pas attribuer d'autorisations Admin à d'autres utilisateurs, configurer les paramètres de sécurité du projet ni modifier le modèle d'authentification du projet. Le propriétaire du projet peut attribuer le rôle Admin à un utilisateur pour déléguer la gestion de la sécurité.
Dispose de toutes les autorisations.
S/O
S/O
Role_Project_Scheduler
Aucune autorisation par défaut.
-
Au niveau du moteur MaxCompute : dispose de toutes les autorisations sur les objets project, table, function, resource, instance et job dans le projet actuel, ainsi que de l'autorisation read sur les packages.
-
Au niveau de DataWorks : utilisé comme identité d'exécution dans l'environnement de planification de production.
RemarqueLorsqu'un utilisateur RAM ou un rôle RAM est défini comme identité d'accès de planification pour l'environnement de production d'un projet MaxCompute (c'est-à-dire configuré en tant que Default Access Identity lors de la création d'une source de données de production), DataWorks mappe l'utilisateur ou le rôle au rôle Role_Project_Scheduler du projet MaxCompute. Pour plus d'informations sur la configuration de l'identité d'accès par défaut, consultez Lier un moteur de calcul MaxCompute.
Sert d'identité unifiée pour planifier et exécuter les tâches MaxCompute dans l'environnement de production.
-
-
Utilisateurs et autorisations des utilisateurs
Dans un espace de travail DataWorks, le Project Owner doit être un compte Alibaba Cloud, et les membres du projet ne peuvent être que des utilisateurs RAM rattachés au compte Alibaba Cloud propriétaire du projet. Utilisez Workspace Management dans DataWorks pour ajouter des utilisateurs et attribuer des rôles.
Dans un projet MaxCompute, un compte Alibaba Cloud peut être Project Owner ou membre du projet. Les membres du projet peuvent également être des utilisateurs RAM rattachés à un compte Alibaba Cloud. Ajoutez un utilisateur en exécutant la commande
add user xxx;. Ajoutez un rôle et attribuez-le à un utilisateur en exécutant les commandesadd role xxx;etgrant role xxx to user xxx;.
Le schéma ci-dessous illustre la relation entre les utilisateurs et les autorisations pour différents modes d'espace de travail et identités de visiteur prises en charge.
RemarqueLes autorisations MaxCompute correspondant aux rôles DataWorks sont fixes. Si un utilisateur obtient des autorisations via un rôle DataWorks, puis reçoit des autorisations MaxCompute supplémentaires par le biais de commandes, ses autorisations réelles dans MaxCompute peuvent différer de celles affichées dans DataWorks.