Configurazione del controllo dell'accesso basato sui ruoli

I passaggi riportati di seguito illustrano la procedura di configurazione del controllo dell'accesso basato sui ruoli (RBAC) in uno spazio Kf.

Prima di iniziare

Segui la guida RBAC di GKE prima di procedere con i passaggi seguenti.

Configurare Identity and Access Management (IAM)

Oltre alle autorizzazioni concesse tramite Kf RBAC, anche gli utenti, i gruppi o gli account di servizio devono essere autenticati per visualizzare i clusers 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 dal ruolo container.clusterViewer e da altri ruoli più associati. 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 dei membri:

  • 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 un ruolo a un account utente, gruppo o 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

Assegna 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 di app di Knowledge Factory all'interno dello spazio.

Per eseguire il push di 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 potevano 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 loro 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 (gestore-gruppo@example.com) disponga dell'autorizzazione per assegnare le autorizzazioni ad altri membri.

kf set-space-role bob SpaceDeveloper --as-group manager-group@example.com