Cette page explique comment créer et gérer des rôles personnalisés dans Google Distributed Cloud (GDC) avec isolation physique. Les rôles personnalisés vous permettent de gérer l'accès au-delà des ensembles d'autorisations standards disponibles dans les rôles prédéfinis. Vous pouvez ainsi configurer les autorisations pour répondre à vos critères spécifiques.
Les rôles personnalisés suivent le principe du moindre privilège et sont utiles pour accorder l'accès minimal requis pour les tâches sensibles, ce qui réduit les risques de sécurité et évite les conflits d'intérêts.
La création d'un rôle personnalisé vous permet d'effectuer les opérations suivantes :
- Définissez le niveau d'accès : choisissez d'appliquer les autorisations à l'ensemble de votre organisation, à tous les projets ou de les limiter à des projets spécifiques.
- Personnaliser l'accès précis : sélectionnez une ou plusieurs autorisations déjà disponibles via des rôles prédéfinis pour personnaliser l'accès à des tâches ou responsabilités spécifiques.
Les rôles personnalisés sont limités par le champ d'application dans lequel ils sont créés. L'accès au rôle personnalisé ne peut être accordé qu'au sein de l'organisation ou du projet dans lequel le rôle personnalisé a été créé.
Cette page s'adresse aux membres du groupe d'administrateurs de plate-forme, tels que les administrateurs informatiques ou les ingénieurs en sécurité, qui souhaitent gérer de manière sécurisée l'accès aux ressources de l'organisation. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.
Pour en savoir plus sur les rôles, consultez les pages Descriptions des rôles prédéfinis et Définitions des rôles.
Avant de commencer
Avant de créer ou de gérer des rôles personnalisés, vous devez demander les autorisations nécessaires et préparer votre environnement.
Demander des rôles IAM au niveau de l'organisation
Pour créer, mettre à jour et supprimer des rôles personnalisés dans une organisation ou un projet, contactez l'administrateur de l'organisation IAM pour demander le rôle Administrateur de l'organisation pour les rôles personnalisés (custom-role-org-admin).
En savoir plus sur l'attribution d'autorisations de rôle pour les organisations
Demander des rôles IAM au niveau du projet
Pour créer, mettre à jour et supprimer des rôles personnalisés dans un projet spécifique, contactez votre administrateur de projet IAM pour demander le rôle Administrateur de projet de rôles personnalisés (custom-role-project-admin).
En savoir plus sur l'attribution d'autorisations de rôle pour les projets
Préparer votre environnement
Pour utiliser les outils de ligne de commande afin de créer ou de gérer des rôles personnalisés, procédez comme suit :
Téléchargez et installez la CLI gdcloud, si ce n'est pas déjà fait.
Pour utiliser l'API avec
kubectl, une configuration supplémentaire est requise :- Installez la CLI kubectl.
- Générez le fichier kubeconfig pour le serveur d'API global afin de configurer l'accès à
kubectl.
Afficher les rôles et leurs autorisations
Un rôle personnalisé est constitué d'un groupe d'autorisations que vous pouvez attribuer à des utilisateurs. Pour créer un rôle personnalisé, sélectionnez des autorisations dans des rôles prédéfinis existants et combinez-les en fonction de vos besoins. Les autorisations que vous pouvez inclure dans un rôle personnalisé dépendent du niveau auquel vous créez le rôle : organisation ou projet.
Cette section explique comment lister les rôles disponibles (prédéfinis et personnalisés) et afficher les autorisations qu'ils contiennent. Vous pouvez utiliser ces informations pour effectuer les opérations suivantes :
- Identifier les autorisations pour les nouveaux rôles personnalisés : découvrez les chaînes d'autorisation spécifiques requises pour l'option
--permissionslorsque vous utilisez la CLI gdcloud pour créer un rôle personnalisé. - Examiner les rôles existants : examinez les autorisations associées à un rôle prédéfini ou personnalisé au niveau du champ d'application sélectionné (organisation ou projet).
Répertoriez les rôles et examinez leurs autorisations à l'aide de la console GDC ou de la CLI gdcloud :
Console
- Connectez-vous à la console GDC.
- Dans le sélecteur de projet, sélectionnez l'organisation ou le projet dont vous souhaitez afficher les rôles.
Dans le menu de navigation, cliquez sur Identité et accès > Rôles.
La liste des rôles prédéfinis et personnalisés disponibles s'affiche.
Cliquez sur le nom d'un rôle pour afficher ses détails, y compris les autorisations attribuées.
Les autorisations listées pour les rôles prédéfinis au niveau du champ d'application actuel (organisation ou projet) sont celles qui peuvent être incluses dans un nouveau rôle personnalisé.
gdcloud
- Assurez-vous d'avoir installé la CLI gdcloud. Pour en savoir plus, consultez la page de présentation de la gdcloud CLI.
Répertoriez les rôles disponibles :
gdcloud iam roles list \ --type=ROLE_TYPE \ --project=PROJECTRemplacez les éléments suivants :
ROLE_TYPE: type de rôles à lister. Les valeurs valides sontpredefined,customouall.PROJECT: espace de noms du projet dans lequel vous souhaitez afficher les rôles. Omettez l'option--projectpour les rôles limités à l'organisation.
Affichez les autorisations spécifiques d'un rôle :
gdcloud iam roles describe ROLE_NAME \ --project=PROJECTRemplacez les éléments suivants :
ROLE_NAME: nom de la ressource Kubernetes du rôlePROJECT: espace de noms du projet dans lequel vous souhaitez afficher les autorisations de rôle. Omettez l'option--projectpour les rôles limités à l'organisation.
Pour en savoir plus sur les commandes et obtenir des exemples d'utilisation, consultez gdcloud iam roles list et gdcloud iam roles describe.
Créer un rôle personnalisé
Créez un rôle personnalisé en regroupant les autorisations de rôles prédéfinis. Les rôles personnalisés héritent des fonctionnalités multizones IAM des rôles prédéfinis sur lesquels ils sont basés. Après avoir créé un rôle personnalisé, vous pouvez accorder l'accès aux utilisateurs.
Créez un rôle personnalisé à l'aide de la console GDC, de la CLI gdcloud ou de l'API :
Console
- Connectez-vous à la console GDC.
- Dans le sélecteur de projet, sélectionnez l'organisation ou le projet dans lequel vous souhaitez créer un rôle personnalisé.
- Dans le menu de navigation, cliquez sur Identité et accès > Rôles.
- Cliquez sur Créer un rôle personnalisé.
- Dans le champ Titre, saisissez le titre de votre rôle personnalisé.
- Dans le champ Description, décrivez l'objectif de votre rôle personnalisé.
Dans le champ ID, saisissez l'identifiant unique de votre rôle personnalisé.
Les ID de rôle personnalisé peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et ne peuvent pas être modifiés après la création du rôle.
Sélectionnez une étape de lancement.
Sélectionnez le champ d'application de votre rôle personnalisé.
Si vous sélectionnez Organisation, le rôle personnalisé s'applique à toutes les ressources de l'organisation. Si vous sélectionnez Projets, le rôle personnalisé s'applique à tous les projets actuels et futurs de l'organisation. Vous pouvez sélectionner Limiter aux projets sélectionnés si vous souhaitez spécifier les projets pouvant accéder au rôle personnalisé.
Cliquez sur Ajouter des autorisations.
Cochez la case à côté d'une ou de plusieurs des autorisations compatibles que vous souhaitez attribuer à votre rôle personnalisé.
Les autorisations disponibles sont limitées au champ d'application que vous avez sélectionné. Si vous modifiez le champ d'application après avoir ajouté des autorisations, vous devez confirmer que toutes les autorisations précédemment attribuées sont réinitialisées.
Cliquez sur Enregistrer.
Cliquez sur Create (Créer).
Votre nouveau rôle personnalisé s'affiche sur la page Rôles.
gdcloud
- Assurez-vous d'avoir installé la CLI gdcloud. Pour en savoir plus, consultez la page de présentation de la gdcloud CLI.
Créez un rôle personnalisé :
gdcloud iam roles create ROLE_ID \ --title=TITLE \ --description=DESCRIPTION \ --permissions=PERMISSIONS --stage=LAUNCH_STAGERemplacez les éléments suivants :
ROLE_ID: identifiant unique de votre rôle personnalisé. Les ID de rôle personnalisé peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et contenir des traits d'union. Les ID de rôle personnalisé ne peuvent pas être modifiés après la création du rôle.TITLE: titre convivial pour le rôle personnaliséDESCRIPTION: description de l'objectif du rôle personnaliséPERMISSIONS: liste des autorisations que vous souhaitez accorder pour le rôle personnalisé, séparées par une virgulePour savoir comment trouver les chaînes d'autorisation appropriées, consultez Afficher les rôles et leurs autorisations. Chaque chaîne d'autorisation doit être mise en forme conformément aux instructions de la commande gdcloud iam roles create, où
iamRoleNameest le nom de ressource Kubernetes du rôle prédéfini contenant l'autorisation. Vous pouvez trouver le nom de ressource Kubernetes d'un rôle sur la page Définitions des rôles ou à l'aide de la commande gdcloud iam roles list.LAUNCH_STAGE: facultatif. Étape de lancement du rôle personnalisé. Les valeurs valides sontALPHA,BETA,GAouDISABLED. La valeur par défaut estALPHAsi cette option est omise.
Pour obtenir la liste complète des options obligatoires et facultatives, ainsi que des exemples d'utilisation, consultez gdcloud iam roles create.
Vous pouvez également définir le rôle personnalisé dans un fichier YAML et utiliser l'option
--file:gdcloud iam roles create ROLE_ID --file=YAML_FILE_PATHRemplacez
YAML_FILE_PATHpar le chemin d'accès au fichier YAML contenant les options obligatoires et facultatives. Si vous utilisez l'option--file, toutes les autres options telles que--title,--descriptionet--permissionssont ignorées.
API
Créez et appliquez la ressource personnalisée CustomRole à l'aide de kubectl :
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: LAUNCH_STAGE
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Remplacez les éléments suivants :
ROLE_NAME: nom de la ressource Kubernetes du rôleNAMESPACE: espace de noms du rôle personnalisé. Utilisezplatformpour les rôles à l'échelle de l'organisation et pour plusieurs projets. Utilisez l'espace de noms du projet (tel quemy-project) pour les rôles limités au projet et les projets uniques.DESCRIPTION: description de l'objectif du rôle personnaliséROLE_ID: identifiant unique de votre rôle personnalisé. Les ID de rôle personnalisé peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et contenir des traits d'union. Les ID de rôle personnalisés ne peuvent pas être modifiés après la création du rôle.SCOPE: utilisezorganizationpour les rôles créés dans l'espace de nomsplatform. Utilisezprojectpour les rôles créés dans un espace de noms de projet.LAUNCH_STAGE: facultatif. Étape de lancement du rôle personnalisé. Les valeurs valides sontALPHA,BETA,GAouDISABLED. La valeur par défaut estALPHAsi ce champ est omis.TITLE: titre convivial pour le rôle personnaliséRULES_TYPE: champ d'application des règles. Remplacez parglobalRules(pour les autorisations dans l'API globale),zonalRules(pour les autorisations dans l'API zonale) ou les deux.RULES_LIST: liste en retrait d'objets de règle Kubernetes RBAC standards. Chaque objet de la liste accorde des autorisations. Vous pouvez déterminer les valeursapiGroups,resourcesetverbsappropriées en examinant les autorisations des rôles prédéfinis à l'aide degdcloud iam roles describe, comme indiqué dans Afficher les rôles et leurs autorisations.L'exemple suivant montre la structure d'un seul élément dans un objet
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Vous pouvez inclure plusieurs éléments dans la liste, chacun définissant un ensemble d'autorisations différent.
Gérer un rôle personnalisé
Vous êtes responsable de la gestion du cycle de vie de vos rôles personnalisés. Lorsque Distributed Cloud ajoute des autorisations, des fonctionnalités ou des services, il met à jour les rôles prédéfinis. Les mises à jour telles que la suppression d'un rôle prédéfini ou la suppression d'autorisations d'un rôle prédéfini peuvent rendre non fonctionnels les rôles personnalisés qui s'appuient sur ces autorisations. Vous devez surveiller ces mises à jour et ajuster manuellement les rôles personnalisés concernés pour vous assurer qu'ils continuent de fonctionner comme prévu.
Vous pouvez modifier, désactiver ou supprimer un rôle personnalisé, mais pas un rôle prédéfini. Pour afficher la liste de tous les rôles et de leurs autorisations spécifiques, consultez Afficher les rôles et leurs autorisations.
Modifier un rôle personnalisé
Modifiez un rôle personnalisé à l'aide de la console GDC, de la CLI gdcloud ou de l'API :
Console
- Connectez-vous à la console GDC.
- Dans le sélecteur de projet, sélectionnez l'organisation ou le projet dans lequel vous souhaitez modifier un rôle personnalisé.
- Dans le menu de navigation, cliquez sur Identité et accès > Rôles.
- Dans la liste des rôles, sélectionnez le rôle personnalisé que vous souhaitez modifier.
- Sur la page d'informations du rôle personnalisé, cliquez sur Modifier.
- Modifiez les détails de votre rôle personnalisé, tels que le titre, la description, l'ID ou l'étape de lancement.
- (Facultatif) Ajoutez ou supprimez des autorisations attribuées.
- Cliquez sur Ajouter des autorisations pour sélectionner des autorisations dans la liste des autorisations disponibles.
- Pour supprimer une autorisation attribuée, cochez la case à côté de l'autorisation que vous souhaitez supprimer, puis cliquez sur Supprimer.
Cliquez sur Enregistrer.
Un message s'affiche pour confirmer que vos modifications ont été enregistrées.
gdcloud
- Assurez-vous d'avoir installé la CLI gdcloud. Pour en savoir plus, consultez la page de présentation de la gdcloud CLI.
Modifier un rôle personnalisé :
gdcloud iam roles update ROLE_ID \ --title=TITLE \ --description=DESCRIPTION \ --permissions=PERMISSIONS --stage=LAUNCH_STAGERemplacez les éléments suivants :
ROLE_ID: identifiant unique de votre rôle personnalisé.TITLE: titre convivial pour le rôle personnaliséDESCRIPTION: description de l'objectif du rôle personnaliséPERMISSIONS: liste des autorisations que vous souhaitez accorder pour le rôle personnalisé, séparées par une virgulePour savoir comment trouver les chaînes d'autorisation appropriées, consultez Afficher les rôles et leurs autorisations. Chaque chaîne d'autorisation doit être mise en forme conformément aux instructions de la commande gdcloud iam roles create, où
iamRoleNameest le nom de ressource Kubernetes du rôle prédéfini contenant l'autorisation. Vous pouvez trouver le nom de ressource Kubernetes d'un rôle sur la page Définitions des rôles ou à l'aide de la commande gdcloud iam roles list.LAUNCH_STAGE: facultatif. Étape de lancement du rôle personnalisé. Les valeurs valides sontALPHA,BETA,GAouDISABLED. La valeur par défaut estALPHAsi cette option est omise.
Pour obtenir la liste complète des options obligatoires et facultatives, ainsi que des exemples d'utilisation, consultez gdcloud iam roles update.
Vous pouvez également mettre à jour le rôle personnalisé dans son fichier YAML et utiliser l'option
--file:gdcloud iam roles update ROLE_ID --file=YAML_FILE_PATHRemplacez
YAML_FILE_PATHpar le chemin d'accès au fichier YAML contenant les options obligatoires et facultatives mises à jour. Si vous utilisez l'option--file, toutes les autres options telles que--title,--descriptionet--permissionssont ignorées.
API
Modifiez une ressource personnalisée CustomRole à l'aide de kubectl :
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: LAUNCH_STAGE
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Remplacez les éléments suivants :
ROLE_NAME: nom de la ressource Kubernetes du rôleNAMESPACE: espace de noms du rôle personnalisé. Utilisezplatformpour les rôles à l'échelle de l'organisation et pour plusieurs projets. Utilisez l'espace de noms du projet (tel quemy-project) pour les rôles limités au projet et les projets uniques.DESCRIPTION: description de l'objectif du rôle personnaliséROLE_ID: identifiant unique de votre rôle personnalisé. Les ID de rôle personnalisé peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et contenir des traits d'union. Les ID de rôle personnalisés ne peuvent pas être modifiés après la création du rôle.SCOPE: utilisezorganizationpour les rôles créés dans l'espace de nomsplatform. Utilisezprojectpour les rôles créés dans un espace de noms de projet.LAUNCH_STAGE: facultatif. Étape de lancement du rôle personnalisé. Les valeurs valides sontALPHA,BETA,GAouDISABLED. La valeur par défaut estALPHAsi ce champ est omis.TITLE: titre convivial pour le rôle personnaliséRULES_TYPE: champ d'application des règles. Remplacez parglobalRules(pour les autorisations dans l'API globale),zonalRules(pour les autorisations dans l'API zonale) ou les deux.RULES_LIST: liste en retrait d'objets de règle Kubernetes RBAC standards. Chaque objet de la liste accorde des autorisations. Vous pouvez déterminer les valeursapiGroups,resourcesetverbsappropriées en examinant les autorisations des rôles prédéfinis à l'aide degdcloud iam roles describe, comme indiqué dans Afficher les rôles et leurs autorisations.L'exemple suivant montre la structure d'un seul élément dans un objet
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Vous pouvez inclure plusieurs éléments dans la liste, chacun définissant un ensemble d'autorisations différent.
Désactiver un rôle personnalisé
Les rôles personnalisés désactivés restent dans votre liste de rôles et peuvent toujours être attribués aux utilisateurs. Toutefois, le rôle n'a aucun effet. Vous pouvez réactiver le rôle personnalisé à tout moment.
Désactivez un rôle personnalisé à l'aide de la console GDC, de la CLI gdcloud ou de l'API :
Console
- Connectez-vous à la console GDC.
- Dans le sélecteur de projet, sélectionnez l'organisation ou le projet dans lequel vous souhaitez désactiver un rôle personnalisé.
- Dans le menu de navigation, cliquez sur Identité et accès > Rôles.
- Dans la liste des rôles, sélectionnez le rôle personnalisé que vous souhaitez désactiver.
- Sur la page d'informations du rôle personnalisé, cliquez sur Désactiver.
gdcloud
- Assurez-vous d'avoir installé la CLI gdcloud. Pour en savoir plus, consultez la page de présentation de la gdcloud CLI.
Désactiver un rôle personnalisé :
gdcloud iam roles update ROLE_ID --stage=DISABLEDRemplacez les éléments suivants :
ROLE_ID: identifiant unique de votre rôle personnalisé.
Pour en savoir plus, consultez gdcloud iam roles update.
API
Désactivez une ressource personnalisée CustomRole en remplaçant le champ stage par DISABLED. Assurez-vous que tous les autres champs correspondent aux valeurs actuelles du rôle personnalisé que vous souhaitez désactiver.
kubectl apply -f - <<EOF
apiVersion: iam.global.gdc.goog/v1
kind: CustomRole
metadata:
name: ROLE_NAME
namespace: NAMESPACE
spec:
metadata:
description: DESCRIPTION
id: ROLE_ID
scope: SCOPE
stage: DISABLED
title: TITLE
RULES_TYPE:
- RULES_LIST
EOF
Remplacez les éléments suivants :
ROLE_NAME: nom de la ressource Kubernetes du rôleNAMESPACE: espace de noms du rôle personnalisé. Utilisezplatformpour les rôles à l'échelle de l'organisation et pour plusieurs projets. Utilisez l'espace de noms du projet (tel quemy-project) pour les rôles limités au projet et les projets uniques.DESCRIPTION: description de l'objectif du rôle personnaliséROLE_ID: identifiant unique de votre rôle personnalisé. Les ID de rôle personnalisé peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et contenir des traits d'union. Les ID de rôle personnalisés ne peuvent pas être modifiés après la création du rôle.SCOPE: utilisezorganizationpour les rôles créés dans l'espace de nomsplatform. Utilisezprojectpour les rôles créés dans un espace de noms de projet.TITLE: titre convivial pour le rôle personnaliséRULES_TYPE: champ d'application des règles. Remplacez parglobalRules(pour les autorisations dans l'API globale),zonalRules(pour les autorisations dans l'API zonale) ou les deux.RULES_LIST: liste en retrait d'objets de règle Kubernetes RBAC standards. Chaque objet de la liste accorde des autorisations. Vous pouvez déterminer les valeursapiGroups,resourcesetverbsappropriées en examinant les autorisations des rôles prédéfinis à l'aide degdcloud iam roles describe, comme indiqué dans Afficher les rôles et leurs autorisations.L'exemple suivant montre la structure d'un seul élément dans un objet
globalRules:globalRules: - apiGroups: ["storage.global.gdc.goog"] resources: ["buckettypes"] verbs: ["get", "list", "watch"]Vous pouvez inclure plusieurs éléments dans la liste, chacun définissant un ensemble d'autorisations différent.
Supprimer un rôle personnalisé
Les rôles supprimés sont définitivement retirés du système. Toutefois, vous pouvez créer un rôle portant le même nom.
Supprimez un rôle personnalisé à l'aide de la CLI gdcloud ou de l'API :
gdcloud
- Assurez-vous d'avoir installé la CLI gdcloud. Pour en savoir plus, consultez la page de présentation de la gdcloud CLI.
Supprimer un rôle personnalisé :
gdcloud iam roles delete ROLE_ID --project=PROJECTRemplacez les éléments suivants :
ROLE_ID: identifiant unique de votre rôle personnalisé.PROJECT: espace de noms du projet dans lequel vous souhaitez supprimer le rôle personnalisé. Si l'option--projectn'est pas spécifiée, le rôle limité à l'organisation est supprimé.
Pour en savoir plus et obtenir des exemples d'utilisation, consultez gdcloud iam roles delete.
API
Supprimez une ressource personnalisée CustomRole à l'aide de kubectl :
kubectl delete -f CUSTOM_ROLE
Remplacez CUSTOM_ROLE par le chemin d'accès à votre fichier YAML CustomRole. Il s'agit du même fichier que celui que vous avez utilisé pour créer ou mettre à jour le rôle.