Questo documento spiega come gestire le autorizzazioni per i cluster standard in Google Distributed Cloud (GDC) con air gap utilizzando la CLI gdcloud. I cluster standard sono ambienti Kubernetes configurabili e con ambito di progetto con servizi predefiniti minimi che offrono maggiore flessibilità e controllo per i carichi di lavoro personalizzati.
Per ulteriori informazioni sui cluster standard e su altri tipi di cluster, consulta Configurazioni dei cluster Kubernetes.
Questa pagina è destinata ai membri del gruppo di operatori dell'applicazione, ad esempio gli sviluppatori di operazioni o i data scientist, che devono gestire e proteggere le risorse all'interno dei progetti GDC. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gap.
Prima di iniziare
- Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Project IAM Admin (
project-iam-admin). Per ulteriori informazioni sui ruoli, consulta Definizioni dei ruoli. - Installa gcloud CLI se non l'hai ancora fatto.
Concedi le autorizzazioni per l'accesso standard al cluster
Un utente con il ruolo Amministratore IAM progetto (project-iam-admin) esegue i seguenti passaggi per concedere ad altri utenti i ruoli necessari per gestire l'accesso all'interno dei cluster standard:
Accedi con il provider di identità configurato utilizzando gcloud CLI.
Concedi all'utente il ruolo Amministratore cluster (
cluster-admin) per il progetto. Questo comando associa l'utente al ruolo, consentendogli di gestire l'accesso all'interno del cluster standard.Per saperne di più sui ruoli, consulta Descrizioni dei ruoli predefiniti e Definizioni dei ruoli per i progetti.
gdcloud projects add-iam-policy-binding PROJECT \ --role=ROLE \ --member=user:USER_ACCOUNTSostituisci le seguenti variabili:
PROJECT: il nome del progetto in cui esiste il cluster standard.ROLE: il nome del ruolo che vuoi concedere (ad esempiocluster-adminocluster-developer).USER_ACCOUNT: l'account utente a cui vuoi concedere il ruolo, incluso il prefisso del provider di identità associato alla tua organizzazione (ad esempioidpprefix-user@example.com). Il prefisso specifico utilizzato dipende dalla configurazione dell'IdP della tua organizzazione. Per saperne di più, consulta la sezione Stabilire la connessione a un provider di identità.
L'esempio seguente concede il ruolo di amministratore del cluster a
user@example.com, supponendo che il prefisso del provider di identità siafop-per il progettofoo:gdcloud projects add-iam-policy-binding foo \ --role=cluster-admin \ --member=user:fop-user@example.com
Gestire l'accesso all'interno del cluster standard
Un utente a cui è stato concesso il ruolo cluster-admin nella sezione precedente esegue
i seguenti passaggi:
Accedi con il provider di identità configurato utilizzando gcloud CLI.
Genera un file kubeconfig per un cluster standard utilizzando il flag
--standard. Questo flag è obbligatorio per scegliere come target un cluster standard.export KUBECONFIG=KUBECONFIG_FILE gdcloud get-credentials STANDARD_CLUSTER_NAME --standard --project=PROJECTSostituisci le seguenti variabili:
KUBECONFIG_FILE: il percorso del file kubeconfig, ad esempiostandard-cluster-kubeconfig.yaml.STANDARD_CLUSTER_NAME: il nome del cluster standard.PROJECT: il nome del progetto in cui esiste il cluster standard.
Definisci le autorizzazioni all'interno del cluster standard utilizzando
kubectl.Gli utenti con autorizzazioni
cluster-adminpossono creare oggettiRoleeClusterRolepersonalizzati. Per concedere queste autorizzazioni, possono creare gli oggettiRolebindingeClusterRoleBindingcorrispondenti per associare i ruoli a soggetti specifici, come utenti o service account.L'esempio seguente utilizza
kubectlper creare unRolepersonalizzato di esempio denominatotest-rolenello spazio dei nomitest:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: test-role namespace: test rules: - apiGroups: - "" resources: - configmaps verbs: - get EOFL'esempio seguente crea
RoleBindingperRoledenominatotest-rolenello spazio dei nomitest. Concede le autorizzazioni all'utente alice@example.com con il prefisso del provider di identitàfop-, nonché a unServiceAccountdenominatomy-service-accountnello spazio dei nomidefault:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: test-role-binding namespace: test subjects: - kind: User name: fop-alice@example.com apiGroup: rbac.authorization.k8s.io - kind: ServiceAccount name: my-service-account namespace: default roleRef: kind: Role name: test-role apiGroup: rbac.authorization.k8s.io EOF