Exemple : accès d'équipe avec des groupes
Ce tutoriel montre comment utiliser les policy tags avec les groupes et rôles IAM pour gérer l'accès aux données des membres d'une équipe
Objectif
Ce tutoriel montre comment utiliser les policy tags avec les groupes IAM et les rôles pour gérer l'accès aux données des membres d'une équipe. En assignant une condition CEL à l'association de rôle d'un groupe, chaque utilisateur ajouté au groupe hérite automatiquement du bon niveau d'accès.
Sommaire
- Scénario
- Étape 1 : Concevoir le schéma de tags
- Étape 2 : Créer et associer les policy tags
- Étape 3 : Créer le groupe IAM
- Étape 4 : Configurer la condition CEL sur le groupe
- Étape 5 : Ajouter des utilisateurs au groupe
- Étape 6 : Vérifier l'accès
- Étendre la configuration
Scénario
Votre entreprise possède un dataset appelé employee_data contenant les tables suivantes :
La table salary_details possède un attribut national_id contenant des informations personnelles identifiables (PII) qui ne doivent être accessibles qu'au personnel RH senior.
Objectif : Les nouveaux membres de l'équipe (newcomers) doivent pouvoir accéder à office_locations et team_directory, mais pas à salary_details ni à performance_reviews. Le personnel RH doit accéder aux données salariales sans voir national_id, sauf s'il s'agit de RH senior.
Étape 1 : Concevoir le schéma de tags
Créez une clé de policy tag access_level avec trois valeurs :
De plus, créez une clé de tag pii avec une valeur :
Étape 2 : Créer et associer les policy tags
Créez les policy tags access_level (avec les valeurs general, hr, management) et pii (avec la valeur restricted).
Puis associez-les aux données :
Les tables office_locations et team_directory n'ont aucun tag explicite. Elles héritent de access_level: general depuis le dataset.
Étape 3 : Créer le groupe IAM
Dans l'Identity Access Manager, créez trois groupes :
Pour chaque groupe, assignez le rôle ADAC Reader (ou le rôle approprié incluant les permissions de lecture de l'Advanced Data Access Control).
Pour des instructions étape par étape sur la création de groupes et l'assignation de rôles, consultez Groups.
Étape 4 : Configurer la condition CEL sur le groupe
Pour l'association de rôle ADAC de chaque groupe, définissez la condition CEL dans l'IAM. Rappel : les conditions doivent suivre l'ordre de la chaîne de contrôles, dataset → table → attribute.
New Joiners : accès aux données general uniquement :
Cette CEL applique access_level: general à chaque niveau. Les New Joiners peuvent accéder à office_locations et team_directory (qui héritent de general depuis le dataset) mais pas à salary_details (hr) ni à performance_reviews (management).
HR Team : accès aux données general + hr, mais PAS aux attributs PII :
Cette CEL :
- Niveau dataset : exige
access_level: general: passe pouremployee_data - Niveau table : autorise
generalouhr: passe pour toutes les tables saufperformance_reviews(management) - Niveau attribute : autorise
generalouhrMAIS exige aussi que le tagpiin'existe pas : refusenational_id(qui possèdepii: restricted)
La vérification !has(PolicyTags.pii) garantit que tout attribut tagué avec la clé pii est refusé, quelle que soit sa valeur. Ceci est utile pour une protection PII générale.
Senior HR : accès complet aux données general + hr incluant les PII :
Cette CEL est identique à celle de HR Team mais sans la restriction !has(PolicyTags.pii). Senior HR peut accéder à national_id.
Pour éditer ces conditions CEL, accédez à l'association de rôle du groupe dans l'IAM et basculez vers l'éditeur CEL. Consultez Écrire des conditions CEL manuellement pour les instructions.
Étape 5 : Ajouter des utilisateurs au groupe
Lorsqu'un nouveau membre de l'équipe rejoint l'entreprise :
- Créez son compte utilisateur dans l'IAM.
- Assignez-lui les rôles de base requis :
- Niveau Organisation :
Organization Viewer - Niveau Projet :
AM Admin(ou le rôle approprié pour son travail)
- Niveau Organisation :
- Ajoutez-le au groupe New Joiners.
C'est tout. La condition CEL du groupe lui accorde automatiquement l'accès aux données taguées general. Aucun besoin de configurer des conditions CEL individuelles.
Lorsqu'il rejoint l'équipe RH :
- Retirez-le du groupe New Joiners.
- Ajoutez-le au groupe HR Team.
Son accès se met à jour immédiatement : il peut désormais voir salary_details (sauf national_id) en plus des tables générales.
Étape 6 : Vérifier l'accès
Utilisez l'Explorer pour vérifier l'accès d'un utilisateur dans chaque groupe :
En tant que New Joiner :
En tant que membre de HR Team :
En tant que Senior HR :
Étendre la configuration
Ajouter un groupe Management
Pour donner aux managers l'accès à performance_reviews, créez un groupe Management avec cette CEL :
Utilisateurs dans plusieurs groupes
Un utilisateur peut appartenir à plusieurs groupes. Si une personne fait partie à la fois de HR Team et de Management, elle obtient l'union des permissions des deux groupes. Elle peut accéder à la fois à salary_details et à performance_reviews.
Lorsqu'un utilisateur appartient à plusieurs groupes, l'association de rôle de chaque groupe est évaluée indépendamment. Si une seule condition CEL d'association de rôle passe, l'utilisateur se voit accorder l'accès. Cela rend les configurations multi-groupes additives.
Comptes de service
Les comptes de service peuvent également être ajoutés aux groupes. Si vous avez un pipeline de reporting qui doit lire des données générales, ajoutez son compte de service au groupe New Joiners plutôt que de configurer des conditions CEL individuelles.
Aller plus loin
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.
Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.
Rejoignez notre communauté d'utilisateurs.