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

Last reviewed 2024-07-11 UTC

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

In questo documento si presuppone che tu disponga di:

  • Un progetto Google Cloud.
  • Un account utente con accesso amministrativo per gestire Cloud Identity. gruppi e utenti specifici. Questo accesso è necessario per eseguire le procedure di esempio in questo documento.
  • Un account utente senza accesso amministrativo da gestire gruppi e utenti di Cloud Identity. Questo account ti serve per testare dei controlli impostati nelle procedure di esempio del presente documento.

    Se non hai ancora accesso a un progetto Google Cloud l'accesso amministrativo a Cloud Identity, consulta Creazione di un progetto Google Cloud e Configurare Cloud Identity.

Rilevare le autorizzazioni e gli account inutilizzati

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

  • Aiutare gli amministratori della tua azienda a rilevare account e autorizzazioni che non vengono più utilizzate, per motivi come la 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 (Identity and Access Management) è parte della suite di strumenti e servizi Policy Intelligence. Utilizza le learning (ML) per fornire suggerimenti di controllo intelligente degli accessi utili a identificare che non necessitano più dell'accesso alle risorse Google Cloud. Puoi quindi riesamina i consigli e decidi se applicarli. IAM il motore per suggerimenti ti aiuta anche a mantenere il principio del privilegio minimo per tutti i membri dell'organizzazione. Oltre a fornire consigli, Il motore per suggerimenti usa il machine learning per fornire insight dettagliati. Gli insight sono risultati che evidenziano pattern importanti nell'utilizzo delle risorse. Per Ad esempio, puoi raccogliere informazioni aggiuntive sull'utilizzo delle autorizzazioni nel tuo identificare le autorizzazioni che non vengono utilizzate e che non sono più necessarie, e identificare gli account di servizio inutilizzati.

È possibile visualizzare e applicare i suggerimenti IAM nella console Google Cloud all'indirizzo di livello enterprise. Nella procedura di esempio seguente, utilizzi a BigQuery di esaminare e dimensionare le autorizzazioni di accesso dell'organizzazione. Per configurare l'integrazione di BigQuery, devi configurare esportazione dei suggerimenti creati dal motore per suggerimenti IAM in un del set di dati. È possibile eseguire query su questi dati ed esaminarli utilizzando gli strumenti di visualizzazione ad esempio 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. A attivare BigQuery in un progetto preesistente, abilita l'API BigQuery.

    Abilitare l'API

  3. Configura BigQuery Data Transfer Service per estrarre i dati dal motore per suggerimenti IAM. Per saperne di più, vedi Esportazione dei suggerimenti in BigQuery.

  4. Vai alla pagina di BigQuery.

    Vai a BigQuery

  5. Copia e incolla questa 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 da il job BigQuery Data Transfer Service.

    Esegui questa query per identificare il sottotipo recommender_subtype di IAM Suggerimenti del motore per suggerimentiREMOVE_ROLE.

  6. Fai clic su Esegui. Utilizzerai il risultato della query per identificare i ruoli inutilizzati associazioni di ruoli IAM adeguata.

    Puoi salvare i risultati della query in Fogli. Per saperne di più, vedi Salvataggio dei risultati della query in Fogli.

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

Gli amministratori aziendali devono poter consentire agli utenti di richiedere l'accesso a Google Cloud. In genere, queste richieste vengono sottoposte a un processo di approvazione in cui l'approvatore designato o un gruppo di approvatori deve approvare la richiesta prima viene concesso l'accesso. Google Gruppi consente di applicare un criterio di accesso a un insieme di utenti, in modo da poter seguire la best practice di gestione dei criteri per concedere l'accesso alle risorse in base appartenenza al gruppo. Questo approccio garantisce la pertinenza dei criteri come unione, trasferimento e abbandono avvengono tramite modifiche all'appartenenza al gruppo.

Puoi concedere e modificare i controlli di accesso per un intero gruppo con Google Gruppi, anziché modificare o concedere i controlli dell'accesso uno alla volta per i singoli utenti. o account di servizio. Puoi anche aggiungere e rimuovere membri in tutta semplicità 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 IDaaS (Identity as a Service) che gestisce utenti e gruppi di utenti. Puoi anche configurare Cloud Identity per la federazione 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 è instradata al gruppo amministratori che potranno approvare o rifiutare la richiesta. Per saperne di più, vedi Crea un gruppo e seleziona le relative impostazioni.

Quando crei e gestisci un gruppo Google per concedere l'accesso a Google Cloud di risorse, considera le implicazioni delle impostazioni che selezionare. Anche se consigliamo di ridurre al minimo il numero di utenti che possono gestire gruppo, ti consigliamo di configurare più di un amministratore per avere sempre l'accesso al gruppo. Ti consigliamo inoltre di limitare l'appartenenza ai gruppi a utenti della tua organizzazione.

Implementazione

In questa procedura di esempio, crei un gruppo Google e fornisci al visualizzatore l'accesso di gruppo a un progetto Google Cloud di esempio. Membri che aggiungi a questo (o a cui concedi l'accesso su richiesta) possono visualizzare il campione progetto Google Cloud.

Crea un gruppo Google di esempio

I passaggi seguenti presuppongono che tu abbia Cloud Identity configurato. Per saperne di più, consulta la sezione 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 per il membro e scegli il 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. Per configurare il 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 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 il passaggi utilizzati dagli utenti della tua organizzazione per richiedere l'accesso a un gruppo Google.

  1. Accedi a Google Gruppi in qualità di 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 a trovarlo.
  2. Per richiedere l'accesso al gruppo, fai clic su Chiedi di partecipare al gruppo.

    Una volta concesso l'accesso, l'account utente non amministrativo a cui utilizzati per effettuare la richiesta devono essere in grado di visualizzare Google Cloud PROJECT_ID progetto a cui il gruppo ha accesso come Visualizzatore a.

Concedi l'accesso vincolato al tempo alle risorse Google Cloud

Potrebbero verificarsi delle situazioni in cui gli utenti della tua azienda hanno bisogno di informazioni l'accesso 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 alcune attività. L'accesso a breve termine offre inoltre i seguenti vantaggi:

  • Ridurre i costi amministrativi.
  • Assicurarsi che il principio del privilegio minimo e dell'accesso tempestivo venga seguito.

La possibilità 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 e un intervento diretto. Tuttavia, può essere difficile monitorare manualmente autorizzazioni di accesso a breve termine e assicurarsi che vengano rimosse tempestivamente in modo adeguato. I criteri di accesso condizionale IAM consentono di 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'appartenenza al gruppo

Puoi aggiungere associazioni di ruoli condizionali a criteri IAM nuovi o esistenti per controllare ulteriormente l'accesso alle risorse Google Cloud. Alcuni esempi di casi potresti utilizzare associazioni di ruoli condizionali per concedere l'accesso temporaneo a un utente o a un gruppo sono i seguenti:

  • Accesso a un progetto che scade dopo un periodo di tempo specificato.
  • 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 a Google Cloud puoi utilizzare la funzionalità di scadenza dell'iscrizione al gruppo per impostare la scadenza dell'iscrizione al gruppo utilizzando la API Cloud Identity Groups. Una volta trascorso il tempo specificato, gli utenti verranno rimossi dal gruppo automaticamente.

Implementazione

Puoi utilizzare un'associazione condizionale dei ruoli per concedere agli sviluppatori l'accesso temporaneo per amministrare una specifica istanza Compute Engine. In questo esempio, L'associazione dei ruoli scadrà 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 assegnare temporaneamente a cui accedono.

  2. Crea un'istanza Compute Engine di esempio:

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

    Consenti l'accesso temporaneo a questa istanza a un utente della tua organizzazione in i seguenti passaggi.

  3. Fornisci temporaneamente all'utente che hai selezionato accesso:

    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. Utilizzi questo più avanti in questo documento, nella sezione Gestione dell'accesso con privilegi.

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

    gcloud compute instances delete $INSTANCE
    

Se hai bisogno di rivedere gli eventi del ciclo di vita IAM, come modifiche ai criteri, creazione di account di servizio e assegnazioni di account di servizio di controllo, Cloud Audit Logs può essere d'aiuto. Gli amministratori possono utilizzare Cloud Audit Logs per esaminare i dati storici a fini forensi e di analisi. L'analisi degli audit log può aiutarti a comprendere pattern di accesso e anomalie di accesso. L'analisi degli audit log può essere importante per gli scenari che seguono:

  • 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 per 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 identità e accesso logging amministrativo correlato:

  • 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 come progetti, istanze Compute Engine e account di servizio. La Ecco alcuni esempi di eventi archiviati dagli audit log dell'attività di amministrazione:

  • La creazione di un account di servizio.
  • Modifica in un criterio IAM.
  • Il download di una chiave dell'account di servizio.

Gli audit log di criteri negati registrano quando un account utente o un account di servizio accesso negato a un servizio Google Cloud a causa di un criterio di sicurezza per violazione delle norme.

configura Cloud Audit Logs per gli eventi del ciclo di vita delle 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 ha bisogno di archiviare gli audit log per un periodo superiore a quello predefinito di periodo di conservazione, devi esportare i log in BigQuery creando un sink di log. L'esportazione dei log in BigQuery consente di visualizzare un sottoinsieme di colonne di dati e dati selezionati (nel tempo o in altre dimensioni) ed analisi aggregate.

Implementazione

La procedura di esempio seguente mostra come eseguire una query sul progetto Google Cloud per controllare 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 &gt; Esplora log.
  2. Nella pagina Esplora log, seleziona un progetto Google Cloud esistente.
  3. Incolla questa 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'appartenenza ai gruppi

Le modifiche all'appartenenza ai gruppi Google vengono monitorate nei log delle attività. Per ulteriori informazioni Per accedere a questi log, consulta Visualizzazione dei log delle modifiche alle iscrizioni ai gruppi.

Certificazione di accesso

Analizzatore criteri possono essere utilizzate per aiutare la tua azienda a verificare che gli utenti dispongano di accesso alle risorse di Google Cloud su base prestabilita o periodica. Questo la verifica è importante ai fini della conformità e dei controlli. È utile anche il personale addetto alla sicurezza e i revisori possono esaminare quali utenti hanno accesso a quali risorsa e in quale capacità. Analizzatore criteri ti aiuta a identificare identità o entità (utenti, account di servizio, gruppi e domini) hanno accesso a cui le risorse Google Cloud nella gerarchia delle risorse dell'organizzazione. È utile anche per identificare il tipo di accesso. Alcune di domande di esempio a cui l'Analizzatore criteri può aiutarti a rispondere sono i 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 degli utenti

Le query di esempio che seguono mostrano gli insight sui tipi che puoi ottenere l'accesso degli utenti con Policy Analyzer:

  • I ruoli o le autorizzazioni di un'entità (utente, account di servizio, e dominio) ha: per controllare, ad esempio, l'accesso di un ex dipendente al tuo progetto di produzione.
  • le risorse a cui ha accesso un utente; ad esempio l'accesso a un ex del dipendente alle risorse del tuo progetto di produzione.
  • Quali entità hanno un determinato livello di accesso a una risorsa? della un esempio dei bucket che un utente specifico può eliminare in un progetto.

Implementazione

Nella procedura di esempio seguente utilizzerai Policy Analyzer per verificare autorizzazioni di cui dispone l'utente.

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

    Abilitare l'API

  2. Inserisci il comando seguente 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 saperne di più, consulta Scrittura dell'analisi dei criteri in BigQuery.

Gestire l'accesso privilegiato

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

Invece di concedere in modo permanente agli utenti l'accesso privilegiato alle risorse, possono 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. Per Ad esempio, quando gli utenti hanno accesso privilegiato solo quando necessario, impedire loro di eseguire script che, involontariamente, influisce sulle risorse che non dovrebbero poter modificare.
  • Crea un audit trail che indichi perché sono stati attivati i privilegi.
  • Eseguire 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 accesso privilegiato agli utenti

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

  • Possibilità per gli utenti dell'azienda di richiedere accesso privilegiato.
  • Revisione di Cloud Audit Logs per analizzare le richieste di accesso con privilegi e i pattern di accesso. Amministratori può rivedere i pattern di accesso privilegiato e rilevare eventuali anomalie utilizzando questi logaritmi. Consigliamo alle aziende di esportare questi log in si applichino ai requisiti necessari e appropriati ai fini della revisione.
  • Assicurarsi che l'accesso privilegiato scada automaticamente o sia vengono esaminati periodicamente.

Attivare la verifica in due passaggi (chiamata anche autenticazione a più fattori) per tutti gli utenti che hanno privilegi l'accesso alle risorse. Puoi anche creare un accesso granulare, basato sugli attributi il controllo tramite Gestore contesto accesso che applica un ulteriore livello di sicurezza quando si utilizza l'accesso privilegiato. Ad esempio, puoi avere un livello di accesso che specifica che gli utenti devono essere su alla rete aziendale quando si utilizza l'accesso privilegiato alle risorse.

Implementazione

In questa procedura di esempio, in qualità di amministratore crei un gruppo Google con accesso privilegiato alle istanze di Compute Engine. Crei un servizio account in Google Cloud a cui è concesso l'accesso per amministrare 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 l'appartenenza al gruppo con privilegi.

Creare un gruppo Google per l'accesso privilegiato

  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. Abilitare la fatturazione

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

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

Creare un account di servizio Google Cloud

  1. In Cloud Shell, abilita IAM API Service Account Credentials per il progetto in cui hai creato Creare un gruppo Google per l'accesso privilegiato.

    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 è stato 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 per il quale hai creato l'accesso consumer di Service Usage 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 impersonare l'account di servizio che hai creato.

  6. Offri al gruppo Google la possibilità di rubare l'identità dell'account di servizio creato da te:

    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. Salta questo passaggio se hai creato e conservato un esempio di Compute Engine per la procedura descritta in Concedere l'accesso vincolato al tempo alle risorse Google Cloud. Puoi utilizzare l'esempio per eseguire i passaggi di questo esempio.

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

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

    Puoi utilizzare le istanze di questo esempio per verificare che gli utenti a cui l'appartenenza al gruppo con privilegi può accedere all'istanza.

Abilita audit log

Gli amministratori della tua azienda possono abilitare Cloud Audit Logs per l’accesso privilegiato sia registrato e disponibile per la revisione e l’analisi. La procedura in 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 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 il nuovo criterio:

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

Testa l'impersonificazione con l'account utente non amministrativo

Puoi utilizzare l'account utente non amministrativo per testare la configurazione richiedendo l'appartenenza al gruppo e l'identità dell'account di servizio quando diventa membro fornite.

La procedura in questa sezione mostra come gli utenti aziendali possono richiedere con accesso privilegiato alle risorse Google Cloud. In questa procedura di esempio, le risorse Google Cloud sono le istanze di Compute Engine per progetto Google Cloud. Per dimostrare in che modo gli utenti della tua organizzazione possono se usi l'identità di un account di servizio, richiedere l'iscrizione ai gruppi Google pertinenti.

  1. Accedi ai gruppi Google con l'account utente non amministrativo e la richiesta iscrizione al gruppo elevated-compute-access.
  2. Utilizza lo stesso account per accedere a Google Cloud. Dovresti avere accesso al gruppo dopo che l'amministratore ha approvato la richiesta. In questa procedura di esempio, si presume che il gruppo Richiesta di adesione 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 Creare un gruppo Google per l'accesso privilegiato .

  4. Prova a elencare i pod di Compute Engine di 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.

  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 per rubare l'identità dell'account di servizio a cui avevi accesso quando stavi ha assegnato l'appartenenza 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 ai dati generati e gli audit log.

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

  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 il tuo ID progetto ed esegui la query.

    Questa query mostra quale utente del gruppo Google ha simulato l'identità del servizio per accedere all'istanza Compute Engine. Mostra anche altri dati dettagli pertinenti quali la data in cui è stato rubato l'identità dell'account di servizio dei dettagli delle intestazioni della richiesta.

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

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

Passaggi successivi