Scegli ruoli predefiniti

Identity and Access Management (IAM) fornisce più ruoli predefiniti per la maggior parte dei servizi Google Cloud. Ogni ruolo predefinito contiene le autorizzazioni necessarie per eseguire un'attività o un gruppo di attività correlate.

Per le attività semplici, trovare un ruolo predefinito appropriato è spesso immediato. Ad esempio, se un'entità deve visualizzare oggetti in un bucket Cloud Storage, è probabile che il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer) sia adatto.

Tuttavia, esistono centinaia di ruoli predefiniti, che possono rendere difficile l'identificazione dei ruoli più appropriati da concedere alle entità. Può anche essere difficile trovare ruoli che seguano il principio del privilegio minimo, che stabilisce che le entità non dovrebbero avere più autorizzazioni di cui realmente hanno bisogno.

Questa pagina ti guiderà nella procedura di scelta dei ruoli predefiniti più appropriati:

  1. Identifica le autorizzazioni necessarie.
  2. Trova i ruoli che contengono le autorizzazioni.
  3. Scegli i ruoli più appropriati.
  4. Decidere dove concedere i ruoli.
  5. Concedi i ruoli a un'entità.

Identifica le autorizzazioni necessarie

Per identificare le autorizzazioni di cui ha bisogno un'entità, inizia con l'elenco delle attività di cui deve eseguire le operazioni e dei servizi Google Cloud che utilizzerà per tali attività. Ad esempio, un'entità potrebbe dover utilizzare Compute Engine per creare istanze di macchine virtuali.

Dopo aver identificato le attività e i servizi, puoi utilizzare alcune strategie per identificare le autorizzazioni necessarie per ogni attività:

  • Controlla la documentazione dei servizi Google Cloud.

    Per alcuni servizi, le guide illustrative orientate alle attività elencano i ruoli o le autorizzazioni necessari per ogni attività, in una sezione "Prima di iniziare" o con le istruzioni relative a ciascuna attività. Ad esempio, consulta i prerequisiti per l'importazione e l'esportazione delle immagini delle VM di Compute Engine.

    Alcuni altri servizi identificano i ruoli e le autorizzazioni necessari in una pagina relativa al controllo dell'accesso. Ad esempio, consulta le autorizzazioni richieste per Cloud Tasks per le attività di Google Cloud Console.

  • Identifica i metodi dell'API REST o RPC da utilizzare per completare le attività e consulta la documentazione di riferimento dell'API per le autorizzazioni richieste.

    Per alcuni servizi, la documentazione dell'API REST e RPC elenca le autorizzazioni richieste da ciascun metodo. Ad esempio, consulta la documentazione di Compute Engine per il metodo instances.get.

  • Consulta l'elenco delle autorizzazioni per ciascun servizio e utilizza il tuo giudizio per trovare le autorizzazioni pertinenti.

    Nella maggior parte dei casi, il nome di ogni autorizzazione descrive anche il modo in cui consente l'autorizzazione. Ad esempio, l'autorizzazione per la creazione di un'istanza VM di Compute Engine è denominata compute.instances.create.

    Per aiutarti a comprendere ogni nome di autorizzazione, ricorda che utilizza il formato SERVICE.RESOURCE_TYPE.ACTION.

In generale, non è necessario identificare tutte le autorizzazioni necessarie per ogni attività. Concentrati invece sull'identificazione dell'autorizzazione più pertinente per ogni attività. Se un ruolo predefinito contiene tale autorizzazione, è probabile che contenga anche le autorizzazioni correlate.

Nell'ambito di questo processo, dovresti anche provare a identificare quali delle autorizzazioni richieste sono le più efficaci. In generale, autorizzazioni più efficaci sono incluse in un numero inferiore di ruoli predefiniti. Di conseguenza, se ti concentri su queste autorizzazioni, avrai un elenco più breve di potenziali ruoli tra cui scegliere.

Ad esempio, i seguenti tipi di autorizzazioni sono particolarmente efficaci:

  • Autorizzazioni per creare ed eliminare risorse
  • Autorizzazioni per accedere a dati sensibili, come chiavi di crittografia o informazioni che consentono l'identificazione personale (PII)
  • Autorizzazioni per impostare il criterio di autorizzazione o di negazione per una risorsa
  • Autorizzazioni per aggiornare organizzazioni, cartelle e progetti, che possono causare l'ereditarietà delle altre risorse

Al contrario, i seguenti tipi di autorizzazioni sono meno efficaci:

  • Autorizzazioni per elencare le risorse
  • Autorizzazioni di accesso a dati non sensibili
  • Autorizzazioni per aggiornare impostazioni con rischio limitato, ad esempio la piattaforma CPU minima per le istanze di macchine virtuali Compute Engine

Trovare ruoli che contengono le autorizzazioni

Dopo aver identificato le autorizzazioni richieste, puoi cercare i ruoli predefiniti che contengono tali autorizzazioni e creare un elenco di ruoli che potrebbero essere adatti. Il modo più semplice per trovare questi ruoli è cercando il riferimento autorizzazioni, che elenca tutte le autorizzazioni IAM e i ruoli che contengono ogni autorizzazione.

Per rispettare il principio del privilegio minimo, potrebbe essere necessario identificare più di un ruolo predefinito da concedere, specialmente se le autorizzazioni necessarie appartengono a più servizi Google Cloud. Ad esempio, se un'entità deve visualizzare oggetti Cloud Storage e amministrare i database Cloud SQL, è improbabile che un singolo ruolo predefinito contenga le autorizzazioni appropriate per entrambi i servizi. Se esiste, questo ruolo potrebbe includere anche un numero elevato di autorizzazioni non correlate di cui l'entità non dispone. Per ridurre il rischio, cerca un ruolo che contenga le autorizzazioni necessarie per Cloud Storage e un altro con le autorizzazioni necessarie per Cloud SQL.

Scegliere i ruoli più appropriati

Ora che disponi di un elenco di ruoli predefiniti che potrebbero essere adatti, puoi scegliere i ruoli più appropriati dall'elenco.

Inizia eliminando i seguenti tipi di ruoli:

  • Per ambienti di produzione: ruoli di base, tra cui Proprietario (roles/owner), Editor (roles/editor) e Visualizzatore (roles/viewer).

    I ruoli di base includono migliaia di autorizzazioni per tutti i servizi Google Cloud. Negli ambienti di produzione, non concedere ruoli di base a meno che non ci siano alternative. Al contrario, concedi i ruoli predefiniti più limitati o i ruoli personalizzati che soddisfano le tue esigenze.

  • I ruoli dell'agente di servizio, che di solito hanno titoli che terminano con"agente di servizio"e nomi che terminano con serviceAgent.

    Questi ruoli sono destinati agli agenti di servizio, che sono un tipo speciale di account di servizio utilizzato da un servizio Google Cloud per accedere alle risorse. I ruoli dell'agente di servizio tendono a contenere autorizzazioni per più servizi, tra cui servizi a cui l'entità non deve accedere.

Quindi, consulta il riferimento predefinito dei ruoli o la pagina Ruoli in Cloud Console per elencare le autorizzazioni contenute in ciascun ruolo. Seleziona ogni ruolo per le autorizzazioni che non vuoi concedere all'entità ed elimina tutti i ruoli che contengono autorizzazioni indesiderate.

Se questo processo elimina tutti i ruoli predefiniti, valuta la possibilità di creare un ruolo personalizzato adatto al tuo caso d'uso. In caso contrario, scegli i ruoli che contengono il minor numero di autorizzazioni, pur rispettando le tue esigenze.

Decidi dove concedere i ruoli

Quando assegni un ruolo, lo concedi sempre a una risorsa Google Cloud specifica, che appartiene a una gerarchia di risorse. Le risorse di livello inferiore, come le istanze VM di Compute Engine, ereditano i ruoli concessi alle risorse di livello superiore, come progetti, cartelle e organizzazioni.

Scegli dove concedere i ruoli predefiniti che hai identificato:

  • Se l'entità deve accedere a risorse specifiche di livello inferiore, concedi il ruolo a quelle risorse.
  • Se l'entità deve accedere a molte risorse all'interno di un progetto, una cartella o un'organizzazione, concedi i ruoli nel progetto, nella cartella o nell'organizzazione. Scegli la risorsa di livello più basso che soddisfa le esigenze dell'entità.

    Considera anche la possibilità di utilizzare le condizioni IAM per concedere i ruoli solo a risorse specifiche all'interno del progetto, della cartella o dell'organizzazione.

Se hai identificato più ruoli predefiniti, valuta se concedere i ruoli a diversi livelli della gerarchia delle risorse. Ad esempio, se un principal deve accedere a un singolo database Cloud SQL, ma a molte istanze VM di Compute Engine diverse, potresti voler concedere il ruolo per Cloud SQL sul database e il ruolo per Compute Engine sul progetto.

Concedi i ruoli a un'entità

Ora sei pronto per concedere i ruoli all'entità. Per informazioni su come concedere i ruoli, vedi:

Dopo aver concesso i ruoli, puoi utilizzare lo Strumento di analisi criteri e lo strumento per la risoluzione dei problemi di criteri per verificare a quali risorse l'entità può accedere e risolvere i problemi di accesso.

Se l'entità dispone delle autorizzazioni desiderate per le risorse corrette, ma non è in grado di completare le proprie attività, è possibile che tu abbia ignorato un'autorizzazione necessaria. Ripeti il tentativo precedente aggiungendo le autorizzazioni richieste all'elenco, individuando i ruoli che le includono e scegliendo i ruoli più appropriati.

Se concedi accidentalmente un ruolo con troppe autorizzazioni, un consiglio di ruolo potrebbe suggerire un ruolo meno permissivo che soddisfi le esigenze dell'entità. Alcune associazioni di ruoli non ricevono suggerimenti sul ruolo.

Passaggi successivi