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 è spesso molto semplice. Ad esempio, se un'entità ha bisogno di visualizzare gli oggetti in un bucket Cloud Storage, il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer
) potrebbe essere adatto.
Tuttavia, esistono centinaia di ruoli predefiniti, che possono rendere difficile identificare i ruoli più appropriati da concedere alle entità. Può anche essere difficile trovare ruoli che seguono il principio del privilegio minimo, in base al quale le entità non devono avere più autorizzazioni di quelle di cui hanno effettivamente bisogno.
Questa pagina illustra il processo di scelta dei 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.
- Concedi i ruoli a un'entità.
Identifica le autorizzazioni necessarie
Per identificare le autorizzazioni necessarie a un'entità, inizia elencando le attività che deve eseguire e i servizi Google Cloud che utilizzerà per queste 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 relativa ai servizi Google Cloud.
Per alcuni servizi, le guide illustrative orientate alle attività elencano i ruoli o le autorizzazioni necessarie per ciascuna attività, nella sezione "Prima di iniziare" o con le istruzioni per ogni attività. Ad esempio, consulta i prerequisiti per l'importazione e l'esportazione di immagini VM di Compute Engine.
Alcuni altri servizi identificano i ruoli e le autorizzazioni richiesti in una pagina relativa 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 utilizzeresti per completare le attività e controlla nella documentazione di riferimento dell'API le autorizzazioni IAM richieste.
Per alcuni servizi, la documentazione delle 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 valuta le autorizzazioni pertinenti per trovare quelle pertinenti.
Nella maggior parte dei casi, il nome di ciascuna autorizzazione descrive anche che cosa ti consente di fare. Ad esempio, l'autorizzazione per creare un'istanza VM di Compute Engine è denominata
compute.instances.create
.Per aiutarti a comprendere il nome di ogni autorizzazione, ricorda che i nomi utilizzano il formato
SERVICE.RESOURCE_TYPE.ACTION
.
In generale, non è necessario identificare tutte le autorizzazioni necessarie per ogni attività. Concentrati invece sull'identificazione delle autorizzazioni più pertinenti per ogni attività. Se un ruolo predefinito contiene questa autorizzazione, è probabile che contenga anche le autorizzazioni correlate.
Nell'ambito di questo processo, devi anche cercare di identificare quali delle autorizzazioni richieste sono le più efficaci. In generale, le autorizzazioni più efficaci 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 efficaci:
- Autorizzazioni per creare ed eliminare risorse
- Autorizzazioni di accesso 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 può causare l'ereditarietà degli aggiornamenti da parte di altre risorse
Al contrario, i tipi di autorizzazioni che seguono sono meno potenti:
- Autorizzazioni per elencare le risorse
- Autorizzazioni di accesso a dati non sensibili
- Autorizzazioni per aggiornare impostazioni che presentano rischi limitati, come la piattaforma CPU minima per le istanze di macchine virtuali di Compute Engine
Trova i ruoli che contengono le autorizzazioni
Dopo aver identificato le autorizzazioni necessarie, puoi cercare i ruoli predefiniti che le contengono e creare un elenco dei ruoli più adatti. Il modo più semplice per trovare questi ruoli è eseguire una ricerca nel riferimento sulle autorizzazioni, che elenca tutte le autorizzazioni IAM e i ruoli contenenti ciascuna autorizzazione.
Per seguire il principio del privilegio minimo, potrebbe essere necessario identificare più di un ruolo predefinito da concedere, soprattutto se le autorizzazioni richieste appartengono a più servizi Google Cloud. Ad esempio, se un'entità 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 un ruolo di questo tipo esiste, 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 i ruoli 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 secondo le tue esigenze.
Ruoli dell'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, che sono un tipo speciale di account di servizio utilizzato dai servizi Google Cloud per accedere alle risorse. I ruoli degli agenti di servizio tendono a contenere autorizzazioni per più servizi, che potrebbero includere servizi a cui l'entità non deve accedere.
Quindi, utilizza il riferimento sui ruoli predefiniti o la pagina Ruoli nella console Google Cloud per elencare le autorizzazioni incluse in ogni ruolo. Controlla ogni ruolo per individuare le autorizzazioni che non vuoi che l'entità abbia ed elimina eventuali 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. Altrimenti, scegli il ruolo o i ruoli che contengono il numero minimo di autorizzazioni, pur soddisfacendo le tue esigenze.
Decidi dove concedere i ruoli
Quando concedi un ruolo, lo concedi sempre su 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, ad esempio progetti, cartelle e organizzazioni.
Scegli dove concedere i ruoli predefiniti che hai identificato:
- Se l'entità ha bisogno di accedere a risorse specifiche di livello inferiore, concedi i ruoli per queste risorse.
Se l'entità ha bisogno di accedere a molte risorse all'interno di un progetto, una cartella o un'organizzazione, concedi i ruoli a livello di progetto, cartella o organizzazione. Scegli la risorsa di livello più basso che soddisfa le esigenze dell'entità.
Inoltre, valuta la possibilità di utilizzare le condizioni IAM per concedere i ruoli solo su risorse specifiche all'interno del progetto, della cartella o dell'organizzazione.
Se hai identificato più ruoli predefiniti, valuta se devi concedere i ruoli a diversi livelli della gerarchia delle risorse. Ad esempio, se un'entità 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 nel database e il ruolo per Compute Engine nel progetto.
Concedi i ruoli a un'entità
A questo punto puoi concedere i ruoli all'entità. Per scoprire come concedere i ruoli, consulta:
- 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 lo Strumento per la risoluzione dei problemi relativi ai criteri e all'analisi dei criteri per verificare a quali risorse può accedere l'entità e risolvere i problemi di accesso.
Se l'entità dispone delle autorizzazioni previste sulle risorse corrette, ma non è in grado di completare le proprie attività, è possibile che tu abbia trascurato un'autorizzazione necessaria all'entità. Ripeti il tentativo precedente aggiungendo le autorizzazioni necessarie all'elenco, individuando i ruoli che contengono queste autorizzazioni e scegliendo i ruoli più appropriati.
Se concedi accidentalmente un ruolo con troppe autorizzazioni, un consiglio 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 come il Simulatore di criteri può aiutarti a testare le modifiche ai ruoli di un'entità.
- Scopri in che modo lo Strumento di analisi Policy può indicare l'accesso di un'entità a una risorsa.
- Leggi informazioni dettagliate sulla risoluzione dei problemi di accesso.