Revocare l'accesso a un progetto Google Cloud

Il presente documento descrive le best practice, gli scenari e le procedure per la revoca di un l'accesso dell'utente a un progetto Google Cloud. Utilizza questo documento per creare criteri e procedure che ti consentano di revocare l'accesso in modo coerente e tempestivo.

Un momento critico nella vita delle tue risorse Google Cloud è quando devi rimuovere l'accesso di una persona. 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 completamente l'accesso non necessario alle tue risorse.

Alcuni di questi processi sono facoltativi. Devi stabilire quale di questi passaggi eseguire in base alle tue esigenze di sicurezza, ai prodotti in uso e alla fiducia nella persona di 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 ponderate al momento della configurazione.

Federa gli account utente al provider di identità esistente

Quando federati gli account utente con il tuo provider di identità esistente, puoi: sincronizza lo stato degli account utente. Quando rimuovi un account utente dal tuo provider di identità, viene eliminata anche l'identità utente in Cloud Identity e l'utente non ha più accesso alle risorse Google Cloud tramite i tuoi criteri di autorizzazione.

Per ulteriori informazioni, consulta Best practice per la federazione di 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.

Utilizza Google Gruppi per gestire l'accesso alle risorse di progetto

Google Gruppi ti consente di organizzare gli utenti in base alla loro appartenenza ai team o ad altro criteri. Dopo aver creato i gruppi Google, puoi assegnare l'accesso ai progetti e alle risorse Google Cloud in base ai gruppi. Quando un utente passa a un altro team, puoi semplicemente spostare il suo account in un altro gruppo, rimuovendo automaticamente l'accesso concesso dai criteri di autorizzazione al gruppo precedente.

Per saperne di più, consulta Gestire i gruppi nella console Google Cloud e Creare un gruppo nell'organizzazione.

Utilizzare OS Login

Utilizza l'accesso al sistema operativo anziché le chiavi SSH basate su metadati per collegare gli account Linux degli utenti alle loro identità Google. Quando rimuovi un account utente, le chiavi vengono revocate automaticamente.

Per le istruzioni, vedi Configurare OS Login.

Limita l'accesso da account utente esterni

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

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

Utilizzare il proxy di autenticazione Cloud SQL per la connessione a Cloud SQL

Proxy di autenticazione Cloud SQL consente di connettere i carichi di lavoro a Cloud SQL in base alle autorizzazioni IAM, anziché al controllo dell'accesso basato su IP come le reti autorizzate. Il proxy di autenticazione Cloud SQL convalida le connessioni utilizzando le credenziali di un account utente o di servizio e avvolgendo la connessione in un livello SSL/TLS autorizzato per l'istanza Cloud SQL. È un metodo di connessione più sicuro rispetto all'utilizzo della gestione autonoma Certificati SSL/TLS o reti autorizzate. Ti consente anche di rimuovere l'accesso a Cloud SQL quando revochi le autorizzazioni per l'account utente o elimini completamente l'account utente.

Limitare l'accesso alle VM

Le macchine virtuali, come quelle utilizzate da Compute Engine e Google Kubernetes Engine, rappresentano potenziali aree di attacco di grandi dimensioni. Se qualcuno ha mai avuto accesso a una VM, soprattutto con accesso come utente root o amministratore, è estremamente difficile garantire che non abbia modificato la VM e lasciato una backdoor per consentirsi un accesso futuro. Limita l'accesso alle VM alle persone che ne hanno una chiara e specifica esigenza.

Per impostazione predefinita, gli editor e i proprietari del progetto hanno accesso amministrativo a tutte le VM nel progetto. Rimuovi questo accesso predefinito e utilizza il principio del privilegio minimo per l'accesso alla VM.

Prima di concedere l'accesso alle VM, pensa alle attività che richiedono l'accesso. determinare se ci sono altri modi per soddisfare queste esigenze, se possibile. Per esempio, invece di concedere a tutti gli sviluppatori l'accesso alle VM per eseguire il deployment del codice, valuta la possibilità di usare strumenti come Chef, Puppet e Salt per gestire deployment di machine learning.

Preparati per la rotazione delle credenziali

Progetta i progetti e le risorse in modo da consentire la rotazione facile e senza interruzioni delle credenziali a livello di progetto. Questi sono segreti legati il progetto stesso, ad esempio le chiavi degli account di servizio, i client secret OAuth i secret specifici delle applicazioni, come le password root dei database. Per maggiori informazioni le informazioni, vedi Gestione delle credenziali Google Cloud compromesse.

Limita 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ò vedere le chiavi API del tuo progetto, pertanto eventuali chiavi senza restrizioni devono essere ruotate o eliminate per revocare l'accesso alla fatturazione. Per ulteriori informazioni, vedi Proteggi una chiave API.

Best practice aggiuntive

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

Scenari per la revoca dell'accesso ai progetti Google Cloud

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 Revoca delle opzioni di accesso
Un dipendente lascia la tua azienda. Se configuri 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'autorizzazione all'utente esterno delle identità alle tue risorse, devi rimuovere manualmente le identità dei progetti e delle risorse.
Un dipendente cambia la propria funzione lavorativa. Rimuovi il dipendente dal gruppo di team.
Il contratto termina qui. Se configuri 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 alle identità utente esterne l'accesso alle tue risorse, devi rimuovere manualmente le identità dai tuoi progetti e dalle tue risorse.
Un account è stato compromesso. Per le istruzioni, consulta Gestire le credenziali Google Cloud compromesse.

Revoca l'accesso

Se hai fatto delle buone scelte durante la configurazione del progetto, le procedure riportate di seguito costituiranno un modo efficace per revocare l'accesso di una persona.

Per determinare a quali risorse ha accesso una persona, utilizza Policy Analyzer. Per le istruzioni, vedi Analizzare i criteri IAM.

Eliminare l'account utente dal provider di identità

Se l'utente lascia l'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.

Spostare l'account in un altro gruppo

Se l'utente sta cambiando ruolo, rimuovi l'account utente da quello attuale Google Gruppi. Se hai federato Cloud Identity o Google Workspace con il tuo provider di identità per gestire l'iscrizione al gruppo; la revoca dell'accesso può avvenire automaticamente.

Rimuovere l'account utente dall'appartenenza al progetto

  1. Nella console Google Cloud, 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 contenente l'account utente da rimuovere. Dall'elenco dei membri, fai clic su Rimuovi.

Ruota le credenziali del progetto

Ruota le chiavi degli account di servizio

Se utilizzi le chiavi degli account di servizio per eseguire l'autenticazione su un servizio devi ruotare le chiavi. Inoltre, valuta se la persona hanno avuto accesso alle chiavi degli account di servizio da qualche parte al di fuori di Google Cloud come il repository di codice sorgente o le configurazioni delle applicazioni.

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

    Credenziali API

  2. Fai clic sul nome dell'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 JSON, ma P12 è disponibile per la compatibilità con le versioni precedenti del codice che ne dipende.

  6. Fai clic su Crea. Un file contenente la nuova chiave verrà automaticamente scaricati tramite il browser. Esegui il deployment di questa chiave in qualsiasi applicazione ne hai bisogno.

  7. Dopo aver verificato che la nuova chiave funzioni come previsto, torna alla pagina delle credenziali e rimuovi la vecchia chiave associata al service account.

Ruota i secret degli ID client OAuth

I secret dell'ID client OAuth non forniscono alcun accesso diretto al progetto. Tuttavia, se un malintenzionato conosce il client secret dell'ID OAuth, può rubare l'identità della tua applicazione e richiedere l'accesso agli Account Google dei tuoi utenti da un'applicazione dannosa.

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

  1. Nella console Google Cloud, 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 un secret e impostarne uno nuovo. Tieni presente che tutti gli utenti attivi dovranno eseguire nuovamente l'autenticazione alla successiva richiesta.

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

Ruota le chiavi API

Le chiavi API non forniscono l'accesso al tuo progetto o ai dati dei tuoi utenti, ma controllano a chi Google fattura 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 eliminare o rigenerarle quando revochi l'accesso di qualcuno al tuo progetto.

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

    Credenziali API

  2. Fai clic sul nome della chiave API da modificare.

  3. Fai clic su Rigenera chiave.

  4. Viene visualizzata una finestra di dialogo con la chiave appena creata. Esegui il deployment di questa chiave in qualsiasi applicazione che utilizza la chiave che vuoi sostituire.

  5. Dopo aver confermato che le applicazioni funzionano come previsto con la nuova torna alla pagina delle credenziali ed elimina la chiave senza restrizioni precedente.

Revocare l'accesso alle VM

Se la persona per la quale stai revocando l'accesso non dispone dell'accesso a nessuno degli per le VM del 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 le chiavi a livello di istanza.

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

  4. Controllare la presenza di applicazioni sospette che la persona potrebbe avere installato per fornire l'accesso backdoor alla VM. Se non sei sicuro della sicurezza di qualsiasi il codice in esecuzione sulla VM, ricrearlo ed eseguire nuovamente il deployment delle applicazioni dall'origine.

  5. Verifica che le impostazioni del firewall della VM non siano state modificate rispetto a quelle pianificate o la configurazione 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.

Revoca l'accesso ai database Cloud SQL

Se il tuo progetto non utilizza le risorse Cloud SQL, puoi saltare questo passaggio.

  1. Nella console Google Cloud, 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 Connections (Connessioni).

  4. Verifica che l'elenco di indirizzi IP in Reti autorizzate e l'elenco di app in Autorizzazione App Engine corrispondano a quanto previsto. Se la persona di 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 dell'utente a cui la persona aveva accesso. Assicurati di aggiornare tutte le applicazioni che dipendono da questi account utente.

Esegui di nuovo il deployment di App Engine

Per impostazione predefinita, le app di App Engine hanno accesso a un account di servizio sul 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. Qualcuno con di eseguire il deployment del codice in App Engine potrebbe utilizzare questo account di servizio e una backdoor sul tuo progetto. Se sei preoccupato per l'integrità del codice delle app di cui hai eseguito il deployment, potresti rieseguire il deployment (inclusi eventuali moduli). con un'immagine valida dal tuo sistema di controllo della versione.

Verifica che le autorizzazioni siano state rimosse

In Google Cloud CLI, esegui Metodo search-all-iam-policies per trovare risorse a cui un determinato account utente potrebbe avere accesso. 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.

Passaggi successivi