Questo documento spiega come concedere l'accesso e gestire le autorizzazioni all'interno dei cluster standard in Google Distributed Cloud (GDC) con air gap. 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 informazioni sulla gestione dei cicli di vita dei cluster standard, ad esempio la creazione o l'eliminazione di cluster, consulta Creare un cluster standard e Eliminare un cluster standard.
Per saperne di più sui cluster standard e su altri tipi di cluster, consulta Configurazioni dei cluster Kubernetes.
Questo documento è destinato ai gruppi di operatori di applicazioni, come developer operations o 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-gapped.
Prima di iniziare
Prima di gestire l'accesso ai cluster standard, devi disporre delle autorizzazioni necessarie e preparare l'ambiente.
Richiedi ruoli IAM
Per ottenere le autorizzazioni necessarie per gestire l'accesso ai cluster standard, richiedi i seguenti ruoli in base alle attività che devi svolgere:
- Per concedere e gestire i binding dei criteri IAM a livello di progetto per i cluster standard, contatta l'amministratore dell'organizzazione IAM per richiedere il ruolo Amministratore progetto IAM (
project-iam-admin). - Per gestire controllo dell'accesso basato sui ruoli (RBAC) di Kubernetes nel cluster e distribuire
i carichi di lavoro all'interno di un cluster standard, chiedi all'amministratore del progetto IAM di concederti
il ruolo Amministratore cluster (
cluster-admin).
prepara l'ambiente
Concedi le autorizzazioni per l'accesso standard al cluster
Un utente con il ruolo Amministratore progetto IAM (project-iam-admin) può 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-admin).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 Connessione a un provider di identità.
Il seguente esempio concede il ruolo Amministratore 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 con il ruolo Amministratore cluster (cluster-admin) può concedere l'accesso all'interno di un cluster standard:
Accedi con il provider di identità configurato utilizzando gcloud CLI.
Genera un file kubeconfig per un cluster standard utilizzando il flag
--standard. Questo flag è necessario per scegliere come target un cluster standard.export KUBECONFIG=KUBECONFIG_FILE gdcloud clusters 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