Revocare l'accesso a un progetto Google Cloud

Questo documento descrive le best practice, gli scenari e le procedure per revocare l'accesso di un utente a un Google Cloud progetto. Poiché ogni attività ha policy e carichi di lavoro diversi, ti consigliamo di utilizzare questo documento per creare policy e procedure personalizzate che ti consentano di revocare l'accesso in modo coerente e tempestivo.

Quando un dipendente lascia la tua azienda, il tuo contratto con un appaltatore termina o un collaboratore passa ad altri progetti, ci sono alcune cose che devi fare per revocare l'accesso non necessario alle tue risorse cloud.

Alcuni di questi processi sono facoltativi. Dovresti determinare quali di questi passaggi eseguire in base alle tue esigenze di sicurezza, ai prodotti in uso e alla fiducia nella persona a cui viene revocato l'accesso.

Best practice per la configurazione del progetto

Puoi migliorare la capacità del tuo progetto di revocare in modo efficiente l'accesso degli utenti facendo scelte oculate durante la configurazione.

Federare gli account utente con il provider di identità esistente

Quando federi gli account utente con il provider di identità esistente, assicurati di propagare gli eventi di sospensione ed eliminazione degli utenti. Con la propagazione, quando sospendi o rimuovi un account utente dal provider di identità, l'utente perde anche l'accesso alle Google Cloud risorse.

Per ulteriori informazioni, consulta Best practice per la federazione Google Cloud con un provider di identità esterno.

Per altre best practice relative all'identità, consulta Best practice per la pianificazione di account e organizzazioni.

Per informazioni sulla federazione delle identità per la forza lavoro, consulta Federazione delle identità per la forza lavoro.

Valuta la possibilità di utilizzare Google Gruppi per gestire l'accesso alle risorse del progetto

Google Gruppi ti consente di organizzare gli utenti in base all'appartenenza al team, ai requisiti di accesso o ad altri criteri. Dopo aver creato Google Gruppi, puoi assegnare l'accesso a Google Cloud progetti e risorse in base all'appartenenza al gruppo. Quando un utente passa a un altro team o a un'altra funzione lavorativa, puoi spostare l'account utente in un altro gruppo, che rimuove automaticamente l'accesso concesso dalle policy di autorizzazione al gruppo precedente.

L'utilizzo di Google Gruppi non è appropriato in tutte le circostanze. Ad esempio, non devi utilizzare gruppi basati solo sulla struttura organizzativa della tua attività per gestire l'accesso. Per le best practice sull'utilizzo dei gruppi, consulta Best practice per l'utilizzo di Google Gruppi.

Per ulteriori informazioni, consulta Gestire i gruppi nella Google Cloud console e Creare un gruppo nella tua organizzazione

Utilizzare OS Login

Utilizza OS Login anziché le chiavi SSH basate su metadati in modo che le chiavi autorizzate dell'utente siano collegate alla sua identità Google. Quando rimuovi un account utente, le chiavi autorizzate e l'accesso alle VM vengono revocati automaticamente. Per ulteriori informazioni, consulta Utilizza OS Login per garantire una valutazione continua dell'accesso in base alle policy IAM.

Per le istruzioni, consulta Configurare OS Login.

Limitare l'accesso dagli account utente esterni

Non concedere l'accesso al progetto agli utenti esterni perché non puoi controllare il ciclo di vita di questi account utente. Per limitare gli utenti esterni, utilizza il iam.allowedPolicyMemberDomains vincolo di elenco.

Per le istruzioni, consulta Limitare le identità per dominio.

Utilizzare i proxy di autenticazione con i database

I proxy di autenticazione ti consentono di collegare il ciclo di vita delle credenziali del database al ciclo di vita di un'identità Google. Quando sospendi o elimini un account utente in Cloud Identity o Google Workspace, l'accesso ai database viene revocato automaticamente.

Per ulteriori informazioni, consulta Proxy di autenticazione Cloud SQL e Proxy di autenticazione AlloyDB per PostgreSQL.

Prepararsi per la rotazione delle credenziali

Progetta i tuoi progetti e le tue risorse in modo da consentire la rotazione non interruttiva delle credenziali a livello di progetto. Si tratta di secret collegati al progetto stesso, come le chiavi dei account di servizio, i client secret OAuth e i secret specifici dell'applicazione, come le password di root del database. Per ulteriori informazioni, consulta Rispondere alle credenziali Google Cloud compromesse.

Limitare le chiavi API

Quando crei e gestisci le chiavi API, limita l'insieme di siti web, indirizzi IP e app che possono utilizzarle. Un account utente con ruoli come Visualizzatore o Amministratore chiavi API può visualizzare le chiavi API del tuo progetto, quindi tutte le chiavi senza restrizioni devono essere ruotate o eliminate per revocare l'accesso alla fatturazione. Per ulteriori informazioni, consulta Proteggere una chiave API.

Monitorare le autorizzazioni di accesso

Il monitoraggio attento dell'accesso aiuta a mitigare il potenziale abuso di accesso. Puoi utilizzare il recommender di ruoli IAM per monitorare l'utilizzo dei ruoli e applicare il principio del privilegio minimo. Inoltre, le funzionalità di gestione dei diritti dell'infrastruttura cloud (CIEM) di Security Command Center ti consentono di gestire le identità che hanno accesso a quali risorse nei tuoi deployment e di mitigare le potenziali vulnerabilità derivanti da configurazioni errate.

Utilizzare l'accesso uniforme a livello di bucket per Cloud Storage

L'accesso uniforme a livello di bucket ti consente di utilizzare solo IAM per gestire le autorizzazioni per i bucket Cloud Storage. Utilizza l'accesso uniforme a livello di bucket insieme a altre opzioni di controllo dell'accesso per definire chi può accedere ai contenuti dei bucket.

Best practice aggiuntive

Oltre alle best practice descritte in questo documento, consulta le seguenti best practice:

Scenari per la revoca dell'accesso ai Google Cloud progetti

Se hai implementato le best practice elencate in Best practice per la configurazione del progetto, la tabella seguente riassume come puoi revocare l'accesso.

Scenario Opzioni di revoca dell'accesso
Un dipendente lascia la tua azienda. Se hai configurato la federazione tra Cloud Identity o Google Workspace con il provisioning automatico degli utenti, la revoca dell'accesso può avvenire automaticamente.

Se non hai seguito le best practice e hai concesso l'accesso alle tue risorse alle identità utente esterne, devi rimuovere manualmente le identità dai progetti e dalle risorse.
Un dipendente cambia la sua funzione lavorativa. Rimuovi il dipendente dal gruppo del team.
Termina un contratto. Se hai configurato la federazione tra Cloud Identity o Google Workspace con il provisioning automatico degli utenti, la revoca dell'accesso può avvenire automaticamente.

Se non hai seguito le best practice e hai concesso l'accesso alle tue risorse alle identità utente esterne, devi rimuovere manualmente le identità dai progetti e dalle risorse.
Un account è stato compromesso. Per le istruzioni, consulta Rispondere alle credenziali Google Cloud compromesse.

Revocare l'accesso

Se hai fatto scelte oculate nella configurazione del progetto, le seguenti procedure rappresentano un modo efficiente per revocare l'accesso di una persona.

Per determinare a quali risorse ha accesso una persona, utilizza Policy Analyzer. Per le istruzioni, consulta Analizzare le policy IAM.

Eliminare l'account utente dal provider di identità

Se l'utente lascia la tua organizzazione e hai federato Cloud Identity o Google Workspace con il tuo provider di identità, con il provisioning automatico degli utenti, la revoca dell'accesso può avvenire automaticamente.

Per informazioni sull'eliminazione degli utenti della federazione delle identità per la forza lavoro, consulta Eliminare gli utenti della federazione delle identità per la forza lavoro e i relativi dati.

Spostare l'account in un altro gruppo

Se l'utente cambia ruolo, rimuovi l'account utente dai suoi gruppi Google attuali. Se hai federato Cloud Identity o Google Workspace con il tuo provider di identità per gestire l'appartenenza ai gruppi, la revoca dell'accesso può avvenire automaticamente.

Per ulteriori informazioni, consulta Visualizzare e modificare i dettagli del gruppo.

Rimuovere l'account utente dalle policy di autorizzazione IAM

Per rimuovere un account utente dalle policy di autorizzazione a livello di progetto:

  1. Nella Google Cloud console, vai alla pagina Autorizzazioni IAM.

    Autorizzazioni IAM

  2. Seleziona il progetto da cui vuoi rimuovere un account utente.

  3. Fai clic sulla casella di controllo accanto alla riga che contiene l'account utente che vuoi rimuovere dall'elenco dei membri, quindi fai clic su Rimuovi.

Per verificare altre posizioni in cui è possibile impostare la policy di autorizzazione, incluse cartelle, organizzazione o singole risorse, consulta Verificare che le autorizzazioni siano state rimosse.

Ruotare le credenziali del progetto

Se la persona a cui stai revocando l'accesso aveva accesso alle credenziali a livello di progetto, come le chiavi dei account di servizio, i client secret OAuth o le chiavi API, devi ruotare queste credenziali.

Ruotare le chiavi dei account di servizio

Se utilizzi le chiavi dei account di servizio per l'autenticazione a un service account, devi ruotarle. Inoltre, valuta se la persona potrebbe aver avuto accesso alle chiavi dei account di servizio al di fuori degli Google Cloud strumenti, ad esempio nel repository del codice sorgente o nelle configurazioni delle applicazioni.

  1. Nella Google Cloud console, vai alla pagina Credenziali API.

    Credenziali API

  2. Fai clic sul nome del account di servizio che vuoi modificare.

  3. Nella scheda Chiave, fai clic su Aggiungi chiave.

  4. Fai clic su Crea nuova chiave.

  5. Scegli il tipo di chiave che vuoi creare. Nella maggior parte dei casi, è consigliato il formato JSON, ma il formato P12 è disponibile per la compatibilità con le versioni precedenti del codice che dipende da questo formato.

  6. Fai clic su Crea. Un file contenente la nuova chiave verrà scaricato automaticamente tramite il browser. Esegui il deployment di questa chiave in tutte le applicazioni che ne hanno bisogno.

  7. Dopo aver verificato che la nuova chiave funzioni come previsto, torna alla pagina delle credenziali ed elimina la vecchia chiave associata a quel account di servizio.

Ruotare i secret dell'ID client OAuth

I secret dell'ID client OAuth non forniscono alcun accesso diretto al tuo progetto. Tuttavia, se un pirata informatico conosce il secret dell'ID client OAuth, può falsificare la tua applicazione e richiedere l'accesso agli Account Google dei tuoi utenti da un'applicazione dannosa.

Potresti dover ruotare i secret dell'ID client OAuth se la persona a cui viene revocato l'accesso ha mai avuto accesso al secret, ad esempio nel repository del codice sorgente, nelle configurazioni delle applicazioni o tramite i ruoli IAM.

  1. Nella Google Cloud console, vai alla pagina Credenziali API.

    Credenziali API

  2. Fai clic sul nome dell'ID client OAuth 2.0 che vuoi modificare.

  3. Nella pagina ID client, fai clic su Reimposta secret.

  4. Fai clic su Reimposta nella finestra di dialogo di conferma per revocare immediatamente il vecchio secret e impostarne uno nuovo. Tieni presente che tutti gli utenti attivi dovranno eseguire nuovamente l'autenticazione alla prossima richiesta.

  5. Esegui il deployment del nuovo secret in tutte le applicazioni che ne hanno bisogno.

Ruotare le chiavi API

Le chiavi API non forniscono l'accesso al tuo progetto o ai dati dei tuoi utenti, ma controllano chi Google fattura per le richieste API. Un account utente con ruoli come Visualizzatore o Amministratore chiavi API può visualizzare le chiavi API del tuo progetto. Se hai chiavi senza restrizioni, devi eliminarle o rigenerarle quando revochi l'accesso di qualcuno al tuo progetto.

  1. Nella Google Cloud console, vai alla pagina Credenziali API.

    Credenziali API

  2. Fai clic sul nome della chiave API che vuoi modificare.

  3. Fai clic su Rigenera chiave.

  4. Verrà visualizzata una finestra di dialogo con la chiave appena creata. Esegui il deployment di questa chiave in tutte le applicazioni che utilizzano la chiave che vuoi sostituire.

  5. Dopo aver verificato che le applicazioni funzionino come previsto con la nuova chiave, torna alla pagina delle credenziali ed elimina la vecchia chiave senza restrizioni.

Revocare l'accesso alle VM

Se la persona a cui stai revocando l'accesso non ha accesso di accesso a nessuna delle VM del tuo progetto, puoi saltare questo passaggio.

  1. Rimuovi tutte le chiavi SSH a livello di progetto a cui la persona aveva accesso.

  2. Su ogni VM in cui la persona aveva accesso SSH, rimuovi tutte le chiavi a livello di istanza.

  3. Rimuovi l'account della persona da tutte le VM a cui aveva accesso di accesso.

  4. Controlla se sono presenti applicazioni sospette che la persona potrebbe aver installato per fornire l'accesso backdoor alla VM. Se non sei sicuro della sicurezza del codice in esecuzione sulla VM, ricrealo ed esegui nuovamente il deployment delle applicazioni di cui hai bisogno dall'origine.

  5. Verifica che le impostazioni del firewall della VM non siano state modificate rispetto alla configurazione pianificata o prevista.

  6. Se crei nuove VM da immagini di base personalizzate, verifica che le immagini di base non siano state modificate in modo da compromettere la sicurezza delle nuove VM.

Revocare l'accesso ai database

Se il tuo progetto non utilizza risorse Cloud SQL o AlloyDB per PostgreSQL, puoi saltare questo passaggio.

Per revocare l'accesso a un database Cloud SQL:

  1. Nella Google Cloud console, vai alla pagina Istanze SQL.

    Istanze SQL

  2. Fai clic sull'ID istanza del database a cui vuoi revocare l'accesso.

  3. Nel menu a sinistra, fai clic su Connessioni.

  4. Verifica che l'elenco degli indirizzi IP in Reti autorizzate e l'elenco delle app in Autorizzazione App Engine corrispondano a quanto previsto. Se la persona a cui stai tentando di revocare l'accesso ha accesso alle reti o alle applicazioni elencate qui, può accedere a questo database.

  5. Nel menu a sinistra, fai clic su Utenti.

  6. Elimina o modifica la password di tutti gli account utente a cui la persona aveva accesso. Assicurati di aggiornare tutte le applicazioni che dipendono da questi account utente.

Per revocare l'accesso a un database AlloyDB per PostgreSQL, consulta Rimuovere un utente IAM o un account di servizio da un cluster.

Eseguire nuovamente il deployment di App Engine

Per impostazione predefinita, le app App Engine hanno accesso a un account di servizio che è un editor del progetto associato. I gestori delle richieste di App Engine possono eseguire operazioni come creare nuove VM e leggere o modificare i dati in Cloud Storage. Una persona con la possibilità di eseguire il deployment del codice in App Engine potrebbe utilizzare questo account di servizio per aprire una backdoor nel tuo progetto. Se hai dubbi sull'integrità del codice delle app di cui hai eseguito il deployment, ti consigliamo di eseguirne nuovamente il deployment (inclusi tutti i moduli) con un'immagine nota dal tuo sistema di controllo delle versioni.

Verificare che le autorizzazioni siano state rimosse

Puoi verificare le autorizzazioni a livello di organizzazione, a livello di progetto o utilizzando Policy Analyzer.

Per trovare le risorse a cui un determinato utente potrebbe avere accesso a livello di organizzazione, utilizza il search-all-iam-policies metodo in Google Cloud CLI. Ad esempio, per determinare se un utente ha accesso alle tue risorse, esegui:

gcloud asset search-all-iam-policies --scope='organizations/ORGANIZATION_ID --query='policy:IDENTITY'

Dove:

  • ORGANIZATION_ID è il numero della tua organizzazione.
  • IDENTITY è l'identità dell'utente, ad esempio un indirizzo email.

Per verificare le autorizzazioni di un progetto, consulta Autorizzazioni di un'entità su un progetto.

Per verificare le autorizzazioni utilizzando Policy Analyzer, consulta Determinare le risorse a cui un'entità può accedere.

Passaggi successivi