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 elaborare i 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 abbiamo bisogno di rimuovere l'accesso di qualcuno. Quando un dipendente lascia l'azienda, termina il rapporto con un lavoratore a contratto o un collaboratore passa ad altre progetti, ci sono alcune cose che dovresti fare per revocare completamente l'accesso alle tue risorse.

Alcune di queste procedure sono facoltative. Devi stabilire quali di questi passaggi da eseguire a seconda delle tue esigenze di sicurezza, dei prodotti in uso e della fiducia persona il cui accesso è stato revocato.

Best practice per la configurazione del progetto

Puoi migliorare la capacità del progetto di revocare l'utente in modo efficiente l'accesso, facendo delle 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. Se rimuovi un account utente dal tuo provider di identità, viene eliminata anche l'identità dell'utente in Cloud Identity e l'utente non può più accedere alle risorse Google Cloud tramite i criteri di autorizzazione.

Per ulteriori informazioni, vedi 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 al team o in base ad altri criteri. Dopo aver creato i gruppi Google, puoi assegnare l'accesso a progetti e risorse Google Cloud basati sui gruppi. Poi, quando un utente passa un altro team, puoi semplicemente spostare l'account utente in un altro gruppo, rimuove automaticamente l'accesso concesso dai criteri di autorizzazione al gruppo precedente.

Per ulteriori informazioni, vedi Gestione dei gruppi nella console Google Cloud e Crea un gruppo nell'organizzazione.

Utilizza OS Login

Utilizza OS Login anziché le chiavi SSH basate su metadati per poter collegare Linux e alle rispettive 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, consulta la sezione Limitazione delle identità per dominio.

Utilizza 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 connessioni mediante l'utilizzo delle credenziali di un account utente o di servizio e la connessione in un livello SSL/TLS autorizzato per Cloud SQL in esecuzione in un'istanza Compute Engine. È 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.

Limita l'accesso alle VM

Macchine virtuali, come quelle utilizzate Compute Engine e Google Kubernetes Engine, sono ampie superfici di attacco potenziali. Se qualcuno ha avuto accesso a una VM, in particolare l'accesso come root o come amministratore, è estremamente difficile garantire di non aver modificato la VM e di aver lasciato una backdoor per consentirsi l'accesso. 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 alle 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 l'utilizzo di strumenti come Chef, Puppet e Salt per gestire deployment di machine learning.

Preparati per la rotazione delle credenziali

Progetta progetti e risorse in modo da consentire una rotazione non di disturbo 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 ulteriori informazioni le informazioni, vedi Gestione delle credenziali Google Cloud compromesse.

Limita chiavi API

Durante la creazione e la gestione delle chiavi API, limita l'insieme di siti web, indirizzi IP e app che possono utilizzarli. Un account utente con ruoli come Visualizzatore o Amministratore chiavi API può visualizzare le chiavi API del progetto, pertanto tutte le 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 le modalità di revoca dell'accesso.

Scenario Revoca delle opzioni di accesso
Un dipendente lascia l'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 di accesso alle risorse, devi rimuovere manualmente le identità dei progetti e delle risorse.
Un dipendente cambia la sua funzione lavorativa. Il dipendente viene rimosso dal gruppo del 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 l'autorizzazione all'utente esterno di accesso alle risorse, devi rimuovere manualmente le identità dei progetti e delle risorse.
Un account è stato compromesso. Per istruzioni, consulta la sezione Gestione dei contenuti compromessi Credenziali Google Cloud.

Revoca l'accesso

Se hai fatto buone scelte nella configurazione del progetto, i seguenti processi saranno 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.

Elimina l'account utente dal tuo 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, JSON viene consigliato, ma è disponibile P12 per la compatibilità con le versioni precedenti il codice che dipende da quest'ultimo.

  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 confermato che la nuova chiave funziona come previsto, torna alle credenziali ed eliminare la chiave precedente associata all'account di servizio.

Ruota i secret degli ID client OAuth

I secret dell'ID client OAuth non forniscono alcun accesso diretto al progetto. Tuttavia, se un utente malintenzionato conosce il secret dell'ID client OAuth, può eseguire lo spoofing del tuo e richiedere l'accesso all'account utente gli Account Google da un un'applicazione.

Potresti dover ruotare gli ID client secret OAuth se la persona il cui accesso è stato revocato ha mai avuto accesso al secret, ad esempio nel repository del codice sorgente, nelle configurazioni delle applicazioni 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 devono ripetere 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 progetto o all'account degli utenti ma non possono fare controllare chi fattura Google 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 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 che vuoi modificare.

  3. Fai clic su Rigenera chiave.

  4. La chiave appena creata viene visualizzata in una finestra di dialogo. Esegui il deployment di questa chiave in qualsiasi applicazioni utilizzando 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.

Revoca 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 sono state modificate in modo da compromettere la sicurezza dei nuovi delle VM in esecuzione.

Revoca l'accesso ai database Cloud SQL

Se il progetto non utilizza 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 degli indirizzi IP In Reti autorizzate e nell'elenco di app in App Engine autorizzazione corrispondente a quanto previsto. Se la persona di cui hai accesso di revocare l'accesso ha accesso alle reti o alle applicazioni qui elencate, possono accedere al database.

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

  6. Eliminare o modificare la password di qualsiasi utente gli account a cui la persona aveva accesso. Assicurati di aggiornare tutte le applicazioni 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. Per 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