Questa guida spiega come attivare o disattivare alcuni o tutti i log di controllo dell'accesso ai dati nei tuoi Google Cloud progetti, account di fatturazione, cartelle e organizzazioni utilizzando la console Google Cloud o l'API.
Prima di iniziare
Prima di procedere con la configurazione degli audit log di accesso ai dati, prendi nota delle seguenti informazioni:
Gli audit log per l'accesso ai dati, tranne quelli di BigQuery, sono disabilitati per impostazione predefinita. Se vuoi che gli audit log per l'accesso ai dati vengano scritti per serviziGoogle Cloud diversi da BigQuery, devi abilitarli esplicitamente.
Gli audit log per l'accesso ai dati vengono archiviati nel bucket
_Default
, a meno che non li abbia indirizzati altrove. Per saperne di più, vedi Archiviazione e routing dei log di controllo.I log di controllo dell'accesso ai dati aiutano l'assistenza Google a risolvere i problemi relativi al tuo account. Pertanto, ti consigliamo di abilitare gli audit log di accesso ai dati quando possibile.
-
Per ottenere le autorizzazioni necessarie per accedere a tutti i log nei bucket
_Required
e_Default
, inclusi i log di accesso ai dati, chiedi all'amministratore di concederti il ruolo IAM Visualizzatore log privati (roles/logging.privateLogViewer
) sul progetto.Il ruolo Visualizzatore log privati
(roles/logging.privateLogViewer)
include le autorizzazioni contenute nel ruolo Visualizzatore log (roles/logging.viewer
) e quelle necessarie per leggere gli audit log di accesso ai dati nel bucket_Default
.Il ruolo Editor (
roles/editor
) non include le autorizzazioni necessarie per visualizzare i log di accesso ai dati.Per saperne di più su ruoli e autorizzazioni IAM che si applicano ai dati degli audit log, consulta Controllo dell'accesso con IAM.
Panoramica configurazione
Puoi configurare la modalità di attivazione degli audit log di accesso ai dati per le tue risorse e i tuoi serviziGoogle Cloud :
Organizzazioni: puoi attivare e configurare gli audit log di accesso ai dati in un'organizzazione, che si applicano a tutti i progetti e le cartelleGoogle Cloud esistenti e nuovi dell'organizzazione.
Cartelle: puoi abilitare e configurare gli audit log di accesso ai dati in una cartella, che si applicano a tutti i progetti esistenti e nuovi nella cartella. Google Cloud Non puoi disabilitare un audit log di accesso ai dati abilitato nell'organizzazione padre del progetto.
Progetti: puoi configurare gli audit log di accesso ai dati per un singolo Google Cloud progetto. Non puoi disabilitare un audit log di accesso ai dati che è stato abilitato in un'organizzazione o una cartella padre.
Account di fatturazione: per configurare gli audit log di accesso ai dati per gli account di fatturazione, utilizza Google Cloud CLI. Per saperne di più sull'utilizzo di gcloud CLI con gli audit log di accesso ai dati e gli account di fatturazione, consulta la documentazione
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 che si applica ai servizi futuri che iniziano a produrre audit log di accesso ai dati. Google Cloud Google Cloud Per istruzioni, vedi Impostare la configurazione predefinita.
Tipi di autorizzazione: puoi specificare che le API che controllano solo un determinato tipo di autorizzazione generino un audit log. Google Cloud Per ulteriori informazioni, consulta la sezione Tipi di autorizzazioni di questa pagina.
Entità esenti: puoi esentare entità specifiche dalla registrazione dei loro accessi ai dati. Ad esempio, puoi esentare i tuoi account di test interni dalla registrazione delle operazioni di Cloud Monitoring. Per un elenco dei principal validi, inclusi utenti e gruppi, consulta il riferimento al tipo
Binding
.
Puoi configurare gli audit log di accesso ai dati tramite la pagina Audit log di IAM della console Google Cloud o utilizzando l'API. Questi metodi sono spiegati nelle sezioni seguenti.
Tipi di autorizzazioni
I metodi API controllano le autorizzazioni IAM. Ogni autorizzazione IAM
ha un tipo di autorizzazione, definito dalla proprietà type
.
I tipi di autorizzazione sono classificati come tipo di autorizzazione di accesso ai dati
o come tipo di autorizzazione di attività amministrativa:
Tipi di autorizzazioni di accesso ai dati:
ADMIN_READ
: le autorizzazioni IAM di questo tipo vengono controllate per i metodi APIGoogle Cloud che leggono i metadati o le informazioni di configurazione. In genere, gli audit logADMIN_READ
sono disabilitati per impostazione predefinita e devono essere abilitati.DATA_READ
: le autorizzazioni IAM di questo tipo vengono controllate per i metodi APIGoogle Cloud che leggono i dati forniti dall'utente. In genere, gli audit logDATA_READ
sono disabilitati per impostazione predefinita e devono essere abilitati.DATA_WRITE
: le autorizzazioni IAM di questo tipo vengono controllate per i metodi APIGoogle Cloud che scrivono i dati forniti dall'utente. In genere, gli audit logDATA_WRITE
sono disabilitati per impostazione predefinita e devono essere abilitati.
Tipo di autorizzazione Attività amministratore:
ADMIN_WRITE
: le autorizzazioni IAM di questo tipo vengono controllate per i metodi dell'APIGoogle Cloud che scrivono metadati o informazioni di configurazione. Gli audit log associati a questo tipo, ovvero gli audit log Attività di amministrazione, sono attivi per impostazione predefinita e non possono essere disattivati.
Puoi abilitare o disabilitare i tipi di autorizzazione per i servizi utilizzando la Google Cloud console o richiamando l'API.
La maggior parte delle API Google Cloud controlla solo se il chiamante dispone di una singola autorizzazione IAM. Se il tipo di autorizzazione associato a questa autorizzazione è abilitato per il servizio la cui API viene chiamata, l'API genera un audit log.
Le sezioni seguenti descrivono in generale altri modi in cui Google Cloud i metodi API verificano le autorizzazioni IAM. Per informazioni specifiche del servizio sui metodi controllati per i tipi di autorizzazione, consulta la documentazione relativa alla registrazione degli audit del servizio.
Controllo delle autorizzazioni IAM per i tipi di autorizzazione di accesso ai dati
Alcuni metodi API Google Cloud verificano se il chiamante dispone di più autorizzazioni IAM con diversi tipi di autorizzazione Accesso ai dati. Un audit log viene scritto quando uno di questi tipi di autorizzazione di accesso ai dati è abilitato nel progetto.
Ad esempio, un metodo API potrebbe verificare che il principal che invia una richiesta API disponga delle autorizzazioni example.resource.get
(DATA_READ
) e example.resource.write
(DATA_WRITE
). Il progetto deve avere abilitato solo DATA_WRITE
o DATA_READ
affinché il servizio emetta il log di controllo quando viene effettuata la chiamata.
Tipi di autorizzazione IAM per l'attività amministrativa e l'accesso ai dati selezionati
Alcuni metodi dell'API Google Cloud verificano sia un'autorizzazione IAM con il tipo di autorizzazione ADMIN_WRITE
sia una o più autorizzazioni con un tipo di autorizzazione di accesso ai dati.
Questi tipi di chiamate API generano audit log per le attività di amministrazione, che sono attivi per impostazione predefinita e non possono essere disattivati.
Il metodo API verifica le autorizzazioni IAM non di proprietà del servizio
Alcuni servizi Google Cloud hanno metodi API che generano un audit log solo quando un tipo di autorizzazione specifico è abilitato per un altro servizio.
Ad esempio, la fatturazione Cloud ha un metodo API che verifica la presenza di un tipo di autorizzazione ADMIN_READ
di proprietà di Resource Manager. ADMIN_READ
deve essere
abilitato per il servizio cloudresourcemanager.googleapis.com
per abilitare
il log di controllo associato all'API Cloud Billing.
Lo stesso metodo API verifica autorizzazioni IAM diverse
Per alcune API Google Cloud , il modo in cui viene chiamato il metodo determina quali tipi di autorizzazioni IAM devono essere abilitati nel progetto per generare un audit log.
Ad esempio, Spanner ha un metodo API che a volte controlla un'autorizzazione IAM di tipo DATA_WRITE
e a volte un'autorizzazione IAM di tipo DATA_READ
, a seconda di come viene chiamato il metodo. In questo caso, l'abilitazione di DATA_WRITE
per Spanner
nel progetto in cui viene effettuata la chiamata API abilita solo il log di controllo associato all'API
quando viene selezionata l'autorizzazione IAM con il tipo DATA_WRITE
.
Configurazioni specifiche del servizio
Se sono presenti sia una configurazione a livello di servizio (allServices
) sia una configurazione per un servizio Google Cloud specifico, la configurazione risultante per il servizio è l'unione delle due configurazioni. Google Cloud
In altre parole:
Puoi attivare gli audit log di accesso ai dati per servizi Google Cloudspecifici, ma non puoi disattivarli per i serviziGoogle Cloud abilitati nella configurazione più ampia.
Puoi aggiungere ulteriori tipi di informazioni a un audit log di accesso ai dati di un servizio, ma non puoi rimuovere i tipi di informazioni specificati nella configurazione più ampia. Google Cloud
Puoi aggiungere i principal agli elenchi di esenzione, ma non puoi rimuoverli dagli elenchi di esenzione nella configurazione più ampia.
Per BigQuery Data Transfer Service, la configurazione degli audit log di accesso ai dati viene ereditata dalla configurazione predefinita degli audit log.
Google Cloud configurazioni delle risorse
Puoi configurare gli audit log di accesso ai dati per Google Cloud progetti, account di fatturazione, cartelle e organizzazioni. Se esiste una configurazione per un servizioGoogle Cloud nell'intera gerarchia, la configurazione risultante è l'unione delle configurazioni. In altre parole, a livello di progettoGoogle Cloud :
Puoi attivare i log per un servizio Google Cloud , ma non puoi disattivarli per un servizio Google Cloud attivato in un'organizzazione o una cartella principale.
Puoi attivare i tipi di informazioni, ma non puoi disattivare quelli attivati in un'organizzazione o una cartella principale.
Puoi aggiungere principal agli elenchi di esenzione, ma non puoi rimuoverli dagli elenchi di esenzione in un'organizzazione o una cartella principale.
A livello di organizzazione o cartella padre, puoi attivare gli audit log di accesso ai dati per un progetto all'interno di quell'organizzazione o cartella, anche se gli audit log di accesso ai dati non sono stati configurati nel progetto. Google Cloud Google Cloud
Controllo degli accessi
Ruoli e autorizzazioni di Identity and Access Management regolano l'accesso ai dati di Logging, inclusa la visualizzazione e la gestione delle policy IAM sottostanti alle configurazioni di logging dell'audit log di accesso ai dati.
Per visualizzare o impostare i criteri associati alla configurazione dell'accesso ai dati, devi disporre di un ruolo con autorizzazioni al livello di risorsa appropriato. Per istruzioni sulla concessione di questi ruoli a livello di risorsa, consulta Gestisci l'accesso a Google Cloud progetti, cartelle e organizzazioni.
Per impostare i criteri IAM, devi disporre di un ruolo con l'autorizzazione
resourcemanager.RESOURCE_TYPE.setIamPolicy
.Per visualizzare le policy IAM, devi disporre di un ruolo con l'autorizzazione
resourcemanager.RESOURCE_TYPE.getIamPolicy
.
Per l'elenco delle autorizzazioni e dei ruoli necessari per visualizzare gli audit log di accesso ai dati, 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 log di controllo dell'accesso ai dati.
Puoi anche utilizzare l'API o Google Cloud CLI per eseguire queste attività in modo programmatico. Per maggiori dettagli, consulta Configurare 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 dei log di controllo.
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e 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ù serviziGoogle Cloud dalla colonna Servizio.
Nella scheda Tipi di autorizzazioni, seleziona i tipi di audit log di accesso ai dati che vuoi attivare per i servizi selezionati.
Fai clic su Salva.
Se hai attivato correttamente i log di controllo, la tabella include un'icona check_circle Segno di spunta.
Nell'esempio seguente, puoi vedere che per il servizio Access Approval è abilitato il tipo di audit log Lettura dati:
Puoi anche attivare i log di controllo per tutti i servizi Google Cloud che producono audit log di accesso 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 Google Cloud servizi disponibili per la tua risorsa. Se viene aggiunto un nuovo servizioGoogle Cloud , questo eredita la tua configurazione di controllo predefinita.
Disabilita gli audit log di accesso ai dati
Per disattivare gli audit log di accesso ai dati:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona uno o più Google Cloud servizi.
Nella scheda Tipi di log del riquadro delle informazioni, seleziona i tipi di audit log di accesso ai dati che vuoi disattivare per i servizi selezionati.
Fai clic su Salva.
Nei casi in cui hai disattivato correttamente gli audit log di accesso ai dati, la tabella lo indica con un trattino. Gli audit log di accesso ai dati abilitati sono indicati con un'icona check_circle segno di spunta.
Impostare esenzioni
Puoi impostare esenzioni per controllare quali entità generano audit log di accesso ai dati per servizi particolari. Quando aggiungi un'entità esente, non vengono creati audit log per i tipi di log selezionati.
Per impostare le esenzioni:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona un servizioGoogle Cloud dalla colonna Servizio.
Seleziona la scheda Soggetti esenti nel riquadro delle informazioni.
In Aggiungi entità esente, inserisci l'entità che vuoi esentare dalla generazione degli audit log di accesso ai dati per il servizio selezionato.
Puoi aggiungere più soggetti facendo clic sul pulsante Aggiungi soggetto esentato tutte le volte che vuoi.
Per un elenco dei principal validi, inclusi utenti e gruppi, consulta il riferimento al tipo
Binding
.In Tipi di log disabilitati, seleziona i tipi di audit log di accesso ai dati che vuoi disabilitare.
Fai clic su Salva.
Se hai aggiunto correttamente le entità esenti a un servizio, la tabella Configurazione degli audit log di accesso ai dati lo indica con un numero nella colonna Entità esenti.
Per rimuovere un principal dall'elenco delle esenzioni:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona un servizioGoogle Cloud dalla colonna Servizio.
Seleziona la scheda Soggetti esenti nel riquadro delle informazioni.
Tieni il puntatore del mouse sopra il nome di un principal, quindi seleziona
Elimina.Dopo che il nome del mandante viene visualizzato con testo barrato, fai clic su Salva.
Per modificare le informazioni di un'entità esentata:
Nella tabella Configurazione degli audit log di accesso ai dati, seleziona un servizioGoogle Cloud dalla colonna Servizio.
Seleziona la scheda Soggetti esenti nel riquadro delle informazioni.
Individua il principale e seleziona Espandi expand_more Mostra altro.
Seleziona o deseleziona i tipi di audit log di accesso ai dati in base all'entità.
Fai clic su Salva.
Impostare la configurazione predefinita
Puoi impostare una configurazione che tutti i servizi Google Cloudnuovi ed esistenti nel tuo progetto, nella tua cartella o nella tua organizzazione Google Cloud ereditino. L'impostazione di questa configurazione predefinita viene applicata se un nuovo servizio Google Cloud diventa disponibile e i principal della tua organizzazione iniziano a utilizzarlo: il servizio eredita il criterio di audit logging che hai già impostato per altri serviziGoogle Cloud , garantendo l'acquisizione dei log di controllo dell'accesso ai dati.
Per impostare o modificare la configurazione predefinita:
Fai clic su Imposta configurazione predefinita.
Nella scheda Tipi di log del riquadro delle informazioni, seleziona i tipi di log di controllo dell'accesso ai dati che vuoi attivare o disattivare.
Fai clic su Salva.
Seleziona la scheda Soggetti esenti nel riquadro delle informazioni.
In Aggiungi entità esente, inserisci l'entità che vuoi esentare dalla generazione degli audit log di accesso ai dati per il servizio selezionato.
Puoi aggiungere più soggetti facendo clic sul pulsante Aggiungi soggetto esentato tutte le volte che vuoi.
Per un elenco dei principal validi, inclusi utenti e gruppi, consulta il riferimento al tipo
Binding
.In Tipi di log disabilitati, seleziona i tipi di audit log di accesso ai dati che vuoi disabilitare.
Fai clic su Salva.
Configurare gli audit log di accesso ai dati con l'API
Questa sezione spiega come utilizzare l'API e la 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 istruzioni, vedi Configurare i log di controllo dell'accesso ai dati con la console Google Cloud in questa pagina.
Oggetti policy IAM
Per configurare gli audit log di accesso ai dati utilizzando l'API, devi modificare il criterio IAM associato al tuo progetto, alla tua cartella o alla tua organizzazione. Google Cloud La configurazione dell'audit log si trova nella sezione auditConfigs
del criterio:
"auditConfigs": [
{
object(AuditConfig)
}
]
Per i dettagli, vedi il tipo Policy IAM.
Le sezioni seguenti descrivono l'oggetto AuditConfig
in modo più dettagliato.
Per i comandi API e gcloud CLI utilizzati per modificare la configurazione,
consulta la sezione intitolata
getIamPolicy
e setIamPolicy
.
AuditConfig
oggetti
La configurazione dell'audit log è 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 come "appengine.googleapis.com"
oppure è il
valore speciale "allServices"
. Se una configurazione non menziona un servizio specifico, viene utilizzata la configurazione più ampia per quel servizio. Se non è presente
alcuna configurazione, gli audit log di accesso ai dati non sono abilitati per il servizio.
Per un elenco dei nomi dei servizi, vedi
Servizi di log.
La sezione auditLogConfigs
dell'oggetto AuditConfig
è un elenco da 0 a 3
oggetti, ognuno dei quali configura un tipo di informazioni del log di controllo. Se ometti
uno dei tipi dall'elenco, quel tipo di informazioni non viene attivato
per il servizio.
PRINCIPAL è un utente per il quale non vengono raccolti audit log di accesso ai dati. Il
tipo Binding
descrive diversi tipi di entità, tra cui
utenti e gruppi, ma non tutti possono essere utilizzati per configurare i log di controllo
dell'accesso ai dati.
Di seguito è riportato un esempio di configurazione di controllo 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": [
"499862534253-compute@developer.gserviceaccount.com"
],
"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 comuni dei log di controllo 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
i servizi 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
Attiva un servizio e un tipo di informazioni
La seguente configurazione abilita gli audit log di accesso ai dati per Cloud SQL:DATA_WRITE
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 per l'accesso ai dati (tranne BigQuery) in un progettoGoogle Cloud , includi una sezione auditConfigs:
vuota nella nuova policy IAM:
JSON
"auditConfigs": [],
YAML
auditConfigs:
Se rimuovi completamente la sezione auditConfigs
dalle nuove norme,
setIamPolicy
non modifica la configurazione esistente degli audit log di accesso ai dati. Per ulteriori informazioni, consulta la sezione
La maschera di aggiornamento setIamPolicy
.
Gli audit log per l'accesso ai dati di BigQuery non possono essere disattivati.
getIamPolicy
e setIamPolicy
Utilizzi i metodi getIamPolicy
e setIamPolicy
dell'API Cloud Resource Manager per leggere
e scrivere i criteri IAM. Hai diverse opzioni per i metodi specifici da utilizzare:
L'API Cloud Resource Manager ha i seguenti metodi:
projects.getIamPolicy projects.setIamPolicy organizations.getIamPolicy organizations.setIamPolicy
Google Cloud CLI ha i seguenti 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 la policy corrente utilizzando uno dei metodi
getIamPolicy
. Salva la policy in un file temporaneo. - Modifica il criterio nel file temporaneo.
Modifica (o aggiungi) solo la sezione
auditConfigs
. - Scrivi la policy modificata nel file temporaneo,
utilizzando uno dei metodi
setIamPolicy
.
setIamPolicy
non riesce se Resource Manager rileva che qualcun altro ha modificato il criterio dopo che lo hai letto nel primo passaggio. In questo caso,
ripeti i tre passaggi.
Esempi
Gli esempi riportati di seguito mostrano come configurare i log di controllo dell'accesso ai dati del progetto utilizzando il comando gcloud
e l'API Cloud Resource Manager.
Per configurare gli audit log dell'accesso ai dati dell'organizzazione, sostituisci la versione "projects" dei comandi e dei metodi API con la versione "organizations".
gcloud
Per configurare gli audit log di accesso ai dati utilizzando
il comando gcloud projects
, esegui le seguenti operazioni:
Leggi la policy IAM del tuo progetto e archiviala in un file:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
Di seguito è riportata la policy restituita. Questo criterio non ha una 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 la policy in
/tmp/policy.yaml
, aggiungendo o modificando solo la configurazione degli audit log di accesso ai dati.Un esempio del criterio modificato, che attiva gli audit log di accesso ai dati di scrittura di Cloud SQL:
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
Come mostrato nell'esempio precedente, sono state aggiunte quattro righe all'inizio delle norme.
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 a partire dal primo.
JSON
Per lavorare con il criterio 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, segui questi passaggi:
Leggi la policy IAM del tuo progetto specificando i seguenti parametri per il metodo API getIamPolicy:
- resource:
projects/PROJECT_ID
- Corpo della richiesta: vuoto
Il metodo restituisce l'oggetto policy corrente:
{ "version": 1, "etag": "BwXqwxkr40M=", "bindings": [ { "role": "roles/owner", "members": [ "user:myself@example.com" ] } ] }
L'esempio precedente mostra che la policy del progetto non ha una sezione
auditConfigs
.- resource:
Modifica le norme attuali:
Modifica o aggiungi la sezione
auditConfigs
.Per disabilitare gli audit log di accesso ai dati, includi un valore vuoto per la sezione:
auditConfigs:[]
.Conserva il valore di
etag
.
Puoi anche rimuovere tutte le altre informazioni dal nuovo oggetto policy, purché tu faccia attenzione a impostare
updateMask
nel passaggio successivo. Di seguito è riportata la policy modificata, che attiva i log di controllo di Cloud SQLDATA_WRITE
:{ "policy": { "auditConfigs": [ { "auditLogConfigs": [ { "logType": "DATA_WRITE" } ], "service": "cloudsql.googleapis.com" } ], "etag": "BwXqwxkr40M=" }, "updateMask": "auditConfigs,etag" }
Scrivi la nuova policy utilizzando il metodo API
setIamPolicy
, specificando i seguenti parametri:- resource:
projects/PROJECT_ID
- Corpo della richiesta: includi la policy modificata.
- resource:
La maschera di aggiornamento setIamPolicy
Questa sezione spiega l'importanza del parametro updateMask
nel metodo setIamPolicy
e perché devi prestare attenzione al comando set-iam-policy
di gcloud CLI per non causare danni accidentali al tuo progetto o alla tua organizzazione. Google Cloud
Il metodo API setIamPolicy
utilizza un parametro updateMask
per
controllare quali campi della policy vengono aggiornati. Ad esempio, se la maschera non
contiene bindings
, non puoi modificare accidentalmente questa sezione delle norme. D'altra parte, se la maschera contiene bindings
, la sezione viene
sempre aggiornata. Se non includi un valore aggiornato per bindings
, la sezione viene rimossa completamente dalle norme.
Il comando gcloud projects set-iam-policy
, che chiama setIamPolicy
,
non consente di specificare il parametro updateMask
. Il comando
calcola invece un valore per updateMask
nel seguente modo:
updateMask
contiene sempre i campibindings
eetag
.- Se l'oggetto policy fornito in
set-iam-policy
contiene altri campi di primo livello, ad esempioauditConfigs
, questi campi vengono aggiunti aupdateMask
.
Di conseguenza, il comando set-iam-policy
ha i seguenti
comportamenti:
Se ometti la sezione
auditConfigs
nella nuova norma, il valore precedente della sezioneauditConfigs
(se presente) non viene modificato perché la sezione non è nella maschera di aggiornamento. Si tratta di un comportamento innocuo, ma che potrebbe creare confusione.Se ometti
bindings
nel nuovo oggetto policy, la sezionebindings
viene rimossa dalla policy, poiché questa sezione viene visualizzata nella maschera di aggiornamento. Questa azione è molto dannosa e comporta la perdita dell'accesso al tuo progetto Google Cloud per tutte le entità.Se ometti
etag
nel nuovo oggetto delle norme, il controllo delle modifiche simultanee alle norme viene disattivato e le tue modifiche potrebbero sovrascrivere accidentalmente quelle di un altro utente.