Cette page explique comment créer et gérer des rôles personnalisés dans Google Distributed Cloud (GDC) air-gapped. 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 en fonction de vos critères spécifiques.
Les rôles personnalisés suivent le principe du moindre privilège et sont utiles pour accorder le minimum d'accès requis pour les tâches sensibles, ce qui permet d'atténuer les risques de sécurité et d'éviter les conflits d'intérêts.
Créer un rôle personnalisé vous permet :
- Définissez le champ d'application de l'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 dans les rôles prédéfinis pour personnaliser l'accès à des tâches ou responsabilités spécifiques.
Cette page s'adresse aux audiences du groupe des administrateurs de plate-forme, comme 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 air-gapped.
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
L'accès aux rôles personnalisés est géré au niveau de l'organisation et du projet. L'accès ne peut être accordé qu'au sein de la même organisation ou du même projet dans lequel le rôle personnalisé a été créé.
Pour obtenir les autorisations nécessaires pour créer et gérer des rôles personnalisés, demandez à votre administrateur de vous accorder l'un des rôles suivants :
Administrateur de rôle personnalisé dans l'organisation : crée et gère des rôles personnalisés dans une organisation ou un projet. Ce rôle permet de mettre à jour, de lister, d'afficher, de désactiver et de supprimer des rôles personnalisés.
Les administrateurs IAM de l'organisation peuvent attribuer ce rôle.
Administrateur de projet avec rôle personnalisé : crée et gère des rôles personnalisés dans un projet. Ce rôle permet de mettre à jour, de lister, d'afficher, de désactiver et de supprimer des rôles personnalisés.
Les administrateurs IAM du projet peuvent attribuer ce rôle.
Découvrez comment attribuer des autorisations de rôle pour les organisations et les projets.
Afficher les rôles et leurs autorisations
Un rôle personnalisé est constitué d'un groupe d'autorisations que vous pouvez attribuer aux utilisateurs. Pour créer un rôle personnalisé, sélectionnez des autorisations dans les rôles prédéfinis existants et combinez-les pour répondre à vos besoins. Les autorisations que vous pouvez inclure dans un rôle personnalisé dépendent du champ d'application dans lequel 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'indicateur
--permissionslorsque vous utilisez la gcloud CLI 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é dans le 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 dans lequel 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 dans le 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é gdcloud CLI. Pour en savoir plus, consultez la page Présentation de la gdcloud CLI.
Répertoriez les rôles disponibles :
gdcloud iam roles list 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'indicateur--projectpour les rôles à l'échelle de 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 ressource Kubernetes du rôle.PROJECT: espace de noms du projet pour lequel vous souhaitez afficher les autorisations de rôle. Omettez l'indicateur--projectpour les rôles à l'échelle de 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 des 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. Une fois que vous avez 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és 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 à votre champ d'application 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 ont été 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é gdcloud CLI. Pour en savoir plus, consultez la page Présentation de la gdcloud CLI.
Pour créer 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és peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et peuvent contenir des traits d'union. Vous ne pouvez pas modifier les ID de rôle personnalisé une fois le rôle créé.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 virgule.Pour 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 gdcloud iam roles create, où
iamRoleNameest le nom de ressource Kubernetes du rôle prédéfini contenant l'autorisation. Vous trouverez le nom de ressource Kubernetes d'un rôle sur la page Définitions de rôle ou à l'aide de la commande gdcloud iam roles list.LAUNCH_STAGE: facultatif. Phase de publication du rôle personnalisé. Les valeurs valides sontALPHA,BETA,GAouDISABLED. La valeur par défaut estALPHAsi cet indicateur est omis.
Pour obtenir la liste complète des indicateurs obligatoires et facultatifs, 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'indicateur
--file:gdcloud iam roles create ROLE_ID --file=YAML_FILE_PATHRemplacez
YAML_FILE_PATHpar le chemin d'accès au fichier YAML contenant les indicateurs obligatoires et facultatifs. 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 ressource Kubernetes du rôle.NAMESPACE: 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 à portée de 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és peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et peuvent contenir des traits d'union. Vous ne pouvez pas modifier les ID de rôles personnalisés une fois les rôles créés.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. Phase de publication 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: ce champ définit le champ d'application des règles. Remplacez parglobalRules(pour les autorisations dans l'API mondiale) ouzonalRules(pour les autorisations dans l'API zonale). Vous ne pouvez pas utiliser les deux dans la même ressourceCustomRole.RULES_LIST: liste indentée d'objets de règles Kubernetes RBAC standards. Chaque objet de la liste accorde des autorisations. Vous pouvez déterminer lesapiGroups,resourcesetverbsappropriés 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 de nouvelles autorisations, fonctionnalités ou services, il met à jour les rôles prédéfinis. Les modifications 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é. En revanche, vous ne pouvez pas modifier, désactiver ni supprimer 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 des détails du rôle personnalisé, cliquez sur Modifier.
- Modifiez les détails de votre rôle personnalisé, comme son titre, sa description, son ID ou son étape de lancement.
- Vous pouvez ajouter ou supprimer des autorisations attribuées.
- Cliquez sur Ajouter des autorisations pour sélectionner des autorisations dans la liste.
- Pour supprimer une autorisation attribuée, cochez la case à côté de celle 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é gdcloud CLI. Pour en savoir plus, consultez la page 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 virgule.Pour 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 gdcloud iam roles create, où
iamRoleNameest le nom de ressource Kubernetes du rôle prédéfini contenant l'autorisation. Vous trouverez le nom de ressource Kubernetes d'un rôle sur la page Définitions de rôle ou à l'aide de la commande gdcloud iam roles list.LAUNCH_STAGE: facultatif. Phase de publication du rôle personnalisé. Les valeurs valides sontALPHA,BETA,GAouDISABLED. La valeur par défaut estALPHAsi cet indicateur est omis.
Pour obtenir la liste complète des indicateurs obligatoires et facultatifs, 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'indicateur
--file:gdcloud iam roles update ROLE_ID --file=YAML_FILE_PATHRemplacez
YAML_FILE_PATHpar le chemin d'accès au fichier YAML contenant les indicateurs obligatoires et facultatifs mis à 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 ressource Kubernetes du rôle.NAMESPACE: 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 à portée de 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és peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et peuvent contenir des traits d'union. Vous ne pouvez pas modifier les ID de rôles personnalisés une fois les rôles créés.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. Phase de publication 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: ce champ définit le champ d'application des règles. Remplacez parglobalRules(pour les autorisations dans l'API mondiale) ouzonalRules(pour les autorisations dans l'API zonale). Vous ne pouvez pas utiliser les deux dans la même ressourceCustomRole.RULES_LIST: liste indentée d'objets de règles Kubernetes RBAC standards. Chaque objet de la liste accorde des autorisations. Vous pouvez déterminer lesapiGroups,resourcesetverbsappropriés 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, ils n'ont 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 gcloud CLI 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 des détails du rôle personnalisé, cliquez sur Désactiver.
gdcloud
- Assurez-vous d'avoir installé gdcloud CLI. Pour en savoir plus, consultez la page 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 gcloud 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 ressource Kubernetes du rôle.NAMESPACE: 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 à portée de 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és peuvent comporter jusqu'à 10 caractères alphanumériques en minuscules et peuvent contenir des traits d'union. Vous ne pouvez pas modifier les ID de rôles personnalisés une fois les rôles créés.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: ce champ définit le champ d'application des règles. Remplacez parglobalRules(pour les autorisations dans l'API mondiale) ouzonalRules(pour les autorisations dans l'API zonale). Vous ne pouvez pas utiliser les deux dans la même ressourceCustomRole.RULES_LIST: liste indentée d'objets de règles Kubernetes RBAC standards. Chaque objet de la liste accorde des autorisations. Vous pouvez déterminer lesapiGroups,resourcesetverbsappropriés 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 supprimé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 gcloud CLI ou de l'API :
gdcloud
- Assurez-vous d'avoir installé gdcloud CLI. Pour en savoir plus, consultez la page 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 à l'échelle de 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 fichier que vous avez utilisé pour créer ou mettre à jour le rôle.