Questo documento spiega come gestire le coppie chiave-valore dei tag esistenti che organizzano i tuoi progetti in Google Distributed Cloud (GDC) air-gapped. I tag sono visibili agli amministratori tramite le autorizzazioni Identity and Access Management (IAM). Puoi impostare le autorizzazioni per le coppie chiave-valore dei tag per stabilire chi può visualizzarle quando sono associate a un progetto. Puoi anche visualizzare gli attributi dei tag esistenti per monitorare come vengono applicati nella tua organizzazione, ad esempio:
Per saperne di più sui tag, consulta Introduzione ai tag.
Questo documento è destinato agli amministratori IT del gruppo di amministratori della piattaforma, responsabili dell'organizzazione e della gestione dei progetti in un universo GDC. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per concedere ad altri utenti le autorizzazioni per i tag o per esaminare gli spazi dei nomi delle coppie chiave-valore dei tag, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore tag (
tag-admin).Per ottenere le autorizzazioni necessarie per elencare un progetto con un tag, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Visualizzatore progetto (
project-viewer).
Applicare le autorizzazioni alla coppia chiave-valore del tag
Ogni chiave e valore tag richiede binding di ruolo specifici per consentire agli utenti di accedervi e gestirli.
Imposta i ruoli appropriati per le chiavi e i valori dei tag per applicare le autorizzazioni.
Identifica il nome del ruolo che vuoi assegnare e gli spazi dei nomi richiesti per applicare il ruolo. Per saperne di più, consulta Utilizzo dei tag.
Concedi le autorizzazioni del ruolo per un tag applicando la risorsa
RoleBindingper ogni spazio dei nomi definito: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 EOFSostituisci quanto segue:
BINDING_NAME: il nome personalizzato per l'associazione del ruolo.NAMESPACE: lo spazio dei nomi a cui applicare l'associazione di ruolo, ad esempioplatform, lo spazio dei nomi di gestione della chiave del tag o lo spazio dei nomi dei criteri del valore del tag.GROUP_SUBJECT: il tipo di soggetto a cui applicare le autorizzazioni del ruolo. Questo valore può essereUser,GroupoServiceAccount. Per saperne di più, consulta la sezione Riferimento ai soggetti della documentazione di Kubernetes.GROUP_NAME: il nome del gruppo personalizzato.TAG_ROLE_NAME: il nome del ruolo del tag da applicare, ad esempiotag-adminotag-KEY_NAME-admin.
Ad esempio, per concedere l'autorizzazione del ruolo
tag-admina un utente per una coppia chiave-valore del tag, implementa le seguenti risorse personalizzateRoleBindingnello spazio dei nomiplatform, nella chiave del tagmanagementNamespacee nel valore del 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
Trovare lo spazio dei nomi di gestione
Uno spazio dei nomi di gestione è lo spazio dei nomi generato dal sistema creato per una chiave tag.
Trova lo spazio dei nomi di gestione della chiave tag specifica:
kubectl get tagkey TAG_KEY_NAME --namespace platform \ -o jsonpath='{.status.managementNamespace}'Sostituisci
TAG_KEY_NAMEcon il nome della chiave del tag.
Trovare lo spazio dei nomi del criterio
Uno spazio dei nomi delle policy è lo spazio dei nomi generato dal sistema creato per un valore tag.
Trova lo spazio dei nomi della policy del valore tag specifico:
kubectl get tagvalue TAG_VALUE_NAME --namespace MANAGEMENT_NAMESPACE \ -o jsonpath='{.status.policyNamespace}'Sostituisci quanto segue:
TAG_VALUE_NAME: il nome del valore tag.MANAGEMENT_NAMESPACE: il nome dello spazio dei nomi di gestione per la chiave tag corrispondente al valore del tag. Per saperne di più, consulta Trovare lo spazio dei nomi di gestione.
Elenco dei progetti con un tag
Per elencare tutti i progetti associati a una coppia chiave-valore specifica, completa i seguenti passaggi:
Elenca tutti i progetti che corrispondono alla coppia chiave-valore del tag:
kubectl get project --namespace platform --label tag.resourcemanager.gdc.goog/TAG_KEY_NAME=TAG_VALUE_NAMESostituisci quanto segue:
TAG_KEY_NAME: il nome della chiave tag.TAG_VALUE_NAME: il nome del valore tag.
L'output è simile al seguente:
NAME AGE project-1 17d project-2 10d project-3 4d
Passaggi successivi
- Gerarchia delle risorse
- Autenticarsi con i service account
- Configurazione delle autorizzazioni di progettazione