Questo documento descrive gli audit log creati dai controlli di servizio VPC come parte di Cloud Audit Logs.
Panoramica
I serviziTrusted Cloud by S3NS scrivono gli audit log per aiutarti a rispondere alle domande "Chi ha fatto cosa, dove e quando?" all'interno delle tue risorse Trusted Cloud .
I tuoi progetti Trusted Cloud contengono solo gli audit log per le risorse che si trovano direttamente all'interno del progetto Trusted Cloud . Altre risorse, come cartelle, organizzazioni e account di fatturazione, contengono gli audit log per l'entità stessa. Trusted Cloud
Per una panoramica generale di Cloud Audit Logs, vedi Panoramica di Cloud Audit Logs. Per una comprensione più approfondita del formato del log di controllo, vedi Comprendere i log di controllo.
Log di controllo disponibili
Per i Controlli di servizio VPC sono disponibili i seguenti tipi di log di controllo:
-
Audit log negati da criteri
Identifica quando a un utente o a un service account viene negato l'accesso a causa di una violazione delle norme di sicurezza. Il nome del servizio e il nome del metodo nei log di controllo Policy Denied indicano i nomi della risorsa a cui l'utente o il account di servizio non ha potuto accedere.
Non puoi disabilitare gli audit log negati da criteri. Tuttavia, puoi aggiungere quanto segue al filtro di esclusione nel sink
_Default
per escludere i log di controllo Policy Denied:LOG_ID("cloudaudit.googleapis.com/policy")
. Puoi anche disattivare il_Default
sink per Cloud Logging, che impedisce l'instradamento dei log al bucket_Default
.
Per descrizioni più dettagliate dei tipi di log di controllo, vedi Tipi di log di controllo.
Operazioni con audit
La seguente tabella riassume le operazioni API corrispondenti a ogni tipo di audit log in Controlli di servizio VPC:
Categoria di audit log | Metodi dei Controlli di servizio VPC |
---|---|
Audit log negati da criteri | Sono supportati i metodi dei servizi che si integrano con i Controlli di servizio VPC. |
Contenuto del record audit log
Ogni record del log di controllo contiene informazioni che possono essere suddivise in due categorie principali: le informazioni sulla chiamata originale e le informazioni sulle violazioni delle norme di sicurezza. Viene compilato dall'API Controlli di servizio VPC nel seguente modo:
Campo dell'audit log | Descrizione |
---|---|
serviceName |
Il servizio a cui l'accesso è limitato da un perimetro di servizio. La richiesta a questo servizio ha violato un controllo di Controlli di servizio VPC e ha comportato la creazione di questo log di controllo. |
methodName
|
Il nome della chiamata al metodo che ha comportato la violazione della norma di sicurezza descritta nel record. Spesso, methodName è il
metodo associato al servizio Trusted Cloud by S3NS specificato nel
campo serviceName .
|
authenticationInfo.principalEmail
|
L'indirizzo email dell'utente o del account di servizio che ha emesso
la richiesta. Alcuni indirizzi email potrebbero essere oscurati. Per ulteriori informazioni, vedi Identità chiamante nei log di controllo. |
resourceName
|
La Trusted Cloud by S3NS risorsa specificata nella richiesta originale del client.
Il resourceName può essere un progetto, una cartella, un'organizzazione o una
risorsa come un bucket Trusted Cloud by S3NS .
|
requestMetadata.callerIp |
L'indirizzo IP del chiamante.
Se la chiamata ha avuto origine da internet, allora
Se la chiamata ha avuto origine da una VM di Compute Engine, allora
Se la chiamata è stata avviata all'interno della rete di produzione interna di Google,
il valore in questo campo è |
request_metadata.caller_network
|
Il nome della rete del chiamante. Questo valore viene impostato solo se il progetto host di rete appartiene alla stessa organizzazione Trusted Cloud by S3NS o allo stesso progetto della risorsa a cui è stato eseguito l'accesso. Per maggiori informazioni, consulta Reti VPC. |
status
|
Lo stato complessivo della gestione di un'operazione descritta nel record. |
metadata
|
Le informazioni sulla violazione dei criteri di sicurezza. |
metadata.resourceNames |
I nomi delle risorse coinvolte nella violazione delle norme di sicurezza descritta nel record. |
metadata.dryRun
|
Un valore booleano che è True se il log di controllo
riguarda un controllo dei criteri di prova. Per saperne di più, consulta la sezione Modalità di prova per i perimetri di servizio.
|
metadata.vpcServiceControlsUniqueId
|
L'identificatore univoco della violazione dei Controlli di servizio VPC descritta nel record. |
metadata.violationReason
|
Il motivo della violazione. Ad esempio,
RESOURCE_NOT_IN_SAME_SERVICE_PERIMETER significa che le
risorse a cui si accede non appartengono allo stesso perimetro di servizio.
|
metadata.securityPolicyInfo
|
Il nome del perimetro di servizio per cui si è verificata la violazione e l'identificatore univoco dell'organizzazione a cui appartiene il perimetro. |
metadata.egressViolations
|
Una violazione dell'uscita si verifica in genere quando una richiesta non va a buon fine perché l'origine è protetta da un perimetro di servizio e la risorsa di destinazione si trova al di fuori del perimetro. L'origine può essere un progetto o una rete VPC. |
metadata.ingressViolations |
Il tipo di violazione. Spesso, questa violazione si verifica se la richiesta tenta di accedere a una risorsa di destinazione protetta da un perimetro di servizio. L'origine può essere un progetto o una rete VPC. Questo campo contiene una struttura che spiega la violazione dell'ingresso. |
metadata.accessLevels
|
Tutti i livelli di accesso corrispondenti nell'organizzazione che appartengono allo stesso
criterio di accesso. Questi livelli di accesso potrebbero non essere specificati nel perimetro violato e quindi possono causare la violazione di NO_MATCHING_ACCESS_LEVEL .
|
metadata.intermediateServices
|
L'elenco dei servizi coinvolti nella catena di richieste. Questo campo è vuoto per le richieste avviate dagli utenti. |
metadata.deviceState
|
Lo stato del dispositivo che crea la richiesta quando il criterio
del dispositivo è abilitato. Il valore predefinito di questo campo è Unknown .
|
Formato degli audit log
Le voci del log di controllo includono i seguenti oggetti:
La voce di log stessa, che è un oggetto di tipo
LogEntry
. Di seguito vengono riportati alcuni campi utili:logName
contiene l'ID risorsa e il tipo di log di controllo.resource
contiene il target dell'operazione sottoposta ad audit.timeStamp
contiene l'ora dell'operazione sottoposta ad audit.- Il
protoPayload
contiene le informazioni sottoposte ad audit.
I dati di audit log, che sono un oggetto
AuditLog
contenuto nel campoprotoPayload
della voce di log.Informazioni di audit facoltative e specifiche del servizio, che sono un oggetto specifico del servizio. Per le integrazioni precedenti, questo oggetto è contenuto nel campo
serviceData
dell'oggettoAuditLog
; le integrazioni successive utilizzano il campometadata
.
Per informazioni sugli altri campi in questi oggetti e su come interpretarli, consulta Comprendere i log di controllo.
Nome log
I nomi dei log di Cloud Audit Logs includono identificatori di risorse che indicano ilTrusted Cloud progetto o un'altra Trusted Cloud entità proprietaria degli audit log, oltre a specificare se il log contiene dati di audit logging per l'attività di amministrazione, l'accesso ai dati, il rifiuto dei criteri o gli eventi di sistema.
Di seguito sono riportati i nomi dei log di controllo, incluse le variabili per gli identificatori delle risorse:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Nome servizio
Per un elenco di tutti i nomi dei servizi API Cloud Logging e dei relativi tipi di risorsa monitorata, consulta Mappare i servizi alle risorse.
Tipi di risorse
I log di controllo dei Controlli di servizio VPC utilizzano i tipi di risorse supportati dai servizi che si integrano con i Controlli di servizio VPC.
Per un elenco di tutti i tipi di risorsa monitorata di Cloud Logging e informazioni descrittive, consulta Tipi di risorse monitorate.
Identità del chiamante
L'indirizzo IP del chiamante è memorizzato nel campo RequestMetadata.caller_ip
dell'oggetto AuditLog
. La registrazione potrebbe oscurare alcune
identità del chiamante e indirizzi IP.
Per informazioni su quali informazioni vengono oscurate nei log di controllo, vedi Identità del chiamante nei log di controllo.
Abilitazione degli audit log
Gli audit log per le attività di amministrazione sono sempre abilitati; non puoi disattivarli.
Autorizzazioni e ruoli
I ruoli e le autorizzazioni IAM determinano la tua capacità di accedere ai dati degli audit log nelle risorse Trusted Cloud .
Quando decidi quali autorizzazioni e ruoli specifici per la registrazione si applicano al tuo caso d'uso, considera quanto segue:
Il ruolo Visualizzatore log (
roles/logging.viewer
) ti consente di accedere in sola lettura agli audit log di attività di amministrazione, accesso negato in base ai criteri ed eventi di sistema. Se disponi solo di questo ruolo, non puoi visualizzare gli audit log di accesso ai dati che si trovano nel bucket_Default
.Il ruolo Visualizzatore log privati
(roles/logging.privateLogViewer
) include le autorizzazioni contenute inroles/logging.viewer
, oltre alla possibilità di leggere gli audit log di accesso ai dati nel bucket_Default
.Tieni presente che se questi log privati sono archiviati in bucket definiti dall'utente, qualsiasi utente che dispone delle autorizzazioni per leggere i log in questi bucket può leggere i log privati. Per saperne di più sui bucket di log, consulta la panoramica su routing e archiviazione.
Per saperne di più sui ruoli e sulle autorizzazioni IAM che si applicano ai dati degli audit log, consulta Controllo dell'accesso con IAM.
Visualizza i log
Puoi eseguire query su tutti i log di controllo o su log specifici in base al nome. Il nome dell'audit log include l'identificatore della risorsa del progetto, della cartella, dell'account di fatturazione o dell'organizzazione per cui vuoi visualizzare le informazioni di audit logging. Trusted Cloud
Le query possono specificare campi LogEntry
indicizzati.
Per ulteriori informazioni su come eseguire query sui log, consulta
Creare query in Esplora log
La maggior parte degli audit log può essere visualizzata in Cloud Logging utilizzando la consoleTrusted Cloud , Google Cloud CLI o l'API Logging. Tuttavia, per i log di controllo correlati alla fatturazione, puoi utilizzare solo Google Cloud CLI o l'API Logging.
Console
Nella console Trusted Cloud , puoi utilizzare Esplora log per recuperare le voci di audit log per il tuo progetto, la tua cartella o la tua organizzazione Trusted Cloud :
-
Nella Trusted Cloud console, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona un progetto, una cartella o un'organizzazione Trusted Cloud esistente.
Per visualizzare tutti i log di controllo, inserisci una delle seguenti query nel campo dell'editor di query, quindi fai clic su Esegui query:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
Per visualizzare i log di controllo per un tipo di risorsa e di audit log specifico, nel riquadro Query Builder:
In Tipo di risorsa, seleziona la risorsa Trusted Cloud di cui vuoi visualizzare gli audit log.
In Nome log, seleziona il tipo di audit log che vuoi visualizzare:
- Per gli audit log delle attività di amministrazione, seleziona activity.
- Per gli audit log di accesso ai dati, seleziona data_access.
- Per gli audit log degli eventi di sistema, seleziona system_event.
- Per gli audit log negati da criteri, seleziona policy.
Fai clic su Esegui query.
Se non vedi queste opzioni, significa che non sono disponibili audit log di questo tipo nel progetto, nella cartella o nell'organizzazione. Trusted Cloud
Se riscontri problemi quando provi a visualizzare i log in Esplora log, consulta le informazioni per la risoluzione dei problemi.
Per ulteriori informazioni sull'esecuzione di query utilizzando Esplora log, vedi Creare query in Esplora log.
gcloud
Google Cloud CLI fornisce un'interfaccia a riga di comando per l'API Logging. Fornisci un identificatore di risorsa valido in ciascuno dei nomi dei log. Ad esempio, se la query include PROJECT_ID, l'identificatore del progetto che fornisci deve fare riferimento al progettoTrusted Cloud attualmente selezionato.
Per leggere le voci del log di controllo a livello di progetto Trusted Cloud , esegui il seguente comando:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \ --project=PROJECT_ID
Per leggere le voci del log di controllo a livello di cartella, esegui il comando seguente:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \ --folder=FOLDER_ID
Per leggere le voci di audit log a livello di organizzazione, esegui questo comando:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \ --organization=ORGANIZATION_ID
Per leggere le voci del log di controllo a livello di account di fatturazione Cloud, esegui questo comando:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
Aggiungi il flag --freshness
al comando per leggere i log più vecchi di un giorno.
Per saperne di più sull'utilizzo di gcloud CLI, consulta
gcloud logging read
.
REST
Per eseguire query sui dati di log utilizzando l'API Cloud Logging, utilizza il metodo
entries.list
.
Query di esempio
Per utilizzare le query di esempio nella tabella seguente, completa questi passaggi:
Sostituisci le variabili nell'espressione di query con le informazioni del tuo progetto, quindi copia l'espressione utilizzando l'icona degli appunti content_copy.
-
Nella Trusted Cloud console, vai alla pagina Esplora log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Attiva Mostra query per aprire il campo dell'editor di query, quindi incolla l'espressione nel campo dell'editor di query:
Fai clic su Esegui query. I log che corrispondono alla tua query sono elencati nel riquadro Risultati query.
Per trovare i log di controllo per Controlli di servizio VPC, utilizza le seguenti query in Esplora log:
Descrizione query | Espressione |
---|---|
Dettagli sulla violazione in base a un ID rifiuto | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.metadata.vpcServiceControlsUniqueId="UNIQUE_ID" Sostituisci |
Violazioni per un indirizzo IP | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.requestMetadata.callerIp="IP_ADDRESS" Sostituisci |
Violazioni per un servizio | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.serviceName="SERVICE_NAME" Sostituisci |
Modifica del livello di accesso apportata a un perimetro | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName="google.identity.accesscontextmanager.v1.AccessContextManager.UpdateServicePerimeter" -protoPayload.metadata.previousState:"ACCESS_LEVEL" protoPayload.request.servicePerimeter.status.accessLevels:"ACCESS_LEVEL" Sostituisci |
Operazioni CRUD perimetrali | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.name=~".*PERIMETER_NAME$" PERIMETER_NAME con il nome del perimetro. |
Operazioni CRUD del livello di accesso | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*AccessLevel" protoPayload.request.accessLevel.name=~".*ACCESS_LEVEL$" |
Creare e aggiornare le operazioni per le regole di ingresso | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.ingressPolicies:"*" |
Creare e aggiornare le operazioni per le regole di uscita | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.egressPolicies:"*" |
Log di controllo delle route
Puoi instradare i log di controllo alle destinazioni supportate nello stesso modo in cui puoi instradare altri tipi di log. Ecco alcuni motivi per cui potresti voler instradare i tuoi audit log:
Per conservare gli audit log più a lungo o utilizzare funzionalità di ricerca più avanzate, puoi instradare copie degli audit log a Cloud Storage, BigQuery o Pub/Sub. Utilizza Pub/Sub per eseguire il routing verso altre applicazioni, altri repository e terze parti.
Per gestire gli audit log in tutta l'organizzazione, puoi creare dei sink aggregati che permettono di indirizzare i log da qualsiasi progetto o anche da tutti i progetti Trusted Cloud nell'organizzazione.
Per istruzioni sul routing dei log, vedi Eseguire il routing dei log verso destinazioni supportate.