Utilizza IAM in modo sicuro

Questa pagina consiglia le best practice per la sicurezza da tenere presenti quando si utilizza IAM.

Questa pagina è pensata per gli utenti esperti di IAM. Se hai appena iniziato a utilizzare IAM, queste istruzioni non ti insegneranno a utilizzarlo; i nuovi utenti dovrebbero invece iniziare con la guida rapida di IAM.

Privilegio minimo

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. Concedi invece i ruoli predefiniti o i ruoli personalizzati più limitati in base alle tue esigenze.

Se devi sostituire un ruolo di base, puoi utilizzare i suggerimenti sui ruoli per determinare quali ruoli concedere. Puoi anche utilizzare il Simulatore di criteri per assicurarti che la modifica del ruolo non influisca sull'accesso dell'entità.

Potrebbe essere opportuno concedere ruoli di base nei seguenti casi:

  • Quando il servizio Google Cloud non fornisce un ruolo predefinito. Consulta la tabella dei ruoli predefiniti per un elenco di tutti i ruoli predefiniti disponibili.
  • Quando vuoi concedere autorizzazioni più ampie per un progetto. Questo accade spesso quando vengono concesse autorizzazioni in ambienti di sviluppo o test.
  • Quando lavori in un piccolo team in cui i membri del team non hanno bisogno di autorizzazioni granulari.
Tratta ogni componente dell'applicazione come confine di attendibilità separato. Se hai più servizi che richiedono autorizzazioni diverse, crea un account di servizio separato per ciascuno dei servizi, quindi concedi solo le autorizzazioni richieste a ciascun account di servizio.
Ricorda che i criteri di autorizzazione per le risorse figlio ereditano dai criteri di autorizzazione per le risorse padre. Ad esempio, se il criterio di autorizzazione per un progetto concede a un utente la possibilità di amministrare le istanze di macchine virtuali (VM) Compute Engine, l'utente può amministrare qualsiasi VM di Compute Engine in quel progetto, indipendentemente dal criterio di autorizzazione impostato su ogni VM.
Concedi i ruoli con il minor ambito necessario. Ad esempio, se un utente deve accedere solo per pubblicare argomenti Pub/Sub, concedi all'utente il ruolo Publisher per quell'argomento.
Specifica quali entità possono agire come account di servizio. Gli utenti a cui è stato concesso il ruolo Utente account di servizio per un account di servizio possono accedere a tutte le risorse a cui ha accesso l'account di servizio. Presta quindi attenzione quando assegni il ruolo Utente account di servizio a un utente.
Specifica chi può accedere per creare e gestire gli account di servizio nel tuo progetto.
La concessione dei ruoli predefiniti Amministratore IAM progetto e Amministratore IAM cartella consentirà l'accesso per modificare i criteri di autorizzazione senza consentire anche l'accesso diretto in lettura, scrittura e amministratore a tutte le risorse.

La concessione del ruolo Proprietario (roles/owner) a un'entità consentirà di accedere a quasi tutte le risorse e modificarle, incluse la modifica dei criteri di autorizzazione. Questa quantità di privilegi è potenzialmente rischiosa. Concedi il ruolo Proprietario solo quando è richiesto l'accesso universale (quasi).
Utilizza le associazioni di ruoli condizionali per far scadere automaticamente l'accesso e valuta la possibilità di concedere l'accesso con privilegi solo su base just-in-time.

Account di servizio

Adotta le best practice per l'utilizzo degli account di servizio. Assicurati che gli account di servizio abbiano privilegi limitati e proteggiti da potenziali minacce alla sicurezza.
Non eliminare gli account di servizio utilizzati dalle istanze in esecuzione. Questa operazione potrebbe causare la mancata riuscita dell'applicazione, del tutto o in parte, se non hai prima eseguito la transizione a un account di servizio alternativo.
Utilizza il nome visualizzato di un account di servizio per tenere traccia dello scopo dell'account di servizio e delle autorizzazioni necessarie.

Chiavi account di servizio

Evita di utilizzare chiavi degli account di servizio se è disponibile un'altra opzione. Le chiavi degli account di servizio comportano un rischio per la sicurezza se non vengono gestite correttamente. Dovresti scegliere un'alternativa più sicura alle chiavi degli account di servizio quando è possibile. Se devi eseguire l'autenticazione con una chiave dell'account di servizio, sei responsabile della sicurezza della chiave privata e di altre operazioni descritte nelle Best practice per la gestione delle chiavi degli account di servizio. Se non ti viene consentito di creare una chiave dell'account di servizio, la creazione di chiavi dell'account di servizio potrebbe essere disabilitata per la tua organizzazione. Per saperne di più, consulta Gestione di risorse dell'organizzazione sicure per impostazione predefinita.
Ruota le chiavi degli account di servizio utilizzando l'API IAM. Puoi ruotare una chiave creando una nuova chiave, impostando le applicazioni in modo che utilizzino la nuova chiave, disattivando quella precedente ed eliminando quella precedente quando hai la certezza che non sia più necessaria.
Implementa processi per gestire le chiavi degli account di servizio gestite dall'utente.
Fai attenzione a non confondere le chiavi di crittografia con le chiavi degli account di servizio. Le chiavi di crittografia vengono generalmente utilizzate per criptare i dati, mentre le chiavi degli account di servizio vengono utilizzate per accedere in modo sicuro alle API Google Cloud.
Non controllare le chiavi dell'account di servizio nel codice sorgente o lasciarle nella directory Download.

Controllo

Utilizza i log di Cloud Audit Logs per controllare regolarmente le modifiche al criterio di autorizzazione.
Esporta gli audit log in Cloud Storage per archiviare i log per periodi di tempo prolungati.
Verifica chi ha la possibilità di modificare i criteri di autorizzazione sui tuoi progetti.
Gestire l'accesso ai log utilizzando i ruoli di Logging.
Applica gli stessi criteri di accesso alla risorsa Google Cloud che utilizzi per il routing dei log applicati a Esplora log.
Utilizza i log di Cloud Audit Logs per controllare regolarmente l'accesso alle chiavi degli account di servizio.

Gestione dei criteri

Se un'entità ha bisogno di accedere a tutti i progetti dell'organizzazione, concedi dei ruoli all'entità a livello di organizzazione.
Se possibile, concedi i ruoli a un gruppo Google anziché a singoli utenti. È più semplice aggiornare i membri di un gruppo Google che aggiornare le entità nei criteri di autorizzazione.