Configurazione controllo dell'accesso basato sui ruoli

I passaggi seguenti ti aiuteranno a configurare il controllo dell'accesso basato sui ruoli (RBAC) in uno spazio Kf.

Prima di iniziare

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

Configurare Identity and Access Management (IAM)

Oltre alle autorizzazioni concesse tramite Kf RBAC, gli utenti, i gruppi o gli account di servizio devono essere autenticati per visualizzare gli utenti GKE a livello di progetto. Questo requisito è uguale a quello per la configurazione di GKE RBAC, ovvero utenti/gruppi devono disporre almeno dell'autorizzazione IAM container.clusters.get nel progetto che contiene il cluster. Questa autorizzazione è inclusa dal ruolo container.clusterViewer e da altri ruoli con 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}"

Esempi di valori dei membri:

  • user:test-user@gmail.com
  • group:admins@example.com
  • serviceAccount:test123@example.domain.com

Gestire l'iscrizione allo spazio come SpaceManager

Il ruolo di amministratore del cluster o i membri con ruolo SpaceManager possono assegnare il ruolo a un utente, un gruppo o un account di servizio.

kf set-space-role MEMBER -t [Group|ServiceAccount|User]

Il ruolo di amministratore del cluster o i membri con 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:

Assegna 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 Kf 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

SSH in un pod Kubernetes che esegue l'app: posix-terminal kf ssh app_name

Visualizza i service broker disponibili:

kf marketplace

Visualizza 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 Kf Spazi 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 e i loro ruoli all'interno di uno spazio.

kf space-users

Segnalazioni di furto d'identità

Per verificare l'autorizzazione di un membro, un membro che dispone di più privilegi può testare le autorizzazioni di un altro membro utilizzando i flag per la rappresentazione: --as e --as-group.

Ad esempio, in qualità di amministratore del cluster, puoi verificare se un utente (nome utente: bob) è autorizzato a eseguire il push di un'app.

kf push APP_NAME --as bob

Verifica che un gruppo (gruppo-gestore@example.com) disponga dell'autorizzazione necessaria per assegnare l'autorizzazione ad altri membri.

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