Inviato da Marco Brenna il Mar, 29/09/2020 - 01:22
Compute Engine IAM

Vi è mai capitato di leggere la documentazione di Google relativa ai ruoli di Compute Engine e trovarvi magari a dover associare ad esempio il ruolo "roles/cloudmigration.storageaccess" senza sapere se l'utente ha già impostato questo ruolo?

A me è capitato; può sembrare chiaro ma i ruoli nell'interfaccia IAM (amministrazione utenti) di Compute Engine sono scritti in lingua italiana e non è sempre facile capire se il relativo identificativo corrisponde alla giusta traduzione del ruolo.

Ma ecco che ci vengono subito in aiuto alcuni comandi dell'interfaccia CLI (a riga di comando) da digitare nella console utente direttamente su compute engine o su una istanza appositamente creata per l'occasione.

Come conoscere i ruoli di un utente compute engine o di un account di servizio da terminale tramite il comando gcloud?

Risposta: gcloud projects get-iam-policy <nome_progetto_su_gcloud>  --flatten="bindings[].members" --format='table(bindings.role)' --filter="bindings.members:<e-mail_account_o_e-mail_account_di_servizio>"

L'output di questo comando mostra gli identificativi dei ruoli direttamente assegnati all'account passato come parametro. Un esempio di output è questo:

roles/cloudmigration.storageaccess
roles/compute.admin
roles/compute.imageUser
roles/compute.instanceAdmin
roles/compute.osAdminLogin
roles/compute.storageAdmin
roles/compute.viewer
 

E' chiaro che alcuni ruoli possono comprenderne altri, quindi se l'output fosse anche solo:

roles/owner

questo vorrebbe dire che si ha un po' il permesso di fare tutto sull'account.

Resta sempre il fatto che, se la documentazione dovesse dirvi di aggiungere ad esempio il ruolo roles/compute.instanceAdmin ad un account di servizio, ora sapete come verificare se quel ruolo è stato davvero assegnato e se è corretto!

Marco Brenna

Aggiungi un commento

Solo ad uso interno per potervi rispondere, non verrà mostrato pubblicamente