Questa guida spiega come attivare o disattivare alcuni o tutti i log di controllo dell'accesso ai dati nei progetti, negli account di fatturazione, nelle cartelle e nelle organizzazioni Google Cloud utilizzando la console o l'API Google Cloud.
Prima di iniziare
Prima di procedere con la configurazione degli audit log di accesso ai dati, tieni presente le seguenti informazioni:
Gli audit log di accesso ai dati, tranne quelli di BigQuery, sono disabilitati per impostazione predefinita. Se desideri che vengano scritti gli audit log di accesso ai dati per i servizi Google Cloud diversi da BigQuery, devi esplicitamente ad attivarle.
Gli audit log di accesso ai dati sono archiviati
_Default
bucket a meno che li hai indirizzati altrove. Per ulteriori informazioni, vedi Archiviazione e routing degli audit log.Gli audit log degli accessi ai dati aiutano l'Assistenza Google a risolvere i problemi relativi al tuo account. Consigliamo quindi di abilitare gli audit log di accesso ai dati quando possibile.
Panoramica configurazione
Puoi abilitare e configurare determinati aspetti degli audit log di accesso ai dati per Risorse e servizi Google Cloud:
Organizzazioni: puoi abilitare e configurare gli audit log di accesso ai dati in un dell'organizzazione, che si applica a tutte le regole Progetti e cartelle Google Cloud nell'organizzazione.
Cartelle: puoi abilitare e configurare gli audit log di accesso ai dati in un , che si applica a tutti i progetti Google Cloud nuovi ed esistenti in nella cartella. Non puoi disabilitare un audit log di accesso ai dati abilitato in all'organizzazione principale del progetto.
Progetti: puoi configurare gli audit log di accesso ai dati per un singolo progetto Google Cloud. Non puoi disabilitare un audit log di accesso ai dati che è stato attivato in un'organizzazione o in una cartella principale.
Account di fatturazione: configurare gli audit log di accesso ai dati per la fatturazione puoi usare Google Cloud CLI. Per ulteriori informazioni sull'utilizzo gcloud CLI con gli audit log di accesso ai dati e gli account di fatturazione, consulta la documentazione di riferimento per
gcloud beta billing accounts set-iam-policy
Configurazioni predefinite: puoi specificare una configurazione predefinita degli audit log di accesso ai dati in un'organizzazione, una cartella o un progetto Google Cloud che si applica ai futuri servizi Google Cloud che iniziano a produrre audit log di accesso ai dati. Per istruzioni, vedi Imposta la configurazione predefinita.
Servizi: puoi specificare i servizi di cui vuoi ricevere i log di controllo. Ad esempio, potresti volere i log di controllo di Compute Engine, ma non di Cloud SQL. Per un elenco delle metriche Google Cloud per i servizi in grado di generare audit log, consulta Servizi Google con log di controllo.
Tipi di log: puoi configurare i tipi di operazioni registrati in gli audit log di accesso ai dati. Esistono tre tipi di audit log di accesso ai dati:
ADMIN_READ
: registra le operazioni che leggono i metadati o le informazioni di configurazione.DATA_READ
: registra le operazioni che leggono i dati forniti dall'utente.DATA_WRITE
: registra le operazioni che scrivono i dati forniti dall'utente.
Ad esempio, Cloud DNS scrive tutti e tre i tipi di log di accesso ai dati, puoi configurare gli audit log di accesso ai dati in modo che registrino solo
DATA_WRITE
operazioni.Principali esenti: puoi esentare entità principali specifiche dall'essere registrate per gli accessi ai dati. Ad esempio, puoi escludere per gli account di test interni dalla gestione delle operazioni di Cloud Monitoring registrato. Per un elenco di entità valide, inclusi utenti e gruppi, vedi il Riferimento tipo
Binding
.
Puoi configurare i log di controllo di accesso ai dati tramite la pagina IAM Log di controllo della console Google Cloud o utilizzando l'API. Questi metodi sono illustrati nelle sezioni seguenti.
Configurazioni specifiche per i servizi
Se è presente una configurazione a livello di servizio Google Cloud (allServices
)
e una configurazione per uno specifico servizio Google Cloud,
la configurazione risultante per il servizio è l'unione delle due configurazioni.
In altre parole:
Puoi attivare gli audit log di accesso ai dati per servizi Google Cloud specifici, ma non puoi disattivarli per i servizi Google Cloud abilitati nella configurazione più ampia.
Puoi aggiungere ulteriori tipi di informazioni a un Google Cloud di audit log di accesso ai dati del servizio, ma non puoi rimuovere tipi di informazioni specificate nella configurazione più ampia.
Puoi aggiungere i principali agli elenchi di esenzione, ma non puoi rimuoverli dagli elenchi di esenzione nella configurazione più ampia.
Per BigQuery Data Transfer Service, la configurazione dell'audit log di accesso ai dati è ereditato dalla configurazione predefinita dell'audit log.
Configurazioni delle risorse Google Cloud
Puoi configurare gli audit log di accesso ai dati per progetti Google Cloud, account di fatturazione, cartelle e organizzazioni. Se esiste una configurazione per servizio Google Cloud nella gerarchia, quindi configurazione è l'unione delle configurazioni. In altre parole, Livello di progetto Google Cloud:
Puoi abilitare i log per un servizio Google Cloud, ma non disabilitarli log per un servizio Google Cloud abilitato in un account padre un'organizzazione o una cartella.
Puoi attivare i tipi di informazioni, ma non disattivarli le informazioni abilitate in un'organizzazione o una cartella padre.
Puoi aggiungere entità agli elenchi di esenzione, ma non puoi rimuoverle dagli elenchi di esenzioni in un'organizzazione o una cartella padre.
A livello di organizzazione o cartella padre, puoi abilitare il controllo di accesso ai dati log per un progetto Google Cloud all'interno dell'organizzazione o della cartella, se gli audit log di accesso ai dati non sono stati configurati nel progetto Google Cloud.
Controllo degli accessi
I ruoli e le autorizzazioni di Identity and Access Management regolano l'accesso ai dati di Logging, tra cui la visualizzazione e la gestione Criteri IAM di base del controllo di accesso ai dati configurazioni di logging.
Per visualizzare o impostare i criteri associati alla configurazione di Accesso ai dati, devi avere un ruolo con autorizzazioni a livello di risorsa appropriato. Per istruzioni su per la concessione di questi ruoli a livello di risorsa, consulta Gestire l'accesso a progetti, cartelle e organizzazioni di Google Cloud.
Per impostare i criteri IAM, devi disporre di un ruolo con l'autorizzazione
resourcemanager.RESOURCE_TYPE.setIamPolicy
.Per visualizzare i criteri IAM, devi avere un ruolo con
resourcemanager.RESOURCE_TYPE.getIamPolicy
autorizzazione.
Per l'elenco delle autorizzazioni e dei ruoli necessari per visualizzare il controllo di accesso ai dati i log, consulta Controllo dell'accesso con IAM.
Configura gli audit log di accesso ai dati con la console Google Cloud
Questa sezione spiega come utilizzare la console Google Cloud per configurare i dati Accedere agli audit log.
Per eseguire queste attività puoi anche utilizzare l'API o Google Cloud CLI in modo programmatico; vedi Per maggiori dettagli, configura gli audit log di accesso ai dati con l'API.
Per accedere alle opzioni di configurazione dei log di controllo nella console Google Cloud, segui questi passaggi:
-
Nella console Google Cloud, vai alla pagina Audit log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e Console di amministrazione.
Seleziona un progetto, una cartella o un'organizzazione Google Cloud esistente.
Abilita audit log
Per abilitare gli audit log di accesso ai dati:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona uno o più servizi Google Cloud dalla colonna Servizio.
Nella scheda Tipi di log, seleziona i tipi di audit log di accesso ai dati che vuoi attivare per i servizi selezionati.
Fai clic su Salva.
Se hai abilitato correttamente gli audit log, la tabella include una check_circle Segno di spunta.
Nell'esempio seguente, puoi notare che, per il servizio Access Approval, Il tipo di audit log Lettura dati è abilitato:
Puoi anche abilitare gli audit log per tutti i servizi Google Cloud che generano Audit log degli accessi ai dati. Nella tabella Configurazione degli audit log di accesso ai dati, seleziona tutti i servizi Google Cloud.
Tieni presente che questo metodo di configurazione collettiva si applica solo ai servizi Google Cloud attualmente disponibili per la tua risorsa. Se viene aggiunto un nuovo servizio Google Cloud, eredita la configurazione di controllo predefinita.
Disabilita gli audit log di accesso ai dati
Per disabilitare gli audit log di accesso ai dati, segui questi passaggi:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona uno o più servizi Google Cloud.
Nella scheda Tipi di log nel riquadro delle informazioni, seleziona il campo Accesso ai dati tipi di audit log che vuoi disabilitare per i servizi selezionati.
Fai clic su Salva.
Se hai disabilitato gli audit log di accesso ai dati, la tabella indica con un trattino. Gli audit log di accesso ai dati abilitati sono indicati con il simbolo check_circle Segno di spunta.
Imposta esenzioni
Puoi impostare esenzioni per controllare quali entità generano dati Accedere agli audit log per determinati servizi. Quando aggiungi un'entità esente, gli audit log per i tipi di log selezionati non vengono creati.
Per impostare le esenzioni:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona un servizio Google Cloud dalla colonna Servizio.
Seleziona la scheda Entità esenti nel riquadro delle informazioni.
In Aggiungi entità esente, inserisci l'entità da escludere di generare audit log di accesso ai dati per il servizio selezionato.
Puoi aggiungere più entità: facendo clic sul pulsante Aggiungi entità esente tutte le volte che vuoi.
Per un elenco di entità valide, inclusi utenti e gruppi, consulta il riferimento al tipo di
Binding
.In Tipi di log disabilitati, seleziona i tipi di audit log di accesso ai dati. che vuoi disabilitare.
Fai clic su Salva.
Quando hai aggiunto correttamente entità esenti a un servizio, viene restituito lo strumento La tabella per la configurazione degli audit log di accesso lo indica con un numero sotto la colonna Colonna Entità esenti.
Per rimuovere un'entità dall'elenco di esenzione, segui questi passaggi:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona un'opzione Servizio Google Cloud dalla colonna Servizio.
Seleziona la scheda Entità esenti nel riquadro delle informazioni.
Passa il mouse sopra il nome di un'entità e seleziona l'eliminazione dell'icona delete visualizzata.
Dopo che il nome dell'entità viene visualizzato barrato, fai clic su Salva.
Per modificare le informazioni di un'entità esente:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona un servizio Google Cloud dalla colonna Servizio.
Seleziona la scheda Entità esenti nel riquadro delle informazioni.
Espandi expand_more la nome entità.
Seleziona o deseleziona i tipi di audit log di accesso ai dati appropriati per principale.
Fai clic su Salva.
Impostare la configurazione predefinita
Puoi impostare una configurazione in modo che tutti i componenti nuovi ed esistenti di Google Cloud nel progetto, nella cartella o nell'organizzazione di Google Cloud. L'impostazione di questa configurazione predefinita si applica se un nuovo servizio Google Cloud disponibile e le entità della tua organizzazione iniziano a utilizzarlo: eredita il criterio di audit logging che hai già impostato per altre ai servizi Google Cloud, garantendo che gli audit log di accesso ai dati vengano acquisiti.
Per impostare o modificare la configurazione predefinita:
Fai clic su Imposta configurazione predefinita.
Nella scheda Tipi di log nel riquadro delle informazioni, seleziona il campo Accesso ai dati i tipi di audit log da abilitare o disabilitare.
Fai clic su Salva.
Seleziona la scheda Entità esenti nel riquadro delle informazioni.
In Aggiungi entità esente, inserisci l'entità da escludere di generare audit log di accesso ai dati per il servizio selezionato.
Puoi aggiungere più entità: facendo clic sul pulsante Aggiungi entità esente tutte le volte che vuoi.
Per un elenco di entità valide, inclusi utenti e gruppi, consulta il riferimento al tipo di
Binding
.In Tipi di log disabilitati, seleziona i tipi di audit log di accesso ai dati. che vuoi disabilitare.
Fai clic su Salva.
configura gli audit log di accesso ai dati con l'API
Questa sezione spiega come utilizzare l'API e gcloud CLI per configurare gli audit log di accesso ai dati in modo programmatico.
Molte di queste attività possono essere eseguite anche utilizzando la console Google Cloud. per le istruzioni, vedi Configura gli audit log di accesso ai dati con la console Google Cloud in questa pagina.
Oggetti dei criteri IAM
Per configurare gli audit log di accesso ai dati utilizzando l'API, devi modificare il
Criterio IAM associato al progetto, alla cartella o alla cartella Google Cloud
o organizzazione. La configurazione dell'audit log si trova nella sezione auditConfigs
di
le norme:
"auditConfigs": [
{
object(AuditConfig)
}
]
Per maggiori dettagli, consulta IAM Tipo di criterio.
Le seguenti sezioni descrivono in modo più dettagliato l'oggetto AuditConfig
.
Per l'API e i comandi gcloud CLI utilizzati per modificare la configurazione,
consulta getIamPolicy e setIamPolicy
AuditConfig
oggetti
La configurazione dei log di controllo è costituita da un elenco di oggetti
AuditConfig
. Ogni oggetto configura i log per un servizio o stabilisce una configurazione più ampia per tutti i servizi. Ogni oggetto ha il seguente aspetto:
{
"service": SERVICE_NAME,
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_WRITE"
"exemptedMembers": [ PRINCIPAL,]
},
]
},
SERVICE_NAME ha un valore, ad esempio "appengine.googleapis.com"
o è il
valore speciale "allServices"
. Se una configurazione non menziona una particolare
per il servizio viene utilizzata la configurazione più ampia. Se non è presente alcuna configurazione, significa che gli audit log di accesso ai dati non sono abilitati per quel servizio.
Per un elenco dei nomi dei servizi, vedi
Servizi di log.
La sezione auditLogConfigs
dell'oggetto AuditConfig
è un elenco di 0-3
ognuno dei quali configura un tipo di informazioni sugli audit log. Se ometti
uno dei tipi dell'elenco, queste informazioni non vengono attivate
per il servizio.
PRINCIPAL è un utente per il quale non vengono raccolti gli audit log di accesso ai dati. La
Binding
type descrive diversi tipi di entità, tra cui
utenti e gruppi, ma non tutti possono essere utilizzati per configurare l'accesso ai dati
e gli audit log.
Di seguito è riportato un esempio di configurazione di audit nei formati JSON e YAML. Il formato YAML è quello predefinito quando utilizzi Google Cloud CLI.
JSON
"auditConfigs": [ { "auditLogConfigs": [ { "logType": "ADMIN_READ" }, { "logType": "DATA_WRITE" }, { "logType": "DATA_READ" } ], "service": "allServices" }, { "auditLogConfigs": [ { "exemptedMembers": [ "[email protected]" ], "logType": "ADMIN_READ" } ], "service": "cloudsql.googleapis.com" } ],
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
- auditLogConfigs:
- exemptedMembers:
- 499862534253-compute@developer.gserviceaccount.com
logType: ADMIN_READ
service: cloudsql.googleapis.com
Configurazioni comuni
Di seguito sono riportate alcune configurazioni di audit log comuni per i progetti Google Cloud.
Abilita tutti gli audit log di accesso ai dati
La seguente sezione auditConfigs
abilita gli audit log di accesso ai dati per tutti
e le entità:
JSON
"auditConfigs": [ { "service": "allServices", "auditLogConfigs": [ { "logType": "ADMIN_READ" }, { "logType": "DATA_READ" }, { "logType": "DATA_WRITE" }, ] }, ]
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
Attivare un servizio e un tipo di informazioni
La seguente configurazione abilita gli DATA_WRITE
audit log di accesso ai dati per Cloud SQL:
JSON
"auditConfigs": [ { "service": "cloudsql.googleapis.com", "auditLogConfigs": [ { "logType": "DATA_WRITE" }, ] }, ]
YAML
auditConfigs:
- auditLogConfigs:
- logType: DATA_WRITE
service: cloudsql.googleapis.com
Disabilita tutti gli audit log di accesso ai dati
Per disabilitare tutti gli audit log di accesso ai dati (tranne BigQuery) in un
nel progetto Google Cloud, includi una sezione auditConfigs:
vuota nel nuovo
Criterio IAM:
JSON
"auditConfigs": [],
YAML
auditConfigs:
Se rimuovi completamente la sezione auditConfigs
dal nuovo criterio:
allora setIamPolicy
non modifica gli audit log di accesso ai dati esistenti
configurazione. Per ulteriori informazioni, vedi
La maschera di aggiornamento di setIamPolicy.
Non è possibile disabilitare gli audit log di accesso ai dati di BigQuery.
getIamPolicy
e setIamPolicy
Puoi usare i metodi getIamPolicy
e setIamPolicy
dell'API Cloud Resource Manager per leggere
e scrivere il criterio IAM. Hai a disposizione diverse opzioni per i metodi specifici da utilizzare:
L'API Cloud Resource Manager prevede i seguenti metodi:
projects.getIamPolicy projects.setIamPolicy organizations.getIamPolicy organizations.setIamPolicy
Google Cloud CLI offre le seguenti opzioni Comandi Resource Manager:
gcloud projects get-iam-policy gcloud projects set-iam-policy gcloud resource-manager folders get-iam-policy gcloud resource-manager folders set-iam-policy gcloud organizations get-iam-policy gcloud organizations set-iam-policy gcloud beta billing accounts get-iam-policy gcloud beta billing accounts set-iam-policy
Indipendentemente dalla tua scelta, segui questi tre passaggi:
- Leggi il criterio corrente utilizzando uno dei metodi
getIamPolicy
. Salva il criterio in un file temporaneo. - Modifica il criterio nel file temporaneo.
Modifica (o aggiungi) solo la sezione
auditConfigs
. - Scrivi il criterio modificato nel file temporaneo.
utilizzando uno dei metodi
setIamPolicy
.
setIamPolicy
non va a buon fine se Resource Manager rileva che qualcun altro ha modificato il criterio dopo che lo hai letto nel primo passaggio. In questo caso,
quindi ripeti i tre passaggi.
Esempi
I seguenti esempi mostrano come configurare l'accesso ai dati del progetto
gli audit log utilizzando il comando gcloud
e l'API Cloud Resource Manager.
Per configurare gli audit log di accesso ai dati dell'organizzazione, sostituisci la versione "projects" di comandi e metodi API con la versione "organizations".
gcloud
Per configurare gli audit log di accesso ai dati utilizzando
il comando gcloud projects
,
segui questi passaggi:
Leggi i criteri IAM del progetto e archiviali in un file:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
Le norme restituite sono mostrate di seguito. Questo criterio non dispone ancora di Sezione
auditConfigs
:bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Modifica il criterio in
/tmp/policy.yaml
, aggiungendo o modificando soltanto la configurazione dei log di controllo dell'accesso ai dati.Un esempio del criterio modificato, che abilita Cloud SQL di seguito sono riportati gli audit log di accesso ai dati data-write. Le quattro righe presentano aggiunta all'inizio:
auditConfigs: - auditLogConfigs: - logType: DATA_WRITE service: cloudsql.googleapis.com bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Scrivi il nuovo criterio IAM:
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
Se il comando precedente segnala un conflitto con un'altra modifica, ripeti questi passaggi, iniziando dal primo passaggio.
JSON
Per lavorare con i tuoi criteri IAM in formato JSON anziché YAML,
sostituisci i seguenti comandi gcloud
nell'esempio:
gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json
API
Per configurare gli audit log di accesso ai dati utilizzando l'API Cloud Resource Manager, procedi nel seguente modo:
Leggi il criterio IAM del progetto specificando i seguenti parametri al metodo API getIamPolicy:
- risorsa:
projects/PROJECT_ID
- Corpo della richiesta: vuoto
Il metodo restituisce l'oggetto criterio corrente, mostrato di seguito. Le norme di questo progetto non dispongono ancora di una sezione
auditConfigs
:{ "version": 1, "etag": "BwXqwxkr40M=", "bindings": [ { "role": "roles/owner", "members": [ "user:[email protected]" ] } ] }
- risorsa:
Modifica il criterio attuale:
Modifica o aggiungi la sezione
auditConfigs
.Per disabilitare gli audit log di accesso ai dati, includi un valore vuoto per la sezione:
auditConfigs:[]
.Mantieni il valore di
etag
.
Puoi anche rimuovere tutte le altre informazioni dalle nuove norme purché tu stia attento a impostare
updateMask
nel passaggio successivo. Il criterio modificato, che consente l'audit della scrittura dati di Cloud SQL come mostrato di seguito:{ "policy": { "auditConfigs": [ { "auditLogConfigs": [ { "logType": "DATA_WRITE" } ], "service": "cloudsql.googleapis.com" } ], "etag": "BwXqwxkr40M=" }, "updateMask": "auditConfigs,etag" }
Scrivi il nuovo criterio utilizzando il metodo API setIamPolicy, specificando quanto segue parametri:
- resource:
projects/PROJECT_ID
- Corpo della richiesta: includi il criterio modificato.
- resource:
La maschera di aggiornamento setIamPolicy
Questa sezione spiega l'importanza del parametro updateMask
in
setIamPolicy
e spiega perché è necessario prestare attenzione al metodo
il comando set-iam-policy
gcloud CLI in modo da non causare
danni accidentali a un'organizzazione o a un progetto Google Cloud.
setIamPolicy API method
utilizza un parametro updateMask
per
controllare quali campi dei criteri vengono aggiornati. Ad esempio, se la maschera non contiene bindings
, non puoi modificare accidentalmente la sezione del criterio. Attivato
Se invece la maschera contiene bindings
, la sezione è
sempre aggiornato. Se non includi un valore aggiornato per bindings
:
quella sezione viene rimossa completamente dal criterio.
Il comando gcloud projects set-iam-policy
, che chiama setIamPolicy
,
non ti consente di specificare il parametro updateMask
. Al contrario, il comando
calcola un valore per updateMask
nel seguente modo:
updateMask
contiene sempre i campibindings
eetag
.- Se l'oggetto del criterio fornito in
set-iam-policy
contiene qualsiasi altro oggetto di primo livello, ad esempioauditConfigs
, questi campi vengono aggiunto aupdateMask
.
In base a queste regole, il comando set-iam-policy
ha i seguenti comportamenti:
Se ometti la sezione
auditConfigs
nel nuovo criterio, verrà eseguita la precedente il valore della sezioneauditConfigs
(se presente) non viene modificato, perché non è presente nella maschera di aggiornamento. Si tratta di un'azione innocua, ma potrebbe generare confusione.Se ometti
bindings
nel nuovo oggetto del criterio,bindings
viene rimossa dalla norma poiché viene visualizzata nella maschera di aggiornamento. Questo è molto dannoso e fa sì che tutti i principali perdano l'accesso al tuo progetto Google Cloud.Se ometti
etag
nel nuovo oggetto del criterio, il controllo di modifiche contemporanee alle tue norme e che potrebbero comportare modifiche da te apportate. sovrascrivere accidentalmente le modifiche di qualcun altro.