Pattern e best practice per la governance di identità e accessi su Google Cloud

Last reviewed 2024-07-11 UTC

Esistono diversi Google Cloud prodotti e servizi che puoi utilizzare per aiutare la tua organizzazione a sviluppare un approccio per la governance delle identità e la gestione dell'accesso per applicazioni e carichi di lavoro in esecuzione su Google Cloud. Questo documento è rivolto agli amministratori della sicurezza, ai responsabili delle operazioni e agli architetti aziendali che lavorano nei team dei clienti e che vogliono saperne di più su questi strumenti e controlli e su come utilizzarli.

Questo documento presuppone che tu disponga di quanto segue:

  • Un Google Cloud progetto.
  • Un account utente con accesso amministrativo per gestire utenti e gruppi Cloud Identity. Ti serve questo accesso per eseguire le procedure di esempio descritte in questo documento.
  • Un account utente senza accesso amministrativo per gestire gruppi e utenti Cloud Identity. Ti serve questo account 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 accesso amministrativo a Cloud Identity, consulta Creazione di un progetto Google Cloud e Configurazione di Cloud Identity.

Scopri account e autorizzazioni inutilizzati

È una best practice rimuovere gli account utente quando non sono più necessari perché gli account utente e gli account di servizio inutilizzati (orfani) 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 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 i service account abbandonati dopo il completamento delle attività.

Visualizzare e applicare i suggerimenti IAM

Il consigliere IAM (Identity and Access Management) fa parte della suite di strumenti e servizi Policy Intelligence. Utilizza il machine learning (ML) per formulare suggerimenti intelligenti percontrollo dell'accessoi, in modo da aiutarti a identificare gli account che non hanno più bisogno di accedere alle risorse. Google Cloud Puoi quindi esaminare i consigli e decidere se applicarli. IAM recommender ti aiuta anche a mantenere il principio del privilegio minimo per tutti i membri della tua organizzazione. Oltre a fornire suggerimenti, il servizio Recommender utilizza il machine learning per fornire approfondimenti dettagliati. Gli insight sono risultati che mettono in evidenza pattern notevoli nell'utilizzo delle risorse. Ad esempio, puoi raccogliere informazioni aggiuntive sull'utilizzo delle autorizzazioni nel tuo progetto, identificare le autorizzazioni che non vengono utilizzate e non sono più necessarie e identificare i service account inutilizzati.

È possibile visualizzare e applicare i suggerimenti IAM nella console Google Cloud su scala aziendale. Nella seguente procedura di esempio, utilizzi BigQuery per esaminare e dimensionare correttamente le autorizzazioni di accesso nella tua organizzazione. Per configurare l'integrazione di BigQuery, configura un'esportazione dei suggerimenti forniti da IAM Recommender in un set di dati BigQuery. Questi dati possono essere interrogati e rivisti utilizzando strumenti di visualizzazione come Looker Studio e Looker.

Implementazione

  1. Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.

  2. BigQuery viene attivato automaticamente nei nuovi progetti. Per attivare BigQuery in un progetto preesistente, abilita l&#39API BigQueryry.

    Attiva l'API

  3. Configura BigQuery Data Transfer Service per estrarre i dati da IAM Recommender. Per saperne di più, consulta la pagina Esportare i 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 progetto Google Cloud che utilizzi 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 dei suggerimenti del motore per suggerimenti IAMREMOVE_ROLE.

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

    Puoi salvare i risultati della query in Fogli. Per saperne di più, consulta la sezione Salvare i risultati delle query in Fogli.

Consenti agli utenti di richiedere l'accesso alle risorse

Gli amministratori aziendali 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 responsabile approvatore designato o un gruppo di responsabili approvatori deve approvare la richiesta prima che venga concesso l'accesso. Google Gruppi ti consente di applicare un criterio di accesso a un insieme di utenti, permettendoti di seguire la best practice di gestione dei criteri di concedere l'accesso alle risorse in base all'appartenenza al gruppo. Questo approccio mantiene le norme pertinenti man mano che si verificano eventi di partecipazione, spostamento e abbandono tramite le modifiche all'appartenenza al gruppo.

Puoi concedere e modificare i controlli di accesso per un intero gruppo con Google Gruppi, anziché 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 utenti e 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 inviata agli amministratori del gruppo, che possono approvarla o rifiutarla. Per saperne di più, vedi Creare un gruppo e scegliere le relative impostazioni.

Quando crei e gestisci un gruppo Google per concedere l'accesso alle risorse, assicurati di considerare le implicazioni delle impostazioni che selezioni. Google CloudAnche se ti 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 l'accesso al gruppo di visualizzatori 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 progettoGoogle Cloud di esempio.

Crea un gruppo Google di esempio

I seguenti passaggi presuppongono che tu abbia configurato Cloud Identity. 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 del gruppo.

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

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

    Le impostazioni del gruppo possono essere gestite solo all'interno di Google Gruppi. Per configurare le impostazioni del gruppo, fai clic su Gestisci questo gruppo in Google Gruppi. 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 console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.
  2. Apri Cloud Shell:

    Vai a Cloud Shell

  3. Esegui questo comando per concedere l'accesso al progetto al visualizzatore del gruppo:

    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 Google Cloud progetto

Testare la procedura di richiesta di accesso degli utenti per gli utenti della tua organizzazione

Nella procedura seguente, utilizzi un account utente di test per mostrare i passaggi che gli utenti della tua organizzazione utilizzano per richiedere l'accesso a un gruppo Google.

  1. Accedi a Google Gruppi come utente non amministrativo. Il gruppo che hai creato in Crea 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 inVisualizzatoree.

Concedi l'accesso limitato nel tempo alle risorse Google Cloud

Potrebbero verificarsi situazioni in cui gli utenti della tua azienda richiedono un accesso temporaneo e a breve termine alle risorse di 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 anche i seguenti vantaggi:

  • Riduzione dell'overhead amministrativo.
  • Garantire il rispetto del principio del privilegio minimo e l'accesso tempestivo.

La possibilità di concedere questo tipo di accesso è utile per gli amministratori quando gli utenti hanno bisogno di 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. Le policy di accesso condizionale IAM ti consentono di impostare l'accesso temporaneo (in scadenza) alle risorse Google Cloud utilizzando 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 potresti utilizzare i binding dei ruoli condizionali per concedere a un utente o a un gruppo l'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 di Compute Engine per amministrare attività come l'arresto delle istanze.

Quando utilizzi Google Gruppi per concedere agli utenti l'accesso alle risorse, 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. Google Cloud Quando il periodo di tempo specificato è trascorso, gli utenti vengono rimossi automaticamente dal gruppo.

Implementazione

Puoi utilizzare un binding del ruolo condizionale per concedere agli sviluppatori l'accesso temporaneo per amministrare una specifica istanza Compute Engine. In questo esempio, l'associazione di ruolo è 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 della tua 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
    

    Nei passaggi seguenti, concedi l'accesso temporaneo a questa istanza a un utente della tua organizzazione.

  3. Concedi all'utente 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 Compute Engine che crei. Utilizzerai questa istanza più avanti in questo documento nella sezione Gestione dell'accesso privilegiato.

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

    gcloud compute instances delete $INSTANCE
    

Se devi esaminare gli eventi del ciclo di vita di IAM, ad esempio modifiche ai criteri, creazione di account di servizio e assegnazioni di account di servizio per il controllo, Cloud Audit Logs può esserti d'aiuto. Gli amministratori possono utilizzare Cloud Audit Logs per esaminare i dati storici a fini di analisi e indagini. L'analisi dei log di controllo 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 al criterio IAM, in particolare se vuoi verificare quale utente o processo ha apportato la modifica.

Cloud Audit Logs memorizza informazioni sulle azioni intraprese dagli utenti, sul luogo in cui si è verificata l'attività e sul momento in cui si è verificata. I log di controllo sono classificati come segue:

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 negati da criteri

I log di controllo delle attività di amministrazione archiviano le modifiche apportate alle risorse Google Cloud , ad esempio progetti, istanze Compute Engine e service account. 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 una policy IAM.
  • Il download di una chiave del account di servizio.

I log di controllo Policy Denied registrano quando a un utente o a un account di servizio viene negato l'accesso a un Google Cloud servizio 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 i log di controllo per un periodo più lungo di quello 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 i dati selezionati (nel tempo o in altre dimensioni) ed eseguire analisi aggregate.

Implementazione

La seguente procedura di esempio mostra come eseguire query sui log del progetto per verificare se si è verificato uno dei seguenti eventi: Google Cloud

  • Sono state apportate modifiche alla policy IAM.
  • Sono stati creati nuovi service account.
  • Sono state generate nuove chiavi dell'account di servizio.

Visualizzare le modifiche alle policy 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 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 .

  4. Fai clic su Esegui query.

Visualizzare le modifiche all'iscrizione al gruppo

Le modifiche all'iscrizione ai gruppi Google vengono monitorate nei log attività. Per scoprire come accedere a questi log, vedi Visualizzare i log delle modifiche all'iscrizione a un gruppo.

Certificazione dell'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 su base prestabilita o periodica. Questa verifica è importante per scopi di conformità e controllo. È utile anche per il personale di sicurezza e gli auditor per esaminare quali utenti hanno accesso a quali risorse e con quale capacità. Policy Analyzer ti aiuta a identificare quali identità o entità (utenti, service account, 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. Alcune domande di esempio a cui Policy Analyzer può aiutarti a rispondere sono le seguenti:

  • Quali utenti possono accedere a un account di servizio.
  • Quali utenti 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:

Utilizzare Policy Analyzer per controllare l'accesso utente

Le seguenti query di esempio mostrano il tipo di approfondimenti che puoi ottenere sull'accesso degli utenti con Policy Analyzer:

  • Quali ruoli o autorizzazioni ha un principal (utente, account di servizio, gruppo e dominio); ad esempio, controllare l'accesso di un ex dipendente al tuo progetto di produzione.
  • A quali risorse ha accesso un utente, 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 può eliminare un utente specifico in un progetto.

Implementazione

Nella seguente procedura di esempio, utilizzi Policy Analyzer per verificare le autorizzazioni di un utente.

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

    Attiva 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: il tuo Google Cloud ID organizzazione
    • USERNAME_TO_CERTIFY: il nome utente dell'utente di cui vuoi verificare le autorizzazioni di accesso Google Cloud .
  3. Estrai i dati dei criteri IAM in BigQuery. Per saperne di più, vedi Scrittura dei risultati dell'analisi in BigQuery.

Gestire l'accesso privilegiato

Alcuni utenti della tua organizzazione potrebbero aver bisogno dell'accesso privilegiato a determinate risorse Google Cloud per eseguire attività amministrative. Ad esempio, questi utenti potrebbero dover gestire progetti specifici, configurare la fatturazione e i budget dei progetti o amministrare le istanze Compute Engine. Google Cloud

Anziché concedere in modo permanente agli utenti l'accesso privilegiato alle risorse, 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:

  • Ridurre il rischio che qualcuno modifichi o elimini accidentalmente le risorse. Ad esempio, quando gli utenti dispongono di accesso privilegiato solo quando è necessario, ciò contribuisce a impedire loro di eseguire script in altri momenti che influiscono involontariamente sulle risorse che non dovrebbero essere in grado di modificare.
  • Crea un audit trail che indichi il motivo per cui sono stati attivati i privilegi.
  • Esegui audit e revisioni per analizzare l'attività passata.

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 privilegiato agli utenti aziendali in Google Cloud può essere riassunta come segue:

  • Consentire agli utenti dell'azienda di richiedere l'accesso con privilegi.
  • Esaminare 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 prendere in considerazione l'esportazione di questi log per conservarli come necessario e opportuno ai fini di controllo.
  • Assicurarsi che l'accesso con privilegi scada automaticamente o venga esaminato periodicamente.

Attiva la verifica in due passaggi (detta anche autenticazione a più fattori) per tutti gli utenti con accesso privilegiato alle risorse. Puoi anche 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 privilegiato alle risorse.

Implementazione

In questa procedura di esempio, tu (in qualità di amministratore) crei un gruppo Google per l'accesso privilegiato alle istanze di Compute Engine. Crea un service account in Google Cloud a cui viene concesso l'accesso per amministrare le istanze di Compute Engine. Associa il gruppo al account di servizio in modo che i membri del gruppo possano simulare l'identità del 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 Google Cloud , seleziona o crea un progetto Google Cloud .

    Vai a Gestisci risorse

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

  3. Segui i passaggi descritti in Consentire agli utenti di richiedere l'accesso alle risorse per creare un nuovo gruppo Google.

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

Crea un Google Cloud service account

  1. In Cloud Shell, attiva l'API Service Account Credentialss per il progetto che hai creato in Crea 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 al account di servizio il ruolo di 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"
    
  5. Concedi al gruppo Google che hai creato l'accesso consumer di 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à del account di servizio che hai creato.

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

    In alternativa, utilizza il seguente comando per creare un'istanza di 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 viene assegnata l'appartenenza al gruppo con privilegi possano accedere all'istanza.

Abilita audit log

Gli amministratori della tua azienda possono attivare Cloud Audit Logs per assicurarsi che l'accesso con privilegi venga registrato e sia disponibile per la revisione e l'analisi. La procedura descritta in questa sezione mostra come attivare la registrazione degli audit.

  1. Recupera 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 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
    
  3. Imposta la nuova norma:

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

Testare l'impersonificazione con l'account utente non amministrativo

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

La procedura descritta in questa sezione mostra come gli utenti aziendali possono richiedere l'accesso privilegiato alle risorse Google Cloud . In questa procedura di esempio, le Google Cloud risorse sono le istanze Compute Engine per un progettoGoogle Cloud . Per dimostrare come gli utenti della tua organizzazione possono assumere l'identità di unaccount di serviziot una volta che hanno ottenuto l'iscrizione al gruppo, tu richiedi l'iscrizione ai gruppi Google pertinenti.

  1. Accedi a Google Gruppi 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 una volta che un amministratore avrà approvato la richiesta. In questa procedura di esempio, si presuppone che la tua richiesta di appartenenza al gruppo sia 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 Crea un gruppo Google per l'accesso privilegiato.

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

    gcloud compute instances list
    

    Viene visualizzato un messaggio di errore che ti informa che l'utente Google Cloud non dispone dell'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 Compute Engine nel progetto eseguendo l'impersonificazione delaccount di serviziot a cui hai ottenuto l'accesso quando ti è stata assegnata l'iscrizione al gruppo Google elevated-compute-access.

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

Esaminare i log di controllo

In qualità di amministratore Google Cloud , puoi accedere ai log di controllo generati ed esaminarli.

  1. Accedi alla console Google Cloud con un account utente che disponga dei privilegi amministrativi per accedere agli audit log.

  2. 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 progetto ed esegui la query.

    Questa query mostra quale utente del gruppo Google ha eseguito l'impersonificazione del service account per accedere all'istanza Compute Engine. Mostra anche altri dettagli pertinenti, ad esempio quando è stato eseguito l'accesso all'account di servizio e i dettagli delle intestazioni delle richieste.

  3. Esamina il payload del log di controllo, in particolare l'oggetto protoPayload.authenticationInfo nel payload. Il nome utente dell'utente che ha eseguito l'impersonificazione dell'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 negli eventi nella dashboard di Security Command Center. Per scoprire di più su Security Command Center, consulta la sezione Utilizzo di Event Threat Detection.

Passaggi successivi