Questo documento descrive best practice, scenari e procedure per revocare l'accesso di un utente a un progetto Google Cloud. Poiché ogni attività ha norme e workload diversi, ti consigliamo di utilizzare questo documento per creare le tue norme e procedure 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.
Alcune di queste procedure sono facoltative. 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.
Federare gli account utente con il tuo provider di identità esistente
Quando esegui la federazione degli account utente con il tuo provider di identità esistente, assicurati di propagare gli eventi di sospensione ed eliminazione degli utenti. Con la propagazione, quando sospesi o rimuovi un account utente dal tuo provider di identità, l'utente perde anche l'accesso alle risorse. Google Cloud
Per saperne di più, consulta le best practice per la federazione Google Cloud con un provider di identità esterno.
Per altre best practice relative all'identità, consulta le best practice per la pianificazione di account e organizzazioni.
Per informazioni sulla federazione delle identità della forza lavoro, consulta Federazione delle identità della 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 alla loro appartenenza al team, ai requisiti di accesso o ad altri criteri. Dopo aver creato i gruppi Google, puoi assegnare l'accesso ai progetti e alle risorse Google Cloud in base all'appartenenza al gruppo. Quando un utente passa a un altro team o a un'altra funzione lavorativa, puoi spostare il suo account in un altro gruppo, il che comporta la rimozione automatica dell'accesso concesso dalle norme di autorizzazione al gruppo precedente.
L'utilizzo di Google Gruppi non è appropriato in tutte le circostanze. Ad esempio, per gestire l'accesso non devi utilizzare gruppi basati solo sulla struttura dell'organizzazione della tua attività. Per le best practice sull'utilizzo dei gruppi, consulta le best practice per l'utilizzo di Google Gruppi.
Per saperne di più, consulta Gestire i gruppi nella console Google Cloud e Creare un gruppo nell'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 Utilizzare OS Login per garantire una valutazione continua dell'accesso in base alle norme IAM.
Per le istruzioni, vedi Configurare l'accesso al sistema operativo.
Limitare l'accesso da account utente esterni
Non concedere agli 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 di elenco
iam.allowedPolicyMemberDomains
.
Per le istruzioni, vedi 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 saperne di più, consulta Proxy di autenticazione Cloud SQL e Proxy di autenticazione AlloyDB per PostgreSQL.
Prepararsi per la rotazione delle credenziali
Progetta i progetti e le risorse in modo da consentire la rotazione non invasiva delle credenziali a livello di progetto. Si tratta di secret legati al progetto stesso, come chiavi dell'account di servizio, secret client OAuth e secret specifici dell'applicazione, come le password di root del database. Per ulteriori informazioni, consulta Gestire le credenzialiGoogle 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 progetto, pertanto eventuali 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
Monitorare attentamente l'accesso aiuta a mitigare i potenziali abusi di accesso. Puoi utilizzare il consigliere per i ruoli IAM per monitorare l'utilizzo dei ruoli e contribuire ad applicare il principio del privilegio minimo. Inoltre, le funzionalità di Cloud Infrastructure Entitlement Management (CIEM) di Security Command Center ti consentono di gestire le identità che hanno accesso alle risorse nei tuoi deployment e di mitigare le potenziali vulnerabilità derivanti da errori di configurazione.
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 tuoi bucket Cloud Storage. Utilizza l'accesso uniforme a livello di bucket insieme ad altre opzioni di controllo degli accessi per perfezionare chi può accedere ai contenuti dei tuoi bucket.
Best practice aggiuntive
Oltre alle best practice descritte in questo documento, consulta le seguenti best practice:
- Best practice per lavorare con gli account di servizio
- Decidi la sicurezza per la tua Google Cloud zona di destinazione
- Verifica esplicitamente ogni tentativo di accesso
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 | Revocare le 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 migliori pratiche 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 dipendente cambia la propria funzione lavorativa. | Rimuovi il dipendente dal gruppo di team. |
Un contratto termina. | 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 migliori pratiche 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, vedi Gestire le credenzialiGoogle 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 Analizzatore criteri. Per le istruzioni, vedi Analisi dei criteri 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 sta cambiando ruolo, rimuovi il suo account dai gruppi Google attuali. Se hai federato Cloud Identity o Google Workspace con il tuo provider di identità per gestire l'appartenenza al gruppo, la revoca dell'accesso può avvenire automaticamente.
Per ulteriori informazioni, vedi Visualizzare e modificare i dettagli del gruppo.
Rimuovi l'account utente dai criteri di autorizzazione IAM
Per rimuovere un account utente dalle norme consentite a livello di progetto:
Nella console Google Cloud, vai alla pagina Autorizzazioni IAM.
Seleziona il progetto da cui vuoi rimuovere un account utente.
Fai clic sulla casella di controllo accanto alla riga contenente l'account utente che vuoi rimuovere dall'elenco dei membri, quindi fai clic su Rimuovi.
Per verificare altre posizioni in cui è possibile impostare il criterio di autorizzazione, ad esempio cartelle, organizzazione o singole risorse, consulta Verificare che le autorizzazioni siano state rimosse.
Ruota le credenziali del progetto
Ruotare le chiavi dell'account di servizio
Se utilizzi le chiavi dell'account di servizio per autenticarti in un account di servizio, devi ruotarle. Inoltre, valuta se la persona potrebbe avere avuto accesso alle chiavi dell'account di servizio al di fuori degli strumenti, ad esempio nel repository del codice sorgente o nelle configurazioni dell'applicazione. Google Cloud
Nella console Google Cloud, vai alla pagina Credenziali API.
Fai clic sul nome del service account da modificare.
Nella scheda Chiave, fai clic su Aggiungi chiave.
Fai clic su Crea nuova chiave.
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 con il codice che dipende da questo formato.
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.
Dopo aver verificato che la nuova chiave funzioni come previsto, torna alla pagina delle credenziali e rimuovi la vecchia chiave associata al service account.
Ruotare i client secret dell'ID client OAuth
I secret dell'ID client OAuth non forniscono alcun accesso diretto al tuo 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 secret dell'ID client OAuth se la persona di cui viene revocato l'accesso ha mai avuto accesso al secret, ad esempio nel repository del codice sorgente, nelle configurazioni dell'applicazione o tramite i ruoli IAM.
Nella console Google Cloud, vai alla pagina Credenziali API.
Fai clic sul nome dell'ID client OAuth 2.0 da modificare.
Nella pagina ID cliente, fai clic su Reimposta secret.
Fai clic su Reimposta nella finestra di dialogo di conferma per revocare immediatamente il vecchio segreto e impostarne uno nuovo. Tieni presente che tutti gli utenti attivi dovranno eseguire nuovamente l'autenticazione alla successiva richiesta.
Esegui il deployment del nuovo secret in tutte le applicazioni che lo richiedono.
Ruotare 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ò vedere le chiavi API del progetto. Se hai chiavi senza restrizioni, devi eliminarle o rigenerarle quando revochi l'accesso di un utente al tuo progetto.
Nella console Google Cloud, vai alla pagina Credenziali API.
Fai clic sul nome della chiave API da modificare.
Fai clic su Rigenera chiave.
Verrà 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.
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 di cui stai revocando l'accesso non ha accesso in autenticazione a nessuna VM del tuo progetto, puoi saltare questo passaggio.
Rimuovi tutte le chiavi SSH a livello di progetto a cui la persona aveva accesso.
In ogni VM in cui la persona aveva accesso SSH, rimuovi eventuali chiavi a livello di istanza.
Rimuovi l'account della persona da tutte le VM a cui aveva accesso in qualità di utente.
Controlla se sono presenti applicazioni sospette che la persona potrebbe aver installato per fornire accesso backdoor alla VM. Se hai dubbi sulla sicurezza del codice in esecuzione sulla VM, ricréala e ridistribuisci le applicazioni di cui hai bisogno dal codice sorgente.
Verifica che le impostazioni del firewall della VM non siano state modificate rispetto alla configurazione pianificata o prevista.
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, svolgi i seguenti passaggi:
Nella console Google Cloud, vai alla pagina Istanze SQL.
Fai clic sull'ID istanza del database a cui vuoi revocare l'accesso.
Nel menu a sinistra, fai clic su Connessioni.
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 di cui stai tentando di revocare l'accesso ha accesso alle reti o alle applicazioni elencate qui, può accedere a questo database.
Nel menu a sinistra, fai clic su Utenti.
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.
Per revocare l'accesso a un database AlloyDB per PostgreSQL, vedi Rimuovere un account utente o di servizio IAM da un cluster.
Esegui di nuovo 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. Chiunque abbia 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 temi per l'integrità del codice delle app di cui hai eseguito il deployment, ti consigliamo di eseguirne nuovamente il deployment (inclusi eventuali moduli) con un'immagine nota come valida del tuo sistema di controllo della versione.
Verificare che le autorizzazioni siano state rimosse
Puoi verificare le autorizzazioni a livello di organizzazione, di progetto o utilizzando Policy Analyzer.
Per trovare le risorse a cui un determinato utente potrebbe avere accesso a livello di organizzazione, utilizza il metodo search-all-iam-policies
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 in un progetto, consulta Autorizzazioni di un principale in un progetto.
Per verificare le autorizzazioni utilizzando Policy Analyzer, consulta Determinare le risorse a cui può accedere un'entità.
Passaggi successivi
Scopri di più sulle best practice per la mitigazione dei token OAuth compromessi per la CLI Google Cloud.
Crea un criterio di rifiuto per specificare le autorizzazioni a cui l'utente non può più accedere.