Gestione dell'accesso ad altre risorse

In questa pagina viene descritta la procedura generale per concedere, modificare e revocare l'accesso alle risorse che accettano i criteri di autorizzazione.

In Identity and Access Management (IAM), l'accesso è concesso tramite i criteri di autorizzazione, noti anche come criteri IAM. Un criterio di autorizzazione è collegato a una risorsa Google Cloud. Ogni criterio di autorizzazione contiene una raccolta di associazioni di ruoli che associano una o più entità, come utenti o account di servizio, a un ruolo IAM. Queste associazioni di ruoli concedono i ruoli specificati alle entità, sia nella risorsa a cui è associato il criterio di autorizzazione sia su tutti i discendenti della risorsa. Per ulteriori informazioni sui criteri di autorizzazione, consulta Informazioni sui criteri di autorizzazione.

Questa pagina descrive come gestire l'accesso alle risorse utilizzando la console Google Cloud, Google Cloud CLI e l'API REST. Puoi anche gestire l'accesso utilizzando le librerie client di Google Cloud.

Prima di iniziare

Consulta l'elenco dei tipi di risorse che accettano i criteri di autorizzazione.

Autorizzazioni obbligatorie

Per gestire l'accesso a una risorsa, devi disporre delle autorizzazioni per ottenerla e per ottenere e impostare il criterio di autorizzazione per la risorsa. Queste autorizzazioni hanno il formato seguente, dove SERVICE è il nome del servizio proprietario della risorsa e RESOURCE_TYPE è il nome del tipo di risorsa per cui vuoi gestire l'accesso:

  • SERVICE.RESOURCE_TYPE.get
  • SERVICE.RESOURCE_TYPE.getIamPolicy
  • SERVICE.RESOURCE_TYPE.setIamPolicy

Ad esempio, per gestire l'accesso a un'istanza Compute Engine, devi disporre delle seguenti autorizzazioni:

  • compute.instances.get
  • compute.instances.getIamPolicy
  • compute.instances.setIamPolicy

Per ottenere le autorizzazioni richieste, chiedi all'amministratore di concederti un ruolo predefinito o personalizzato che le includa. Ad esempio, l'amministratore potrebbe concederti il ruolo Amministratore sicurezza (roles/iam.securityAdmin), che include le autorizzazioni per gestire l'accesso a quasi tutte le risorse Google Cloud.

Visualizza accesso corrente

La sezione seguente mostra come utilizzare la console Google Cloud, gcloud CLI e l'API REST per visualizzare chi ha accesso a una risorsa. Puoi anche visualizzare l'accesso utilizzando le librerie client di Google Cloud per ottenere il criterio di autorizzazione della risorsa.

Console

  1. Nella console Google Cloud, vai alla pagina che elenca la risorsa per cui vuoi visualizzare l'accesso.

    Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona la casella di controllo accanto alla risorsa per cui vuoi visualizzare l'accesso.

  3. Assicurati che il riquadro delle informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni. La scheda delle autorizzazioni del riquadro informazioni elenca tutte le entità che hanno accesso alla risorsa.

    Se l'opzione Mostra autorizzazioni ereditate è attiva, l'elenco include le entità con ruoli ereditati, ovvero le entità il cui accesso proviene dai ruoli nelle risorse padre anziché dai ruoli nella risorsa stessa. Per ulteriori informazioni sull'ereditarietà dei criteri, vedi Eredità dei criteri e gerarchia delle risorse.

gcloud

Per vedere chi ha accesso alla tua risorsa, ottieni il criterio di autorizzazione per la risorsa. Per informazioni su come interpretare i criteri di autorizzazione, consulta Informazioni sui criteri di autorizzazione.

Per ottenere il criterio di autorizzazione per la risorsa, esegui il comando get-iam-policy per la risorsa.

Il formato di questo comando varia a seconda del tipo di risorsa di cui stai gestendo l'accesso. Per trovare il formato della risorsa, individua il riferimento per il comando get-iam-policy della risorsa nel riferimento di Google Cloud CLI. Questo riferimento è organizzato per servizio e poi per risorsa. Ad esempio, per ottenere il criterio di autorizzazione di un'istanza VM di Compute Engine, segui il formato descritto nel riferimento gcloud compute instances get-iam-policy.

Facoltativamente, aggiungi i seguenti argomenti al comando per specificare il formato ed esportare i risultati:

--format=FORMAT > PATH

Specifica i seguenti valori:

  • FORMAT: il formato desiderato per il criterio. Utilizza json o yaml.
  • PATH: il percorso di un nuovo file di output per il criterio.

Quando esegui il comando, il criterio di autorizzazione della risorsa viene stampato nella console o esportato nel file specificato.

REST

Per vedere chi ha accesso alla tua risorsa, ottieni il criterio di autorizzazione della risorsa. Per scoprire come interpretare i criteri di autorizzazione, consulta Informazioni sui criteri di autorizzazione.

Per ottenere il criterio di autorizzazione della risorsa, utilizza il metodo getIamPolicy della risorsa.

Il metodo HTTP, l'URL e il corpo della richiesta dipendono dalla risorsa a cui vuoi visualizzare l'accesso. Per trovare questi dettagli, trova il riferimento API per il servizio proprietario della risorsa, quindi trova il riferimento per il metodo getIamPolicy della risorsa. Ad esempio, il metodo HTTP, l'URL e il corpo della richiesta per un'istanza di Compute Engine sono specificati nel riferimento getIamPolicy delle istanze.

La risposta per il metodo getIamPolicy di qualsiasi risorsa contiene il criterio di autorizzazione della risorsa.

Concedere o revocare un singolo ruolo

Puoi utilizzare la console Google Cloud e gcloud CLI per concedere o revocare rapidamente un singolo ruolo per una singola entità, senza modificare direttamente il criterio di autorizzazione della risorsa. I tipi comuni di entità includono Account Google, account di servizio, gruppi Google e domini. Per un elenco di tutti i tipi di entità, consulta Concetti relativi all'identità.

Se hai bisogno di aiuto per identificare il ruolo predefinito più appropriato, consulta Scegliere i ruoli predefiniti.

Concedi un singolo ruolo

Per concedere un singolo ruolo a un'entità:

Console

  1. Nella console Google Cloud, vai alla pagina che elenca la risorsa per cui vuoi visualizzare l'accesso.

    Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona la casella di controllo accanto alla risorsa di cui vuoi gestire l'accesso.

  3. Assicurati che il riquadro delle informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni.

  4. Seleziona un'entità a cui concedere un ruolo:

    • Per concedere un ruolo a un'entità che ha già altri ruoli nella risorsa, trova una riga contenente l'entità, fai clic su Modifica entità nella riga e poi su Aggiungi un altro ruolo.

    • Per concedere un ruolo a un'entità che non ha già altri ruoli nella risorsa, fai clic su Aggiungi entità, quindi inserisci l'indirizzo email o un altro identificatore dell'entità.

  5. Seleziona un ruolo da concedere dall'elenco a discesa. Per le best practice di sicurezza, scegli un ruolo che includa solo le autorizzazioni necessarie all'entità.

  6. (Facoltativo) Aggiungi una condizione al ruolo.

  7. Fai clic su Salva. All'entità viene concesso il ruolo nella risorsa.

gcloud

Per concedere rapidamente un ruolo a un'entità, esegui il comando add-iam-policy-binding.

Il formato di questo comando varia a seconda del tipo di risorsa di cui stai gestendo l'accesso. Per trovare il formato della risorsa, individua il riferimento per il comando add-iam-policy-binding della risorsa nel riferimento di Google Cloud CLI. Questo riferimento è organizzato per servizio e poi per risorsa. Ad esempio, per concedere a un'entità un ruolo su un'istanza Compute Engine, segui il formato descritto nel riferimento gcloud compute instances add-iam-policy- binding.

Revocare un singolo ruolo

Per revocare un singolo ruolo da un'entità:

Console

  1. Nella console Google Cloud, vai alla pagina che elenca la risorsa da cui vuoi revocare l'accesso.

    Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM:

    Vai a Istanze VM

  2. Seleziona la casella di controllo accanto alla risorsa di cui vuoi gestire l'accesso.

  3. Assicurati che il riquadro delle informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni.

  4. Trova la riga contenente l'entità, poi fai clic su Modifica entità nella riga in questione.

  5. Fai clic sul pulsante Elimina in corrispondenza del ruolo che vuoi revocare, quindi fai clic su Salva.

gcloud

Per revocare rapidamente un ruolo da un'entità, esegui il comando remove-iam-policy-binding.

Il formato di questo comando varia a seconda del tipo di risorsa di cui stai gestendo l'accesso. Per trovare il formato della risorsa, individua il riferimento per il comando remove-iam-policy-binding della risorsa nel riferimento di Google Cloud CLI. Questo riferimento è organizzato per servizio e poi per risorsa. Ad esempio, per concedere a un'entità un ruolo su un'istanza Compute Engine, segui il formato descritto nel riferimento gcloud compute instances remove-iam-policy-binding.

Concedere o revocare più ruoli utilizzando la console Google Cloud

Puoi utilizzare la console Google Cloud per concedere e revocare più ruoli per una singola entità:

  1. Nella console Google Cloud, vai alla pagina che elenca la risorsa per cui vuoi visualizzare l'accesso.

    Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona la casella di controllo accanto alla risorsa di cui vuoi gestire l'accesso.

  3. Se il riquadro informazioni non è visibile, fai clic su Mostra riquadro informazioni.

  4. Seleziona l'entità di cui vuoi modificare i ruoli:

    • Per modificare i ruoli di un'entità che ha già ruoli nella risorsa, trova una riga contenente l'entità, fai clic su Modifica entità nella riga e poi su Aggiungi un altro ruolo.

    • Per concedere i ruoli a un'entità che non ha ruoli esistenti nella risorsa, fai clic su Aggiungi entità, quindi inserisci l'indirizzo email o un altro identificatore dell'entità.

  5. Modifica i ruoli dell'entità:

    • Per concedere un ruolo a un'entità che non dispone di ruoli esistenti nella risorsa, fai clic su Seleziona un ruolo, quindi seleziona un ruolo da concedere dall'elenco a discesa.
    • Per concedere un ruolo aggiuntivo all'entità, fai clic su Aggiungi un altro ruolo, poi seleziona un ruolo da concedere dall'elenco a discesa.
    • Per sostituire uno dei ruoli dell'entità con un ruolo diverso, fai clic sul ruolo esistente, quindi scegli un ruolo diverso da concedere dall'elenco a discesa.
    • Per revocare uno dei ruoli dell'entità, fai clic sul pulsante Elimina per ogni ruolo da revocare.

    Puoi anche aggiungere una condizione a un ruolo, modificare la condizione di un ruolo o rimuovere la condizione di un ruolo.

  6. Fai clic su Salva.

Concedi o revoca più ruoli in modo programmatico

Per apportare modifiche all'accesso su larga scala che prevedono la concessione e la revoca di più ruoli per più entità, utilizza il pattern lettura, modifica e scrittura per aggiornare il criterio di autorizzazione della risorsa:

  1. Per leggere l'attuale criterio di autorizzazione, chiama getIamPolicy().
  2. Modifica il criterio di autorizzazione utilizzando un editor di testo o in modo programmatico per aggiungere o rimuovere entità o associazioni di ruoli.
  3. Scrivi il criterio di autorizzazione aggiornato chiamando setIamPolicy().

Questa sezione mostra come utilizzare gcloud CLI e l'API REST per aggiornare il criterio di autorizzazione. Puoi anche aggiornare il criterio di autorizzazione utilizzando le librerie client di Google Cloud.

Ottieni il criterio di autorizzazione attuale

gcloud

Per ottenere il criterio di autorizzazione per la risorsa, esegui il comando get-iam-policy per la risorsa.

Il formato di questo comando varia a seconda del tipo di risorsa di cui stai gestendo l'accesso. Per trovare il formato della risorsa, individua il riferimento per il comando get-iam-policy della risorsa nel riferimento di Google Cloud CLI. Questo riferimento è organizzato per servizio e poi per risorsa. Ad esempio, per ottenere il criterio di autorizzazione di un'istanza VM di Compute Engine, segui il formato descritto nel riferimento gcloud compute instances get-iam-policy.

Facoltativamente, aggiungi i seguenti argomenti al comando per specificare il formato ed esportare i risultati:

--format=FORMAT > PATH

Specifica i seguenti valori:

  • FORMAT: il formato desiderato per il criterio di autorizzazione. Utilizza json o yaml.
  • PATH: il percorso di un nuovo file di output per il criterio di autorizzazione.

Quando esegui il comando, il criterio di autorizzazione della risorsa viene stampato nella console o esportato nel file specificato.

REST

Per ottenere il criterio di autorizzazione della risorsa, utilizza il metodo getIamPolicy della risorsa.

Il metodo HTTP, l'URL e il corpo della richiesta dipendono dalla risorsa a cui vuoi visualizzare l'accesso. Per trovare questi dettagli, trova il riferimento API per il servizio proprietario della risorsa, quindi trova il riferimento per il metodo getIamPolicy della risorsa. Ad esempio, il metodo HTTP, l'URL e il corpo della richiesta per un'istanza VM di Compute Engine sono specificati nel riferimento getIamPolicy delle istanze.

La risposta per il metodo getIamPolicy di qualsiasi risorsa contiene il criterio di autorizzazione della risorsa. Salva la risposta in un file del tipo appropriato (json o yaml).

Modifica il criterio di autorizzazione

In modo programmatico o utilizzando un editor di testo, modifica la copia locale del criterio di autorizzazione della risorsa in modo che rifletta i ruoli che vuoi concedere o revocare.

Per assicurarti di non sovrascrivere altre modifiche, non modificare o rimuovere il campo etag del criterio di autorizzazione. Il campo etag identifica lo stato attuale del criterio di autorizzazione. Quando imposti il criterio di autorizzazione aggiornato, IAM confronta il valore etag nella richiesta con il valore etag esistente e scrive il criterio di autorizzazione solo se i valori corrispondono.

Per modificare i ruoli concessi da un criterio di autorizzazione, devi modificare le associazioni di ruoli nel criterio di autorizzazione. Le associazioni dei ruoli hanno il seguente formato:

{
  "role": "ROLE_NAME",
  "members": [
    "PRINCIPAL_1",
    "PRINCIPAL_2",
    ...
    "PRINCIPAL_N"
  ],
  "conditions:" {
    CONDITIONS
  }
}

I segnaposto hanno i seguenti valori:

  • ROLE_NAME: il nome del ruolo che vuoi concedere. Utilizza uno dei seguenti formati:

    • Ruoli predefiniti: roles/SERVICE.IDENTIFIER
    • Ruoli personalizzati a livello di progetto: projects/PROJECT_ID/roles/IDENTIFIER
    • Ruoli personalizzati a livello di organizzazione: organizations/ORG_ID/roles/IDENTIFIER

    Per un elenco dei ruoli predefiniti, consulta Informazioni sui ruoli.

  • PRINCIPAL_1, PRINCIPAL_2, ...PRINCIPAL_N: identificatori delle entità a cui vuoi concedere il ruolo.

    Gli identificatori principali di solito hanno il seguente formato: PRINCIPAL-TYPE:ID. Ad esempio, user:my-user@example.com. Per un elenco completo dei valori che PRINCIPAL può avere, consulta la documentazione di riferimento sull'associazione dei criteri.

    Per il tipo di entità user, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o un dominio Cloud Identity. Per informazioni su come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.

  • CONDITIONS: facoltativo. Qualsiasi conditions che specifichi quando verrà concesso l'accesso.

Concedere un ruolo

Per concedere i ruoli alle entità, modifica le associazioni di ruoli nel criterio di autorizzazione. Per informazioni sui ruoli che puoi concedere, consulta Informazioni sui ruoli o visualizza i ruoli assegnabili per la risorsa. Se hai bisogno di aiuto per identificare i ruoli predefiniti più appropriati, consulta Scegliere i ruoli predefiniti.

Facoltativamente, puoi utilizzare le conditions per concedere i ruoli solo quando sono soddisfatti determinati requisiti.

Per concedere un ruolo già incluso nel criterio di autorizzazione, aggiungi l'entità a un'associazione di ruolo esistente:

gcloud

Modifica il criterio di autorizzazione aggiungendo l'entità a un'associazione di ruoli esistente. Tieni presente che questa modifica avrà effetto solo dopo aver impostato il criterio di autorizzazione aggiornato.

Ad esempio, immagina che il criterio di autorizzazione contenga la seguente associazione di ruoli, che concede il ruolo Amministratore istanze Compute (roles/compute.instanceAdmin) a kai@example.com:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

Per concedere lo stesso ruolo a raha@example.com, aggiungi raha@example.com all'associazione dei ruoli esistente:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

REST

Modifica il criterio di autorizzazione aggiungendo l'entità a un'associazione di ruoli esistente. Tieni presente che questa modifica avrà effetto solo dopo aver impostato il criterio di autorizzazione aggiornato.

Ad esempio, immagina che il criterio di autorizzazione contenga la seguente associazione di ruoli, che concede il ruolo Amministratore istanze Compute (roles/compute.instanceAdmin) a kai@example.com:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

Per concedere lo stesso ruolo a raha@example.com, aggiungi raha@example.com all'associazione dei ruoli esistente:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

Per concedere un ruolo non ancora incluso nel criterio di autorizzazione, aggiungi una nuova associazione di ruoli:

gcloud

Modifica il criterio di autorizzazione aggiungendo una nuova associazione di ruolo che conceda il ruolo all'entità. Questa modifica avrà effetto solo dopo che avrai impostato il criterio di autorizzazione aggiornato.

Ad esempio, per concedere il ruolo Amministratore bilanciatore del carico Compute (roles/compute.loadBalancerAdmin) a raha@example.com, aggiungi la seguente associazione di ruoli all'array bindings per il criterio di autorizzazione:

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

REST

Modifica il criterio di autorizzazione aggiungendo una nuova associazione di ruolo che conceda il ruolo all'entità. Questa modifica avrà effetto solo dopo che avrai impostato il criterio di autorizzazione aggiornato.

Ad esempio, per concedere il ruolo Amministratore bilanciatore del carico Compute (roles/compute.loadBalancerAdmin) a raha@example.com, aggiungi la seguente associazione di ruoli all'array bindings per il criterio di autorizzazione:

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

Revocare un ruolo

Per revocare un ruolo, rimuovi l'entità dall'associazione dei ruoli. Se non ci sono altre entità nell'associazione del ruolo, rimuovi l'intera associazione dei ruoli.

gcloud

Per revocare un ruolo, modifica il criterio di autorizzazione JSON o YAML restituito dal comando get-iam-policy. Questa modifica avrà effetto solo dopo che avrai impostato il criterio di autorizzazione aggiornato.

Per revocare un ruolo da un'entità, elimina le entità o le associazioni desiderate dall'array bindings per il criterio di autorizzazione.

REST

Per revocare un ruolo, modifica il criterio di autorizzazione JSON o YAML restituito dal comando get-iam-policy. Questa modifica avrà effetto solo dopo che avrai impostato il criterio di autorizzazione aggiornato.

Per revocare un ruolo da un'entità, elimina le entità o le associazioni desiderate dall'array bindings per il criterio di autorizzazione.

Imposta il criterio di autorizzazione

Dopo aver modificato il criterio di autorizzazione per concedere e revocare i ruoli desiderati, chiama setIamPolicy() per apportare gli aggiornamenti.

gcloud

Per impostare il criterio di autorizzazione per la risorsa, esegui il comando set-iam-policy per la risorsa.

Il formato di questo comando varia a seconda del tipo di risorsa di cui stai gestendo l'accesso. Per trovare il formato della risorsa, individua il riferimento per il comando set-iam-policy della risorsa nel riferimento di Google Cloud CLI. Questo riferimento è organizzato per servizio e poi per risorsa. Ad esempio, per ottenere il criterio di autorizzazione di un'istanza VM di Compute Engine, segui il formato descritto nel riferimento gcloud compute instances set-iam-policy.

La risposta per qualsiasi comando set-iam-policy della risorsa contiene il criterio di autorizzazione aggiornato della risorsa.

REST

Per impostare il criterio di autorizzazione della risorsa, utilizza il metodo setIamPolicy della risorsa.

Il metodo HTTP, l'URL e il corpo della richiesta dipendono dalla risorsa a cui vuoi visualizzare l'accesso. Per trovare questi dettagli, trova il riferimento API per il servizio proprietario della risorsa, quindi trova il riferimento per il metodo setIamPolicy della risorsa. Ad esempio, il metodo HTTP, l'URL e il corpo della richiesta per un'istanza VM di Compute Engine sono specificati nel riferimento setIamPolicy delle istanze.

La risposta per il metodo setIamPolicy di qualsiasi risorsa contiene il criterio di autorizzazione aggiornato della risorsa.

Passaggi successivi

Provalo

Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Inizia gratuitamente