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 attività semplici, trovare un ruolo predefinito appropriato è spesso semplice. Ad esempio, se un principale deve visualizzare gli oggetti in un
bucket Cloud Storage, il ruolo Visualizzatore oggetti Storage
(roles/storage.objectViewer
) è probabilmente adatto.
Tuttavia, esistono centinaia di ruoli predefiniti, il che può complicare l'identificazione dei ruoli più appropriati da concedere ai principali. Inoltre, può essere difficile trovare ruoli che rispettino il principio del privilegio minimo, che afferma che le entità non devono disporre di più autorizzazioni di quelle di cui hanno effettivamente bisogno.
Questa pagina illustra la procedura per scegliere i ruoli predefiniti più appropriati:
- Identifica le autorizzazioni necessarie.
- Trova i ruoli che contengono le autorizzazioni.
- Scegli i ruoli più appropriati.
- Decidi dove concedere i ruoli.
- Concede i ruoli a un'entità.
Identifica le autorizzazioni necessarie
Per identificare le autorizzazioni di cui ha bisogno un principale, inizia elencando le attività che deve svolgere e i servizi Google Cloud che utilizzerà per queste attività. Ad esempio, un principale 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à:
Consulta la documentazione dei servizi Google Cloud.
Per alcuni servizi, le guide pratiche orientate alle attività elencano i ruoli o le autorizzazioni di cui hai bisogno per ogni attività, in una sezione "Prima di iniziare" o con le istruzioni per ogni attività. Ad esempio, consulta i prerequisiti per l'importazione ed esportazione delle immagini VM di Compute Engine.
Alcuni altri servizi identificano i ruoli e le autorizzazioni richiesti in una pagina sul controllo dell'accesso#39;accesso. Ad esempio, consulta le autorizzazioni richieste per le attività della console Google Cloud di Spanner.
Identifica i metodi dell'API REST o RPC che utilizzerai per completare le attività e consulta la documentazione di riferimento dell'API per le autorizzazioni IAM richieste.
Per alcuni servizi, la documentazione delle API REST ed RPC elenca le autorizzazioni richieste da ciascun metodo. Ad esempio, consulta la documentazione di Compute Engine per il metodo
instances.get
.Esamina l'elenco delle autorizzazioni per ogni servizio e usa il tuo giudizio per trovare le autorizzazioni pertinenti.
Nella maggior parte dei casi, il nome di ogni autorizzazione descrive anche cosa ti consente di fare. 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 i nomi delle autorizzazioni utilizzano il formato
SERVICE.RESOURCE_TYPE.ACTION
.
In genere, non è necessario identificare tutte le autorizzazioni richieste per ogni attività. Concentrati invece sull'identificazione dell'autorizzazione più pertinente per ogni compito. Se un ruolo predefinito contiene questa autorizzazione, è probabile che contenga anche le autorizzazioni correlate.
Nell'ambito di questa procedura, dovresti anche provare a identificare le autorizzazioni richieste più potenti. In genere, le autorizzazioni più potenti sono incluse in un numero minore 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 potenti:
- 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 rifiuto per una risorsa
- Autorizzazioni per aggiornare organizzazioni, cartelle e progetti, che possono causare l'ereditarietà degli aggiornamenti da parte di altre risorse
Al contrario, i seguenti tipi di autorizzazioni sono meno efficaci:
- Autorizzazioni per elencare le risorse
- Autorizzazioni per accedere a dati non sensibili
- Autorizzazioni per aggiornare impostazioni con rischi limitati, ad esempio la piattaforma CPU minima per le istanze di macchine virtuali Compute Engine
Trovare i ruoli che contengono le autorizzazioni
Dopo aver identificato le autorizzazioni richieste, puoi cercare i ruoli predefiniti che contengono queste autorizzazioni e creare un elenco di quelli che potrebbero essere adatti. Il modo più semplice per trovare questi ruoli è cercare nel riferimento alle autorizzazioni, che elenca tutte le autorizzazioni IAM e i ruoli che contengono ciascuna autorizzazione.
Per seguire il principio del privilegio minimo, potresti dover identificare più di un ruolo predefinito da concedere, soprattutto se le autorizzazioni richieste appartengono a più servizi Google Cloud. Ad esempio, se un principale deve visualizzare gli 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 un ruolo di questo tipo, potrebbe includere anche un numero elevato di autorizzazioni non correlate di cui l'entità non ha bisogno. Per ridurre i rischi, cerca un ruolo che contenga le autorizzazioni richieste per Cloud Storage e un altro ruolo che contenga le autorizzazioni richieste per Cloud SQL.
Scegli i ruoli più appropriati
Ora che hai un elenco di ruoli predefiniti che potrebbero essere adatti, puoi scegliere quelli più appropriati dall'elenco.
Inizia eliminando i seguenti tipi di ruoli:
Per gli 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. In ambienti di produzione, non concedere ruoli di base a meno che non ci siano alternative. Concedi invece i ruoli predefiniti o personalizzati più limitati in base alle tue esigenze.
Ruoli di agente di servizio, che in genere hanno titoli che terminano con "Agente di servizio" e nomi che terminano con
serviceAgent
.Questi ruoli sono destinati agli agenti di servizio, un tipo speciale di account di servizio utilizzato da un servizio Google Cloud per accedere alle tue risorse. I ruoli dell'agente di servizio tendono a contenere autorizzazioni per più servizi, che potrebbero includere servizi a cui l'entità principale non ha bisogno di accedere.
Successivamente, utilizza la documentazione di riferimento dei ruoli predefiniti o la pagina Ruoli nella console Google Cloud per elencare le autorizzazioni contenute in ciascun ruolo. Controlla ogni ruolo per verificare le autorizzazioni che non vuoi che l'entità abbia ed elimina i ruoli che contengono autorizzazioni indesiderate.
Se questa procedura elimina tutti i ruoli predefiniti, ti consigliamo di creare un ruolo personalizzato adatto al tuo caso d'uso. In caso contrario, scegli il ruolo o i ruoli che contengono il minor numero di autorizzazioni, ma chesoddisfano comunque le tue esigenze.
Decidi dove concedere i ruoli
Quando concedi 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à principale ha bisogno di accedere a risorse di livello inferiore specifiche, concedi i ruoli a queste risorse.
Se l'entità principale deve accedere a molte risorse all'interno di un progetto, di una cartella o di un'organizzazione, concedi i ruoli al progetto, alla cartella o all'organizzazione. Scegli la risorsa di livello più basso che soddisfa le esigenze del principale.
Inoltre, ti consigliamo 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 concederli a diversi livelli della gerarchia delle risorse. Ad esempio, se un ruolo principale deve accedere a un singolo database Cloud SQL, ma a molte istanze VM Compute Engine diverse, ti consigliamo di concedere il ruolo per Cloud SQL nel database e il ruolo per Compute Engine nel progetto.
Concedi i ruoli a un'entità
Ora è tutto pronto per concedere i ruoli all'entità principale. Per scoprire come concedere i ruoli, consulta quanto segue:
- Gestire l'accesso a progetti, cartelle e organizzazioni
- Gestire l'accesso agli account di servizio
- Gestire l'accesso ad altre risorse
Dopo aver concesso i ruoli, puoi utilizzare Analizzatore criteri e lo strumento per la risoluzione dei problemi relativi ai criteri per controllare le risorse a cui può accedere il principale e risolvere i problemi di accesso.
Se l'entità principale dispone delle autorizzazioni previste per le risorse corrette, ma non riesce a completare le attività, è possibile che tu abbia trascurato un'autorizzazione di cui ha bisogno. Esegui l'iterazione sul tentativo precedente aggiungendo le autorizzazioni richieste all'elenco, trovando i ruoli che contengono queste autorizzazioni e scegliendo i ruoli più appropriati.
Se concedi accidentalmente un ruolo con troppe autorizzazioni, un suggerimento per il ruolo potrebbe suggerire un ruolo meno permissivo che soddisfi le esigenze dell'entità. Alcune associazioni di ruoli non ricevono suggerimenti sui ruoli.
Passaggi successivi
- Scopri in che modo Policy Simulator può aiutarti a testare le modifiche ai ruoli di un principale.
- Scopri in che modo Policy Analyzer può dirti a quale accesso ha un principale a una risorsa.
- Scopri di più sulla risoluzione dei problemi di accesso.