Prima di iniziare
Segui la guida RBAC di GKE prima di continuare con i passaggi successivi.
Configurare Identity and Access Management (IAM)
Oltre alle autorizzazioni concesse tramite RBAC di Kf, gli utenti, i gruppi o gli account di servizio devono essere autenticati anche per visualizzare i cluster GKE a livello di progetto. Questo requisito è lo stesso per la configurazione del RBAC di GKE, il che significa che gli utenti/gruppi devono disporre almeno dell'autorizzazione IAM container.clusters.get
nel progetto contenente il cluster. Questa autorizzazione è inclusa nel ruolo container.clusterViewer
e in altri ruoli con più privilegi. Per saperne di più, consulta Interazione con Identity and Access Management.
Assegna container.clusterViewer
a un utente o a un gruppo.
gcloud projects add-iam-policy-binding ${CLUSTER_PROJECT_ID} \
--role="container.clusterViewer" \
--member="${MEMBER}"
Ecco alcuni esempi di valori membro:
- user:test-user@gmail.com
- group:admins@example.com
- serviceAccount:test123@example.domain.com
Gestire l'abbonamento allo spazio come SpaceManager
Il ruolo di amministratore del cluster o i membri con il ruolo SpaceManager possono assegnare il ruolo a un utente, a un gruppo o a un account di servizio.
kf set-space-role MEMBER -t [Group|ServiceAccount|User]
Il ruolo di amministratore del cluster o i membri con il ruolo SpaceManager possono rimuovere un membro da un ruolo.
kf unset-space-role MEMBER -t [Group|ServiceAccount|User]
Puoi visualizzare i membri e i loro ruoli all'interno di uno spazio.
kf space-users
Esempi:
Assegnare il ruolo SpaceDeveloper a un utente.
kf set-space-role alice@example.com SpaceDeveloper
Assegnare il ruolo SpaceDeveloper a un gruppo.
kf set-space-role devs@example.com SpaceDeveloper -t Group
Assegnare il ruolo SpaceDeveloper a un account di servizio.
kf set-space-role sa-dev@example.domain.com SpaceDeveloper -t ServiceAccount
Sviluppo di app come SpaceDeveloper
I membri con il ruolo SpaceDeveloper possono eseguire operazioni di sviluppo dell'app Kf all'interno dello spazio.
Per inviare un'app:
kf push app_name -p [PATH_TO_APP_ROOT_DIRECTORY]
Per visualizzare i log di un'app:
posix-terminal
kf logs app_name
Accedi tramite SSH a un pod Kubernetes che esegue l'app:
posix-terminal
kf ssh app_name
Visualizza i service broker disponibili:
kf marketplace
Visualizza le app come SpaceManager o SpaceAuditor
I membri con il ruolo SpaceManager o SpaceAuditor possono visualizzare le app disponibili all'interno dello spazio:
kf apps
Visualizza spazi Kf all'interno di un cluster
Tutti i ruoli (SpaceManager, SpaceDeveloper e SpaceAuditor) possono visualizzare gli spazi Kf disponibili all'interno di un cluster:
kf spaces
Visualizzare i membri dello spazio e i relativi ruoli all'interno di uno spazio.
kf space-users
Flag di impersonificazione
Per verificare l'autorizzazione di un membro, un membro con più privilegi può testare le autorizzazioni di un altro membro utilizzando i flag di rappresentazione: --as
e --as-group
.
Ad esempio, in qualità di amministratore del cluster, puoi verificare se un utente (nome utente: bob) ha l'autorizzazione per eseguire il push di un'app.
kf push APP_NAME --as bob
Verifica che un gruppo (gruppo-gestore@example.com) abbia l'autorizzazione per assegnare l'autorizzazione ad altri membri.
kf set-space-role bob SpaceDeveloper --as-group manager-group@example.com