Esistono diversi prodotti e servizi Google Cloud che puoi utilizzare per aiutare la tua organizzazione a sviluppare un approccio per la governance delle identità e la gestione degli accessi per le applicazioni e i workload in esecuzione su Google Cloud. Questo documento è rivolto ad amministratori della sicurezza, gestori delle operazioni e architetti aziendali che lavorano nei team dei clienti e che vogliono conoscere questi strumenti e controlli e come utilizzarli.
Questo documento presuppone che tu disponga di quanto segue:
- Un progetto Google Cloud.
- Un account utente con accesso amministrativo per gestire gli utenti e i gruppi Cloud Identity. Per eseguire le procedure di esempio riportate in questo documento, devi disporre di questo accesso.
Un account utente senza accesso amministrativo per gestire gruppi e utenti Cloud Identity. Questo account è necessario per testare alcuni degli elementi di controllo impostati nelle procedure di esempio riportate in questo documento.
Se non disponi già dell'accesso a un progetto Google Cloud e dell'accesso amministrativo a Cloud Identity, consulta Creare un progetto Google Cloud e Configurare Cloud Identity.
Individuare account e autorizzazioni inutilizzati
È buona prassi rimuovere gli account utente quando non sono più necessari perché gli account utente e di servizio inutilizzati (orfani) possono rappresentare un rischio per la sicurezza. Puoi utilizzare Policy Intelligence di Google Cloud nei seguenti modi per aiutare la tua azienda a comprendere e ridurre i rischi:
- Aiutare gli amministratori della tua azienda a scoprire account e autorizzazioni che non vengono più utilizzati, ad esempio perché un dipendente ha lasciato l'azienda o ha cambiato ruolo.
- Aiutare a identificare gli account di servizio che sono stati abbandonati al termine delle attività.
Visualizzare e applicare i suggerimenti IAM
Il consigliere per la gestione di identità e accessi (IAM) fa parte della suite di strumenti e servizi Policy Intelligence. Utilizza il machine learning (ML) per fornire suggerimenti intelligenti per controllo dell'accesso che ti aiutano a identificare gli account che non hanno più bisogno di accedere alle risorse Google Cloud. Puoi quindi esaminare i consigli e decidere se applicarli. Il Recommender IAM ti aiuta anche a mantenere il principio del privilegio minimo per tutti i membri della tua organizzazione. Oltre a fornire consigli, il servizio Recommender utilizza il machine learning per fornire approfondimenti dettagliati. Gli approfondimenti sono risultati che mettono in evidenza pattern significativi nell'utilizzo delle risorse. Ad esempio, puoi raccogliere ulteriori informazioni sull'utilizzo delle autorizzazioni nel tuo progetto, identificare le autorizzazioni che non vengono utilizzate e non sono più necessarie e identificare gli account di servizio inutilizzati.
È possibile visualizzare e applicare i consigli IAM nella console Google Cloud su larga scala a livello di azienda. Nell'esempio di procedura seguente, utilizzi BigQuery per esaminare e ottimizzare le autorizzazioni di accesso nella tua organizzazione. Per configurare l'integrazione di BigQuery, devi configurare un'esportazione dei consigli effettuati dal Recommender IAM in un set di dati BigQuery. Questi dati possono essere sottoposti a query e esaminati utilizzando strumenti di visualizzazione come Looker Studio e Looker.
Implementazione
Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.
BigQuery viene attivato automaticamente nei nuovi progetti. Per attivare BigQuery in un progetto esistente, abilita l'API BigQuery.
Configura BigQuery Data Transfer Service in modo da estrarre i dati dal Recommender IAM. Per scoprire di più, consulta Esportare i suggerimenti in BigQuery.
Vai alla pagina BigQuery.
Copia e incolla la seguente query nel campo Editor:
SELECT recommendation_details FROM PROJECT_ID.DATASET.TABLE_NAME WHERE recommender = "google.iam.policy.Recommender" AND recommender_subtype = "REMOVE_ROLE"
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto Google Cloud che utilizzi per eseguire questo esempioDATASET
: il nome del set di dati selezionato durante la configurazione del job BigQuery Data Transfer Service.TABLE_NAME
: il nome della tabella creata dal job BigQuery Data Transfer Service.
Esegui questa query per identificare il
recommender_subtype
sottotipo di suggerimenti del motore per suggerimenti IAMREMOVE_ROLE
.Fai clic su Esegui. Utilizza il risultato della query per identificare i ruoli inutilizzati e le associazioni di ruoli IAM di dimensioni adeguate.
Puoi salvare i risultati della query in Fogli. Per saperne di più, consulta Salvare i risultati delle query in Fogli.
Consenti agli utenti di richiedere l'accesso alle risorse
Gli amministratori dell'azienda devono poter consentire agli utenti di richiedere l'accesso alle risorse. In genere, queste richieste vengono sottoposte a una procedura di approvazione in cui un approvatore designato o un gruppo di approvatori deve approvare la richiesta prima di concedere l'accesso. Google Gruppi ti consente di applicare un criterio di accesso a un insieme di utenti, in modo da seguire la best practice di gestione dei criteri di assegnazione dell'accesso alle risorse in base all'appartenenza al gruppo. Questo approccio mantiene i criteri pertinenti man mano che si verificano eventi di adesione, trasferimento e uscita tramite le modifiche all'appartenenza al gruppo.
Puoi concedere e modificare i controlli di accesso per un intero gruppo con Google Gruppi, invece di concederli o modificarli uno alla volta per singoli utenti o account di servizio. Puoi anche aggiungere e rimuovere facilmente membri da un gruppo Google anziché aggiornare un criterio IAM per aggiungere o rimuovere utenti.
Configurare l'accesso alle risorse utilizzando Google Gruppi
Puoi creare e gestire un gruppo Google utilizzando Cloud Identity. Cloud Identity è una soluzione Identity as a Service (IDaaS) che gestisce gli utenti e i gruppi. Puoi anche configurare Cloud Identity per federare le identità tra Google e altri provider di identità, come Active Directory e Azure Active Directory. Google Gruppi consente inoltre a un utente di richiedere l'iscrizione a un gruppo. Questa richiesta viene inoltrata agli amministratori del gruppo, che possono approvarla o rifiutarla. Per saperne di più, consulta Creare un gruppo e scegliere le relative impostazioni.
Quando crei e gestisci un gruppo Google per concedere l'accesso alle risorse di Google Cloud, assicurati di considerare le implicazioni delle impostazioni selezionate. Sebbene consigliamo di ridurre al minimo il numero di utenti che possono gestire il gruppo, ti consigliamo di configurare più di un amministratore del gruppo per avere sempre accesso al gruppo. Ti consigliamo inoltre di limitare l'appartenenza ai gruppi agli utenti della tua organizzazione.
Implementazione
In questa procedura di esempio, crei un gruppo Google e concedi al gruppo visualizzatore l'accesso a un progetto Google Cloud di esempio. I membri che aggiungi a questo gruppo (o a cui concedi l'accesso su richiesta) possono visualizzare il progetto Google Cloud di esempio.
Creare un gruppo Google di esempio
I passaggi che seguono presuppongono che Cloud Identity sia configurato. Per scoprire di più, consulta Configurare Cloud Identity. Assicurati di disporre delle autorizzazioni necessarie per gestire i gruppi.
Nella console Google Cloud, vai alla pagina Gruppi.
Fai clic su Crea.
Inserisci i dettagli del gruppo.
Per aggiungere membri al gruppo, fai clic su Aggiungi membro, poi inserisci l'indirizzo email del membro e scegli il suo ruolo di Google Gruppi.
Al termine, fai clic su Invia per creare il gruppo.
Le impostazioni dei gruppi possono essere gestite solo in Google Gruppi. Per configurare le impostazioni del gruppo, fai clic su Gestisci questo gruppo in Google Gruppi. Per selezionare chi può partecipare al gruppo, nel menu Chi può partecipare al gruppo, selezionare Solo utenti dell'organizzazione.
Fai clic su Crea gruppo.
Concedi al gruppo l'accesso a un progetto Google Cloud
- Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.
Apri Cloud Shell:
Esegui il comando seguente per concedere al visualizzatore di gruppo l'accesso al progetto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_EMAIL --role=roles/viewer
Sostituisci quanto segue:
GROUP_EMAIL
: l'indirizzo email del gruppo che hai creatoPROJECT_ID
: l'ID del tuo progetto Google Cloud
Testare la procedura di richiesta di accesso utente per gli utenti della tua organizzazione
Nella procedura seguente, utilizzerai un account utente di prova per dimostrare i passaggi che gli utenti della tua organizzazione utilizzano per richiedere l'accesso a un gruppo Google.
- Accedi a Google Gruppi come utente non amministrativo. Il gruppo che hai creato in Creare un gruppo Google di esempio viene visualizzato in Tutti i gruppi. Se il gruppo non viene visualizzato, utilizza la ricerca per trovarlo.
Per richiedere l'accesso al gruppo, fai clic su Chiedi di iscriverti al gruppo.
Una volta concesso l'accesso, l'account utente non amministrativo utilizzato per effettuare la richiesta dovrebbe essere in grado di visualizzare il progetto Google Cloud
PROJECT_ID
a cui il gruppo ha accesso come visualizzatore.
Concedere l'accesso limitato nel tempo alle risorse Google Cloud
Potrebbero verificarsi situazioni in cui gli utenti della tua azienda richiedono accesso temporaneo e di breve termine alle risorse Google Cloud. L'accesso a breve termine è utile quando gli sviluppatori hanno bisogno di accedere temporaneamente alle risorse Google Cloud per eseguire determinate attività. L'accesso a breve termine offre anche i seguenti vantaggi:
- Riduzione dell'overhead amministrativo.
- Garantire il rispetto del principio del privilegio minimo e dell'accesso tempestivo.
La possibilità di concedere questo tipo di accesso è utile per gli amministratori quando gli utenti devono accedere alle risorse in situazioni di emergenza che richiedono un intervento rapido e diretto. Tuttavia, può essere difficile monitorare manualmente le autorizzazioni di accesso a breve termine e assicurarsi che vengano rimosse in modo tempestivo. I criteri di accesso condizionale IAM ti consentono di impostare l'accesso temporaneo (in scadenza) alle risorse Google Cloud utilizzando le associazioni di ruoli condizionali, contribuendo a ridurre questo overhead per gli amministratori.
Utilizzare le associazioni di ruoli condizionali e la scadenza dell'iscrizione al gruppo
Puoi aggiungere associazioni di ruoli condizionali a criteri IAM nuovi o esistenti per controllare ulteriormente l'accesso alle risorse Google Cloud. Ecco alcuni esempi di quando puoi utilizzare le associazioni di ruoli condizionali per concedere a un utente o a un gruppo accesso temporaneo:
- Accesso a un progetto che scade dopo un periodo di tempo specificato.
- Accesso a un progetto che si ripete ogni mese o trimestre.
- Accesso alle istanze Compute Engine per amministrare attività come l'interruzione delle istanze.
Quando utilizzi Google Gruppi per consentire agli utenti di accedere alle risorse Google Cloud, puoi utilizzare la funzionalità di scadenza dell'iscrizione al gruppo per impostare le scadenze per l'iscrizione al gruppo utilizzando l'API Cloud Identity Groups. Una volta trascorso il tempo specificato, gli utenti vengono rimossi automaticamente dal gruppo.
Implementazione
Puoi utilizzare un'associazione di ruoli condizionale per concedere agli sviluppatori l'accesso temporaneo per amministrare una specifica istanza Compute Engine. In questo esempio, la associazione del ruolo è impostata per scadere il 31 dicembre 2021.
In Cloud Shell, imposta le seguenti variabili:
export INSTANCE=create example-instance-1 export ZONE=us-west1-b export USER=USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
Sostituisci
USER_ID_TO_GIVE_TEMPORARY_ACCESS_TO
con il nome utente dell'utente della tua organizzazione a cui vuoi concedere l'accesso temporaneo.Crea un'istanza Compute Engine di esempio:
gcloud compute instances create $INSTANCE \ --zone $ZONE \ --machine-type g1-small
Nei passaggi che seguono, concedi l'accesso temporaneo a questa istanza a un utente della tua organizzazione.
Concedi all'utente selezionato l'accesso temporário:
gcloud compute instances add-iam-policy-binding $INSTANCE \ --zone=$ZONE \ --member="user:$USER" \ --role='roles/compute.instanceAdmin.v1' \ --condition='expression=request.time < timestamp("2022-01-01T00:00:00Z"),title=expires_end_of_2021,description=Expires at midnight on 2021-12-31'
Mantieni l'istanza Compute Engine creata. Utilizzerai questa istanza più avanti in questo documento nella sezione Gestire l'accesso privilegiato.
In alternativa, puoi eliminare l'istanza
example-instance-1
eseguendo il seguente comando:gcloud compute instances delete $INSTANCE
Registra gli eventi del ciclo di vita relativi all'identità
Se devi esaminare gli eventi del ciclo di vita IAM, come modifiche ai criteri, creazione di account di servizio e assegnazioni di account di servizio per scopi di controllo, Cloud Audit Logs può aiutarti. Gli amministratori possono utilizzare Cloud Audit Logs per esaminare i dati storici per scopi forensi e di analisi. L'analisi degli audit log può aiutarti a comprendere i pattern di accesso e le anomalie di accesso. L'analisi dei log di controllo può essere importante anche per i seguenti scenari:
- Analisi delle autorizzazioni e dell'accesso alle risorse durante una violazione dei dati.
- Analisi dei problemi di produzione causati da una modifica del criterio IAM, in particolare se vuoi verificare quale utente o quale processo ha apportato la modifica.
Cloud Audit Logs memorizza informazioni sulle azioni intraprese dagli utenti, dove si è verificata l'attività e quando. I log di controllo sono classificati come segue:
- Audit log delle attività di amministrazione
- Audit log di accesso ai dati
- Audit log degli eventi di sistema
- Log di controllo negati da criteri
Ti consigliamo di utilizzare i seguenti log di controllo per la registrazione amministrativa relativa a identità e accesso:
- Audit log delle attività di amministrazione
- Audit log con criteri negati
Gli audit log delle attività di amministrazione memorizzano le modifiche apportate alle risorse Google Cloud, come progetti, istanze Compute Engine e account di servizio. Di seguito sono riportati alcuni esempi di eventi archiviati negli audit log delle attività di amministrazione:
- La creazione di un account di servizio.
- Una modifica a un criterio IAM.
- Il download di una chiave dell'account di servizio.
I log di controllo Norme negate registrano quando a un utente o a un account di servizio viene negato l'accesso a un servizio Google Cloud a causa di una violazione delle norme di sicurezza.
Configurare Cloud Audit Logs per gli eventi del ciclo di vita dell'identità
Puoi visualizzare gli audit log nella console Google Cloud o eseguire query sui log utilizzando l'API Cloud Logging o l'interfaccia a riga di comando.
Tutti gli audit log hanno un periodo di conservazione. Se la tua azienda deve archiviare gli audit log per un periodo più lungo del periodo di conservazione predefinito, devi esportarli in BigQuery o in altre destinazioni di destinazione creando un destinatario log. L'esportazione dei log in BigQuery ti consente di visualizzare un sottoinsieme di colonne di dati e dati selezionati (nel tempo o in altre dimensioni) ed eseguire analisi aggregate.
Implementazione
La procedura di esempio seguente mostra come eseguire query sui log del progetto Google Cloud per verificare se si sono verificati uno o più dei seguenti eventi:
- Sono state apportate modifiche ai criteri IAM.
- Sono stati creati nuovi account di servizio.
- Sono state generate nuove chiavi dell'account di servizio.
Visualizzare le modifiche ai criteri IAM
- Nella console Google Cloud, vai alla pagina Logging > Esplora log.
- Nella pagina Esplora log, seleziona un progetto Google Cloud esistente.
Incolla la seguente query in Query Builder:
logName="projects/<PROJECT>/logs/cloudaudit.googleapis.com%2Factivity" AND (resource.type="project" OR resource.type="service_account") AND resource.labels.project_id="<PROJECT>" AND (protoPayload.methodName="SetIamPolicy" OR protoPayload.methodName="google.iam.admin.v1.CreateServiceAccount" OR protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey")
Sostituisci
PROJECT
con l'ID del tuo progetto Google Cloud.Fai clic su Esegui query.
Visualizzare le modifiche all'appartenenza al gruppo
Le modifiche all'appartenenza ai gruppi Google vengono monitorate nei log delle attività. Per scoprire come accedere a questi log, consulta Visualizzare i log delle modifiche all'appartenenza al gruppo.
Certificazione di accesso
Policy Analyzer può essere utilizzato per aiutare la tua azienda a verificare che gli utenti dispongano dei diritti di accesso appropriati alle risorse Google Cloud in modo fisso o periodico. Questa verifica è importante per scopi di conformità e controllo. È utile anche per il personale addetto alla sicurezza e per gli addetti al controllo esaminare quali utenti hanno accesso a quali risorse e in quale veste. Policy Analyzer ti aiuta a identificare quali identità o entità (utenti, account di servizio, gruppi e domini) hanno accesso a quali risorse Google Cloud nella gerarchia delle risorse della tua organizzazione. Inoltre, aiuta a identificare il tipo di accesso. Ecco alcune domande di esempio a cui Policy Analyzer può aiutarti a rispondere:
- Gli utenti che possono accedere a un account di servizio.
- Gli utenti che possono leggere i dati in un set di dati BigQuery che contiene informazioni che consentono l'identificazione personale (PII).
Policy Analyzer può essere utilizzato con i seguenti metodi:
- Utilizzando la console Google Cloud.
- Utilizzo delle API.
- Esportazione dei dati dei criteri IAM in BigQuery per l'analisi asincrona.
Utilizzare Policy Analyzer per controllare l'accesso utente
Le seguenti query di esempio mostrano il tipo di informazioni che puoi ottenere sull'accesso utente con Policy Analyzer:
- I ruoli o le autorizzazioni di un'entità (utente, account di servizio, gruppo e dominio); ad esempio, puoi controllare l'accesso di un ex dipendente al tuo progetto di produzione.
- Le risorse a cui un utente ha accesso, ad esempio l'accesso di un ex dipendente alle risorse del tuo progetto di produzione.
- Quali entità hanno un determinato livello di accesso a una risorsa, ad esempio quali bucket un utente specifico può eliminare in un progetto.
Implementazione
Nella procedura di esempio riportata di seguito, utilizzi lo strumento di analisi dei criteri per verificare le autorizzazioni di un utente.
In Cloud Shell, abilita l'API Cloud Asset per il progetto:
Inserisci il seguente comando per scoprire a quali risorse può accedere un utente:
gcloud asset analyze-iam-policy --organization="YOUR_ORG_ID" \ --identity="user:USERNAME_TO_CERTIFY"
Apporta le seguenti sostituzioni:
YOUR_ORG_ID
: il tuo ID organizzazione Google CloudUSERNAME_TO_CERTIFY
: il nome utente dell'utente le cui autorizzazioni di accesso a Google Cloud vuoi verificare.
Estrai i dati dei criteri IAM in BigQuery. Per scoprire di più, consulta Scrivere l'analisi dei criteri in BigQuery.
Gestire l'accesso privilegiato
Alcuni utenti della tua organizzazione potrebbero aver bisogno di accesso con privilegi a determinate risorse Google Cloud per eseguire attività amministrative. Ad esempio, questi utenti potrebbero dover gestire progetti Google Cloud specifici, configurare la fatturazione e i budget dei progetti o amministrare le istanze Compute Engine.
Anziché concedere agli utenti l'accesso privilegiato alle risorse in modo permanente, puoi consentire agli utenti di richiedere l'accesso privilegiato just-in-time. L'utilizzo della gestione degli accessi con privilegi just-in-time può aiutarti a:
- Riduci il rischio che qualcuno modifichi o elimini accidentalmente le risorse. Ad esempio, se gli utenti dispongono dell'accesso privilegiato solo quando è necessario, è possibile impedire loro di eseguire script in altri momenti che influiscono involontariamente su risorse che non dovrebbero essere in grado di modificare.
- Crea una traccia di controllo che indichi il motivo per cui i privilegi sono stati attivati.
- Esegui controlli e revisioni per analizzare le attività passate.
In alternativa, puoi concedere l'accesso privilegiato a un account di servizio e consentire agli utenti di simulare l'identità dell'account di servizio.
Concedere l'accesso privilegiato agli utenti
In generale, la gestione dell'accesso con privilegi agli utenti aziendali in Google Cloud può essere riassunta come segue:
- Consentire agli utenti dell'azienda di richiedere l'accesso con privilegi.
- Esamina Cloud Audit Logs per analizzare le richieste di accesso con privilegi e i pattern di accesso. Gli amministratori possono esaminare i pattern di accesso privilegiato e rilevare anomalie utilizzando questi log. Consigliamo alle aziende di valutare la possibilità di esportare questi log in modo che rimangano invariati, se necessario e opportuno, a fini di controllo.
- Assicurati che l'accesso privilegiato scada automaticamente o venga esaminato periodicamente.
Attiva la verifica in due passaggi (chiamata anche autenticazione a più fattori) per tutti gli utenti con accesso privilegiato alle risorse. Puoi anche creare un controllo granulare degli accessi basato sugli attributi utilizzando Gestore contesto accesso, che applica un ulteriore livello di sicurezza quando viene utilizzato l'accesso privilegiato. Ad esempio, puoi avere un livello di accesso che specifica che gli utenti devono essere sulla rete aziendale quando utilizzano l'accesso privilegiato alle risorse.
Implementazione
In questa procedura di esempio, tu (in qualità di amministratore) crei un gruppo Google per l'accesso privilegiato alle istanze Compute Engine. Creerai un account di servizio in Google Cloud a cui viene concesso l'accesso per amministrare le istanze Compute Engine. Associa il gruppo all'account di servizio in modo che i membri del gruppo possano simulare l'identità dell'account di servizio per il periodo in cui viene concessa loro l'appartenenza al gruppo privilegiato.
Creare un gruppo Google per l'accesso privilegiato
In qualità di amministratore Google Cloud, seleziona o crea un progetto Google Cloud.
Abilita la fatturazione per il tuo progetto. Attiva la fatturazione
Per creare un nuovo gruppo Google, segui i passaggi descritti in Consentire agli utenti di richiedere l'accesso alle risorse.
Assegna al gruppo il nome seguente:
elevated-compute-access
Creare un account di servizio Google Cloud
In Cloud Shell, abilita l'API IAM Credenziali account di servizio per il progetto che hai creato in Creare un gruppo Google per l'accesso privilegiato.
Imposta le seguenti variabili:
export PROJECT_ID=$DEVSHELL_PROJECT_ID export PRIV_SERVICE_ACCOUNT_NAME=elevated-compute-access export DELEGATE_GROUP=GROUP_EMAIL_ADDRESS
Sostituisci
GROUP_EMAIL_ADDRESS
con il nome completo del gruppo Google che hai creato.Crea l'account di servizio:
gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \ --description="Elevated compute access" \ --display-name="Elevated compute access"
Assegna all'account di servizio il ruolo Amministratore di Compute:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/compute.admin"
Concedi al gruppo Google che hai creato l'accesso come consumatore per l'Service Usage per il tuo progetto:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="group:$DELEGATE_GROUP" \ --role="roles/serviceusage.serviceUsageConsumer"
Questa autorizzazione consente ai membri del gruppo Google di simulare l'identità dell'account di servizio che hai creato.
Concedi al gruppo Google la possibilità di simulare l'identità dell'account di servizio che hai creato:
gcloud IAMservice-accounts add-iam-policy-binding $PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com --member="group :$DELEGATE_GROUP" --role="roles/iam.serviceAccountTokenCreator"
Salta questo passaggio se hai creato e mantenuto un'istanza Compute Engine di esempio per la procedura in Fornire accesso limitato nel tempo alle risorse Google Cloud. Puoi utilizzare l'istanza di esempio per eseguire i passaggi di questo esempio.
In alternativa, utilizza il seguente comando per creare un'istanza Compute Engine di esempio:
gcloud compute instances create example-instance-1 \ --zone us-west1-b \ --machine-type g1-small
Utilizza le istanze in questo esempio per verificare che gli utenti a cui è stata assegnata l'appartenenza al gruppo privilegiato possano accedere all'istanza.
Abilita audit log
Gli amministratori della tua azienda possono attivare Cloud Audit Logs per assicurarsi che l'accesso privilegiato venga registrato e sia disponibile per la revisione e l'analisi. La procedura descritta in questa sezione mostra come attivare la registrazione dei controlli.
Recupera i criteri IAM attuali per il progetto:
gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
Modifica il file di criteri per attivare i log di accesso ai dati per l'API Compute Engine:
cat <<EOF >> /tmp/policy.yaml auditConfigs: - auditLogConfigs: - logType: ADMIN_READ - logType: DATA_READ - logType: DATA_WRITE service: compute.googleapis.com EOF
Imposta la nuova norma:
gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
Testa la simulazione dell'identità con l'account utente non amministrativo
Puoi utilizzare l'account utente non amministrativo per testare la configurazione richiedendo l'appartenenza al gruppo e rubando l'identità dell'account di servizio una volta ottenuta l'appartenenza.
La procedura descritta in questa sezione mostra come gli utenti aziendali possono richiedere accesso privilegiato alle risorse Google Cloud. In questa procedura di esempio, le risorse Google Cloud sono le istanze Compute Engine per un progetto Google Cloud. Per dimostrare in che modo gli utenti della tua organizzazione possono assumere l'identità di un account di servizio dopo aver ottenuto l'appartenenza al gruppo, richiedi l'appartenenza ai gruppi Google pertinenti.
- Accedi
a Google Gruppi con l'account utente non amministrativo e richiedi
l'appartenenza al gruppo
elevated-compute-access
. Utilizza lo stesso account per accedere a Google Cloud. Dovresti avere accesso al gruppo non appena un amministratore avrà approvato la richiesta. In questa procedura di esempio, si presume che la tua richiesta di appartenenza al gruppo sia stata approvata.
In Cloud Shell, esegui questo comando per impostare il progetto predefinito:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_ID
con l'ID progetto che hai creato in precedenza nella sezione Creare un gruppo Google per l'accesso privilegiato.Prova a elencare le istanze Compute Engine in questo progetto:
gcloud compute instances list
Viene visualizzato un messaggio di errore che ti informa che il tuo utente Google Cloud non dispone dell'autorizzazione per accedere alle risorse Compute Engine.
Esegui questo comando:
gcloud compute instances list --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
Questo comando elenca le istanze Compute Engine nel progetto fingendo di essere l'account di servizio a cui hai ottenuto l'accesso quando ti è stato assegnato il ruolo di membro del gruppo Google
elevated-compute-access
.Vedrai l'istanza
example-instance-1
Compute Engine che hai creato con il tuo account amministratore.
Esaminare i log di controllo
In qualità di amministratore di Google Cloud, puoi accedere ai log di controllo generati e esaminarli.
Accedi alla console Google Cloud con un account utente che abbia i privilegi amministrativi per accedere ai log di controllo.
In Cloud Logging, inserisci la seguente query per esaminare i log di accesso ai dati:
logName="projects/<PROJECT_ID>/logs/cloudaudit.googleapis.com%2Fdata_access" AND protoPayload.authenticationInfo.principalEmail="elevated-compute-access@PROJECT_ID.iam.gserviceaccount.com"
Sostituisci
PROJECT_ID
con l'ID del tuo progetto ed esegui la query.Questa query mostra quale utente del gruppo Google ha impersonato il servizio account per accedere all'istanza Compute Engine. Vengono mostrati anche altri dettagli pertinenti, ad esempio quando è stata effettuata la sostituzione dell'account di servizio e i dettagli delle intestazioni della richiesta.
Esamina il payload del log di controllo, in particolare l'oggetto
protoPayload.authenticationInfo
nel payload. Il nome utente dell'utente che ha impersonato l'account di servizio viene registrato come valore della chiaveprincipalEmail
dell'oggettofirstPartyPrincipal
.In qualità di amministratore, puoi anche esaminare i risultati relativi alle minacce correlate agli eventi nella dashboard di Security Command Center. Per scoprire di più su Security Command Center, consulta Utilizzare Event Threat Detection.
Passaggi successivi
- Consulta le best practice per la gestione dell'identità e dell'accesso.
- Scopri come Policy Intelligence offre un controllo intelligente degli accessi alle tue risorse Google Cloud.
- Scopri come risolvere i problemi relativi a criteri e accesso su Google Cloud
- Scopri le best practice per la creazione e la gestione degli account di servizio Google Cloud.
- Per altre architetture di riferimento, diagrammi e best practice, visita il Cloud Architecture Center.