Ce document explique comment gérer les paires clé/valeur de vos tags existants qui organisent vos projets dans Google Distributed Cloud (GDC) sous air gap. Les administrateurs peuvent afficher les tags à l'aide des autorisations Identity and Access Management (IAM). Vous pouvez définir des autorisations pour vos paires clé-valeur de tags afin de contrôler qui peut les consulter lorsqu'elles sont liées à un projet. Vous pouvez également afficher les attributs de tag existants pour suivre la façon dont vos tags sont appliqués dans votre organisation. En voici quelques exemples :
Pour en savoir plus sur les tags, consultez la page Présentation des tags.
Ce document s'adresse aux administrateurs informatiques du groupe d'administrateurs de plate-forme, qui sont chargés d'organiser et de gérer les projets dans un univers GDC. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.
Avant de commencer
Pour obtenir les autorisations nécessaires pour accorder à d'autres utilisateurs des autorisations sur les tags ou pour inspecter les espaces de noms des paires clé/valeur de tag, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur de tags (
tag-admin).Pour obtenir les autorisations nécessaires pour lister un projet avec un tag, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Lecteur de projet (
project-viewer).
Appliquer des autorisations à votre paire clé-valeur de tag
Chaque clé et valeur de tag nécessite des liaisons de rôle spécifiques pour que les utilisateurs puissent y accéder et les gérer.
Définissez les rôles appropriés pour vos clés et valeurs de tag afin d'appliquer des autorisations.
Identifiez le nom du rôle souhaité et les espaces de noms requis pour appliquer ce rôle. Pour en savoir plus, consultez Utilisation des tags.
Accordez les autorisations de rôle pour un tag en appliquant la ressource
RoleBindingpour chaque espace de noms défini :kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: BINDING_NAME namespace: NAMESPACE subjects: - kind: GROUP_SUBJECT name: GROUP_NAME apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: TAG_ROLE_NAME apiGroup: rbac.authorization.k8s.io EOFRemplacez les éléments suivants :
BINDING_NAME: nom personnalisé de l'association de rôle.NAMESPACE: espace de noms auquel appliquer l'association de rôle, tel queplatform, l'espace de noms de gestion de la clé de tag ou l'espace de noms de stratégie de la valeur du tag.GROUP_SUBJECT: type de sujet auquel appliquer les autorisations du rôle. Cette valeur peut êtreUser,GroupouServiceAccount. Pour en savoir plus, consultez la documentation Kubernetes sur les sujets.GROUP_NAME: nom du groupe personnalisé.TAG_ROLE_NAME: nom du rôle de tag à appliquer, tel quetag-adminoutag-KEY_NAME-admin.
Par exemple, pour accorder l'autorisation de rôle
tag-adminà un utilisateur pour une paire clé-valeur de tag, déployez les ressources personnaliséesRoleBindingsuivantes dans l'espace de nomsplatform, la clé de tagmanagementNamespaceet la valeur de tagpolicyNamespace:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-binding namespace: platform subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-mgmt-binding namespace: g-t-tag-key-1 subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-policy-binding namespace: g-t-tag-value-1 subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io EOF
Rechercher l'espace de noms de gestion
Un espace de noms de gestion est un espace de noms généré par le système et créé pour une clé de tag.
Recherchez l'espace de noms de gestion de la clé de tag spécifique :
kubectl get tagkey TAG_KEY_NAME --namespace platform \ -o jsonpath='{.status.managementNamespace}'Remplacez
TAG_KEY_NAMEpar le nom de votre clé de tag.
Rechercher l'espace de noms de la règle
Un espace de noms de règle est un espace de noms généré par le système et créé pour une valeur de tag.
Recherchez l'espace de noms de la règle associé à la valeur de tag spécifique :
kubectl get tagvalue TAG_VALUE_NAME --namespace MANAGEMENT_NAMESPACE \ -o jsonpath='{.status.policyNamespace}'Remplacez les éléments suivants :
TAG_VALUE_NAME: nom de la valeur du tag.MANAGEMENT_NAMESPACE: nom de l'espace de noms de gestion pour la clé de tag correspondant à la valeur de tag. Pour en savoir plus, consultez Trouver l'espace de noms de gestion.
Lister les projets avec un tag
Pour lister tous les projets associés à une paire clé/valeur spécifique, procédez comme suit :
Répertoriez tous les projets qui correspondent à votre paire clé/valeur de tag :
kubectl get project --namespace platform --label tag.resourcemanager.gdc.goog/TAG_KEY_NAME=TAG_VALUE_NAMERemplacez les éléments suivants :
TAG_KEY_NAME: nom de la clé du tag.TAG_VALUE_NAME: nom de la valeur du tag.
Le résultat ressemble à ce qui suit :
NAME AGE project-1 17d project-2 10d project-3 4d
Étapes suivantes
- Hiérarchie des ressources
- S'authentifier avec des comptes de service
- Configurer les autorisations de conception