Modelli e pratiche per la governance di identità e accessi su Google Cloud

Last reviewed 2022-09-27 UTC

Esistono una serie di 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 carichi di lavoro in esecuzione su Google Cloud. Questo documento è destinato agli amministratori della sicurezza, ai gestori delle operazioni e agli enterprise Architect che lavorano nei team dei clienti e che vogliono saperne di più su questi strumenti e controlli e su come utilizzarli.

Il presente documento presuppone che tu disponga di:

  • Un progetto Google Cloud.
  • Un account utente con accesso amministrativo per gestire gruppi e utenti di Cloud Identity. Questo accesso è necessario per eseguire le procedure di esempio in questo documento.
  • Un account utente senza accesso amministrativo per gestire i gruppi e gli utenti di Cloud Identity. Questo account è necessario per testare alcuni dei controlli che hai impostato nelle procedure di esempio in questo documento.

    Se non hai già accesso a un progetto Google Cloud e all'accesso amministrativo a Cloud Identity, consulta Creazione di un progetto Google Cloud e Configurazione di Cloud Identity.

Rilevamento di autorizzazioni e account inutilizzati

Una best practice consiste nel rimuovere gli account utente quando non sono più necessari, perché gli account utente inutilizzati (orfani) e gli account di servizio possono rappresentare un rischio per la sicurezza. Puoi utilizzare Google Cloud Policy Intelligence nei seguenti modi per aiutare la tua azienda a comprendere e ridurre i rischi:

  • Aiutare gli amministratori della tua azienda a individuare gli account e le autorizzazioni che non vengono più utilizzati, ad esempio perché un dipendente ha lasciato l'azienda o ha cambiato ruolo.
  • Aiuta a identificare gli account di servizio che sono stati abbandonati dopo il completamento delle attività.

Visualizza e applica i suggerimenti IAM

Il motore per suggerimenti IAM fa parte della suite di strumenti e servizi Policy Intelligence. Utilizza il machine learning (ML) per fornire suggerimenti intelligenti per controllo dell'accesso al fine di identificare gli account che non hanno più bisogno di accedere alle risorse Google Cloud. Puoi quindi esaminare i consigli e decidere se applicarli. Il motore per suggerimenti IAM consente inoltre di mantenere il principio del privilegio minimo per tutti i membri dell'organizzazione. Oltre a fornire suggerimenti, il motore per suggerimenti utilizza il machine learning per fornire insight dettagliati. Gli insight sono risultati che evidenziano pattern significativi nell'utilizzo delle risorse. Ad esempio, puoi raccogliere ulteriori informazioni sull'utilizzo delle autorizzazioni nel progetto, identificare le autorizzazioni che non vengono utilizzate e non più necessarie e identificare gli account di servizio inutilizzati.

È possibile visualizzare e applicare i suggerimenti IAM nella console Google Cloud su scala aziendale. Nella procedura di esempio seguente, utilizzi BigQuery per esaminare e ridimensionare le autorizzazioni di accesso nella tua organizzazione. Per impostare l'integrazione di BigQuery, devi configurare un'esportazione dei suggerimenti del motore per suggerimenti IAM in un set di dati BigQuery. Questi dati possono quindi essere sottoposti a query ed esaminati utilizzando strumenti di visualizzazione come Looker Studio e Looker.

Implementazione

  1. Nella pagina del selettore progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

  2. BigQuery viene abilitato automaticamente nei nuovi progetti. Per attivare BigQuery in un progetto preesistente, abilita l'API BigQuery.

    Abilita l'API

  3. Configura BigQuery Data Transfer Service in modo da estrarre i dati dal motore per suggerimenti IAM. Per scoprire di più, consulta Esportazione dei suggerimenti in BigQuery.

  4. Vai alla pagina BigQuery.

    Vai a BigQuery

  5. 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 del progetto Google Cloud che stai utilizzando per eseguire questo esempio
    • DATASET: 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 sottotipo recommender_subtype di suggerimenti del motore per suggerimenti IAMREMOVE_ROLE.

  6. Fai clic su Esegui. Puoi utilizzare il risultato della query per identificare i ruoli inutilizzati e ridimensionare le associazioni di ruoli IAM.

    Puoi salvare i risultati delle query in Fogli. Per scoprire di più, consulta Salvataggio dei risultati delle query in Fogli.

Dare agli utenti la possibilità di richiedere l'accesso alle risorse

Gli amministratori aziendali devono poter consentire agli utenti di richiedere l'accesso alle risorse. In genere, queste richieste passano attraverso una procedura di approvazione durante la quale un approvatore designato o un gruppo di approvatori deve approvare la richiesta prima di concedere l'accesso. Google Gruppi consente di applicare un criterio di accesso a un insieme di utenti, in modo da seguire la best practice di gestione dei criteri di concedere l'accesso alle risorse in base all'appartenenza ai gruppi. Questo approccio garantisce la pertinenza dei criteri poiché gli eventi di iscrizione, spostamento e abbandono si verificano tramite modifiche alle iscrizioni ai gruppi.

Con Google Gruppi puoi modificare e concedere i controlli di accesso a un intero gruppo, anziché assegnare o modificare i controlli di accesso uno alla volta per singoli utenti o account di servizio. Inoltre, puoi aggiungere e rimuovere membri facilmente da un gruppo Google invece di 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 utenti e gruppi. Puoi anche configurare Cloud Identity in modo da federare le identità tra Google e altri provider di identità, ad esempio Active Directory e Azure Active Directory. Google Gruppi consente anche a un utente di richiedere l'iscrizione a un gruppo. Questa richiesta viene instradata agli amministratori del gruppo, che possono quindi approvarla o rifiutarla. Per scoprire di più, consulta Creare un gruppo e scegliere le impostazioni del gruppo.

Quando crei e gestisci un gruppo Google per concedere l'accesso alle risorse Google Cloud, assicurati di considerare le implicazioni delle impostazioni che selezioni. Sebbene sia consigliabile ridurre al minimo il numero di utenti che possono gestire il gruppo, consigliamo di configurare più amministratori del gruppo in modo che abbiano 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 di visualizzazione 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 seguenti presuppongono che Cloud Identity sia stato configurato. Per saperne di più, vedi Configurare Cloud Identity. Assicurati di disporre delle autorizzazioni necessarie per gestire i gruppi.

  1. Nella console Google Cloud, vai alla pagina Gruppi.

    Vai a Gruppi

  2. Fai clic su Crea.

  3. Inserisci i dettagli relativi al gruppo.

    Per aggiungere membri al gruppo, fai clic su Aggiungi membro, quindi inserisci l'indirizzo email del membro e scegli il suo ruolo Google Gruppi.

    Al termine, fai clic su Invia per creare il gruppo.

    Le impostazioni dei gruppi possono essere gestite solo all'interno di Google Gruppi. Fai clic su Gestisci questo gruppo in Google Gruppi per configurarne le impostazioni. Per selezionare chi può iscriversi al gruppo, nel menu Chi può iscriversi al gruppo, seleziona Solo utenti dell'organizzazione.

  4. Fai clic su Crea gruppo.

Concedere al gruppo l'accesso a un progetto Google Cloud

  1. Nella pagina del selettore progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
  2. Apri Cloud Shell:

    Vai a Cloud Shell

  3. Esegui questo comando per concedere al visualizzatore del 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 creato
    • PROJECT_ID: l'ID del tuo progetto Google Cloud

Testare il processo di richiesta di accesso degli utenti per gli utenti della tua organizzazione

Nella procedura seguente, utilizzerai un account utente di prova per dimostrare i passaggi utilizzati dagli utenti della tua organizzazione per richiedere l'accesso a un gruppo Google.

  1. Accedi a Google Gruppi come utente non amministrativo. Il gruppo creato nella sezione Creare un gruppo Google di esempio viene visualizzato in Tutti i gruppi. Se il gruppo non viene visualizzato, utilizza la ricerca per trovarlo.
  2. Per richiedere l'accesso al gruppo, fai clic su Chiedi di iscriverti al gruppo.

    Una volta concesso l'accesso, l'account utente non amministrativo che hai 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 al tempo alle risorse Google Cloud

Potrebbero verificarsi situazioni in cui gli utenti nella tua azienda richiedono l'accesso temporaneo e a breve termine alle risorse Google Cloud. L'accesso a breve termine è utile quando gli sviluppatori hanno bisogno di un accesso temporaneo alle risorse Google Cloud per eseguire determinate attività. L'accesso a breve termine offre inoltre i seguenti vantaggi:

  • Ridurre l'overhead amministrativo.
  • Assicurarsi di rispettare il principio del privilegio minimo e di accesso tempestivo.

Essere in grado di concedere questo tipo di accesso è utile per gli amministratori quando gli utenti hanno bisogno di accedere a 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 (Identity and Access Management) consentono di impostare l'accesso temporaneo (in scadenza) alle risorse Google Cloud utilizzando associazioni di ruoli condizionali, contribuendo a ridurre questo sovraccarico per gli amministratori.

Utilizzare le associazioni di ruoli condizionali e la scadenza dell'appartenenza al gruppo

Puoi aggiungere associazioni di ruoli condizionali ai criteri IAM nuovi o esistenti per controllare ulteriormente l'accesso alle risorse Google Cloud. Di seguito sono riportati alcuni esempi di utilizzo delle associazioni di ruoli condizionali per concedere l'accesso temporaneo a un utente o a un gruppo:

  • Accesso a un progetto che scade dopo un determinato periodo di tempo.
  • Accesso a un progetto con cadenza mensile o trimestrale.
  • Accesso alle istanze di Compute Engine per amministrare attività come l'arresto delle istanze.

Quando utilizzi Google Gruppi per concedere agli utenti l'accesso alle risorse Google Cloud, puoi utilizzare la funzionalità di scadenza dell'iscrizione ai gruppi per impostare la scadenza dell'iscrizione ai gruppi utilizzando l'API Cloud Identity Groups. Una volta trascorso il periodo di 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 un'istanza Compute Engine specifica. In questo esempio, l'associazione dei ruoli è impostata per scadere il 31 dicembre 2021.

  1. 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 dell'organizzazione a cui vuoi concedere l'accesso temporaneo.

  2. Crea un'istanza Compute Engine di esempio:

    gcloud compute instances create $INSTANCE \
        --zone $ZONE \
        --machine-type g1-small
    

    Concedi l'accesso temporaneo a questa istanza a un utente della tua organizzazione nei passaggi seguenti.

  3. Concedi all'utente che hai selezionato l'accesso temporaneo:

    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'
    
  4. Conserva l'istanza di Compute Engine che hai creato. Utilizza questa istanza più avanti in questo documento in Gestire l'accesso con privilegi.

    In alternativa, puoi eliminare l'istanza example-instance-1 eseguendo questo comando:

    gcloud compute instances delete $INSTANCE
    

Se devi esaminare eventi del ciclo di vita IAM come modifiche ai criteri, creazione degli account di servizio e assegnazioni degli account di servizio per il controllo, Cloud Audit Logs può aiutarti. Gli amministratori possono utilizzare Cloud Audit Logs per analizzare i dati storici a fini legali e di analisi. L'analisi degli audit log può aiutarti a comprendere i pattern di accesso e le anomalie di accesso. L'analisi degli audit log può essere importante anche nei seguenti scenari:

  • Analisi delle autorizzazioni e dell'accesso alle risorse durante una violazione dei dati.
  • Analizzare i problemi di produzione causati da una modifica al criterio IAM, in particolare se vuoi verificare quale utente o quale processo ha apportato la modifica.

Cloud Audit Logs archivia informazioni sulle azioni intraprese dagli utenti, dove si è verificata l'attività e quando. Gli audit log sono classificati come segue:

Ti consigliamo di utilizzare i seguenti audit log per il logging amministrativo relativo a identità e accessi:

  • Audit log delle attività di amministrazione
  • Audit log dei criteri negati

Gli audit log delle attività di amministrazione archiviano le modifiche apportate alle risorse Google Cloud, ad esempio progetti, istanze Compute Engine e account di servizio. Di seguito sono riportati alcuni esempi di eventi archiviati dagli audit log dell'attività di amministrazione:

  • Creazione di un account di servizio.
  • Una modifica in un criterio IAM.
  • Il download di una chiave dell'account di servizio.

Gli audit log dei criteri negati 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 dei criteri di sicurezza.

Configura Cloud Audit Logs per gli eventi del ciclo di vita delle identità

Puoi visualizzare gli audit log nella console Google Cloud oppure eseguire query sui log utilizzando l'API Cloud Logging o l'interfaccia a riga di comando.

Tutti i log di controllo prevedono un periodo di conservazione. Se la tua azienda deve archiviare gli audit log per un periodo più lungo rispetto al periodo di conservazione predefinito, devi esportarli in BigQuery o in altre destinazioni sink creando un sink di log. L'esportazione dei log in BigQuery consente di visualizzare un sottoinsieme di colonne di dati e di dati selezionati (nel tempo o in altre dimensioni) ed eseguire l'analisi aggregata.

Implementazione

La seguente procedura di esempio mostra come eseguire query sui log del progetto Google Cloud per verificare se si è verificato uno 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.

Visualizza le modifiche ai criteri IAM

  1. Nella console Google Cloud, vai alla pagina Logging > Esplora log.
  2. Nella pagina Esplora log, seleziona un progetto Google Cloud esistente.
  3. Incolla la query seguente 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.

  4. Fai clic su Esegui query.

Visualizzare le modifiche all'appartenenza al gruppo

Le modifiche alle iscrizioni ai gruppi Google vengono monitorate nei log delle attività. Per informazioni su come accedere a questi log, consulta Visualizzazione dei log delle modifiche relativi alle iscrizioni ai gruppi.

Certificazione di accesso

L'Analizzatore criteri può essere utilizzato per aiutare la tua azienda a verificare che gli utenti dispongano dei diritti di accesso appropriati per le risorse Google Cloud su base regolare o periodica. Questa verifica è importante ai fini della conformità e del controllo. È utile anche per il personale di sicurezza e i revisori per verificare quali utenti hanno accesso a quale risorsa e in quale capacità. L'Analizzatore criteri consente di identificare quali identità o entità (utenti, account di servizio, gruppi e domini) hanno accesso a determinate risorse Google Cloud nella gerarchia delle risorse della tua organizzazione. Consente inoltre di identificare il tipo di accesso. Di seguito sono riportate alcune domande di esempio a cui l'Analizzatore criteri può aiutarti a rispondere:

  • Quali utenti possono accedere a un account di servizio.
  • Quali utenti possono leggere i dati in un set di dati BigQuery contenente informazioni che consentono l'identificazione personale (PII).

L'Analizzatore criteri può essere utilizzato con i seguenti metodi:

Utilizzare l'Analizzatore criteri per verificare l'accesso degli utenti

Le query di esempio seguenti mostrano gli insight sui tipi che puoi ottenere dall'accesso utente con l'Analizzatore criteri:

  • I ruoli o le autorizzazioni di un'entità (utente, account di servizio, gruppo e dominio); ad esempio, controllare di quale accesso un ex dipendente ha un progetto di produzione.
  • Risorse a cui ha accesso un utente, ad esempio l'accesso di un ex dipendente alle risorse del progetto di produzione.
  • Le entità che hanno un determinato livello di accesso a una risorsa, ad esempio i bucket che un utente specifico può eliminare in un progetto.

Implementazione

Nella procedura di esempio riportata di seguito, utilizzerai l'Analizzatore criteri per verificare le autorizzazioni di un utente.

  1. In Cloud Shell, abilita l'API Cloud Asset per il progetto:

    Abilita l'API

  2. 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"
    

    Effettua le seguenti sostituzioni:

    • YOUR_ORG_ID: l'ID della tua organizzazione Google Cloud
    • USERNAME_TO_CERTIFY: il nome utente dell'utente di cui vuoi verificare le autorizzazioni di accesso a Google Cloud.
  3. Estrai i dati dei criteri IAM in BigQuery. Per scoprire di più, consulta Scrivere l'analisi dei criteri in BigQuery.

Gestione dell'accesso con privilegi

Alcuni utenti dell'organizzazione potrebbero aver bisogno di accesso privilegiato 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 istanze di Compute Engine.

Anziché concedere in modo permanente agli utenti l'accesso privilegiato alle risorse, puoi consentire agli utenti di richiedere l'accesso con privilegi 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 hanno accesso con privilegi solo quando è necessario, ciò contribuisce a impedire l'esecuzione di script in altri momenti che incidono involontariamente su risorse che non dovrebbero essere in grado di modificare.
  • Crea un audit trail che indichi il motivo dell'attivazione dei privilegi.
  • Effettua 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 impersonare l'account di servizio.

Concedere accesso privilegiato agli utenti

In generale, la gestione dell'accesso privilegiato per gli utenti aziendali in Google Cloud può essere riassunta come segue:

  • Concedere agli utenti dell'azienda la possibilità di richiedere un accesso privilegiato.
  • Esamina gli audit log di Cloud per analizzare le richieste di accesso con privilegi e i pattern di accesso. Gli amministratori possono esaminare i pattern di accesso con privilegi e rilevare le anomalie utilizzando questi log. Consigliamo alle aziende di prendere in considerazione l'esportazione di questi log in modo che siano mantenuti come necessario e appropriato per scopi di controllo.
  • Assicurarsi che l'accesso con privilegi scada automaticamente o venga esaminato periodicamente.

Abilita la verifica in due passaggi (detta anche autenticazione a più fattori) per tutti gli utenti con accesso privilegiato alle risorse. Inoltre, puoi creare un controllo dell'accesso granulare e basato sugli attributi utilizzando Gestore contesto accesso, che applica un ulteriore livello di sicurezza quando viene utilizzato l'accesso con privilegi. Ad esempio, puoi avere un livello di accesso che specifica che gli utenti devono trovarsi nella rete aziendale quando utilizzano l'accesso con privilegi alle risorse.

Implementazione

In questa procedura di esempio, in qualità di amministratore devi creare un gruppo Google per l'accesso con privilegi alle istanze di Compute Engine. Crei un account di servizio in Google Cloud a cui è consentito l'accesso per amministrare le istanze di Compute Engine. Devi associare il gruppo all'account di servizio in modo che i membri del gruppo possano impersonare l'account di servizio per il periodo in cui sono membri del gruppo con privilegi.

Creare un gruppo Google per l'accesso con privilegi

  1. In qualità di amministratore di Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai a Gestisci risorse

  2. Abilita la fatturazione per il tuo progetto. Attiva fatturazione

  3. Per creare un nuovo gruppo Google, segui i passaggi descritti in Offrire agli utenti la possibilità di richiedere l'accesso alle risorse.

    Assegna al gruppo il seguente nome: elevated-compute-access

Crea un account di servizio Google Cloud

  1. In Cloud Shell, abilita le API Credenziali dell'account di servizio IAM per il progetto creato in Creare un gruppo Google per l'accesso con privilegi.

    Abilita le API

  2. 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.

  3. Crea l'account di servizio:

    gcloud IAMservice-accounts create $PRIV_SERVICE_ACCOUNT_NAME \
        --description="Elevated compute access" \
        --display-name="Elevated compute access"
    
  4. Assegna all'account di servizio il ruolo di amministratore di computing:

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member="serviceAccount:$PRIV_SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" \
        --role="roles/compute.admin"
    
  5. Concedi al gruppo Google che hai creato l'accesso consumer Service Usage per il 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 impersonare l'account di servizio che hai creato.

  6. Concedi al gruppo Google la possibilità di impersonare l'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"
    
  7. Ignora questo passaggio se hai creato e conservato un'istanza Compute Engine di esempio per la procedura descritta in Concedere l'accesso limitato al tempo alle risorse Google Cloud. Puoi utilizzare l'istanza di esempio per eseguire i passaggi di questo esempio.

    In alternativa, utilizza il comando seguente per creare un'istanza di Compute Engine di esempio:

    gcloud compute instances create example-instance-1 \
        --zone us-west1-b \
        --machine-type g1-small
    

    Puoi utilizzare le istanze in questo esempio per verificare che gli utenti a cui è stata assegnata l'appartenenza al gruppo con privilegi possano accedere all'istanza.

Abilita gli audit log

Gli amministratori della tua azienda possono abilitare Cloud Audit Logs per assicurarsi che l'accesso con privilegi sia registrato e disponibile per la revisione e l'analisi. La procedura di questa sezione mostra come abilitare l'audit logging.

  1. Ottieni i criteri IAM attuali per il progetto:

    gcloud projects get-iam-policy $PROJECT_ID > /tmp/policy.yaml
    
  2. Modifica il file dei criteri per abilitare i log degli accessi 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
    
  3. Imposta la nuova norma:

    gcloud projects set-iam-policy $PROJECT_ID /tmp/policy.yaml
    

Testare il furto d'identità con l'account utente non amministrativo

Puoi utilizzare l'account utente non amministrativo per testare la configurazione richiedendo l'iscrizione al gruppo e impersonando l'account di servizio una volta concessa l'appartenenza.

La procedura in questa sezione mostra come gli utenti aziendali possono richiedere l'accesso con privilegi alle risorse Google Cloud. In questa procedura di esempio, le risorse Google Cloud sono le istanze di 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 ricevuto l'iscrizione al gruppo, richiedi l'iscrizione a gruppi Google pertinenti.

  1. Accedi ai gruppi Google con l'account utente non amministrativo e richiedi l'iscrizione al gruppo elevated-compute-access.
  2. Utilizza lo stesso account per accedere a Google Cloud. Dovresti avere accesso al gruppo dopo che un amministratore approva la richiesta. In questa procedura di esempio, si presume che la richiesta di adesione al gruppo sia stata approvata.

  3. 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 con privilegi.

  4. Prova a elencare le istanze di Compute Engine in questo progetto:

    gcloud compute instances list
    

    Viene visualizzato un messaggio di errore che indica che l'utente Google Cloud non ha l'autorizzazione per accedere alle risorse Compute Engine.

  5. Esegui questo comando:

    gcloud compute instances list
    --impersonate-service-account=elevated-compute-access@$PROJECT_ID.iam.gserviceaccount.com
    

    Questo comando elenca le istanze di Compute Engine nel progetto impersonando l'account di servizio a cui hai eseguito l'accesso quando ti è stata assegnata l'iscrizione al gruppo Google elevated-compute-access.

    Vedrai l'istanza Compute Engine example-instance-1 che hai creato con il tuo account amministratore.

Esaminare i log di controllo

In qualità di amministratore di Google Cloud, puoi accedere agli audit log generati ed esaminarli.

  1. Accedi alla console Google Cloud con un account utente che disponga dei privilegi amministrativi per accedere ai log di controllo.

  2. In Cloud Logging, inserisci la query seguente 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 progetto ed esegui la query.

    Questa query mostra quale utente del gruppo Google ha rappresentato l'account di servizio per accedere all'istanza Compute Engine. Mostra inoltre altri dettagli pertinenti, come la data in cui l'account di servizio è stato rappresentato e i dettagli delle intestazioni delle richieste.

  3. Esamina il payload dell'audit log, in particolare l'oggetto protoPayload.authenticationInfo nel payload. Il nome utente dell'utente che ha rappresentato l'account di servizio viene registrato come valore della chiave principalEmail dell'oggetto firstPartyPrincipal.

  4. In qualità di amministratore, puoi anche esaminare i risultati relativi alle minacce di eventi nella dashboard di Security Command Center. Per scoprire di più su Security Command Center, consulta Utilizzo di Event Threat Detection.

Passaggi successivi