Audit logging

In questa pagina sono descritti gli audit log creati da Cloud Search come parte di Cloud Audit Logs.

Panoramica

I servizi Google Cloud scrivono gli audit log per aiutarti a rispondere alla domanda "Chi ha fatto cosa, dove e quando?" all'interno delle tue risorse. I tuoi progetti Cloud contengono audit log solo per le risorse che si trovano direttamente all'interno del progetto. Altre entità, come cartelle, organizzazioni e account di fatturazione Cloud, contengono i propri audit log.

Per una panoramica generale, consulta Cloud Audit Logs. Per maggiori dettagli, consulta Informazioni sugli audit log.

Cloud Audit Logs fornisce i seguenti log per ogni progetto, cartella e organizzazione Cloud:

  • Audit log delle attività di amministrazione: voci per i metodi che eseguono operazioni di scrittura di amministrazione.
  • Audit log di accesso ai dati: voci per i metodi che eseguono operazioni di lettura di amministrazione, scrittura di dati e lettura di dati.
  • Audit log degli eventi di sistema
  • Audit log di policy negata

Cloud Search scrive gli audit log delle attività di amministrazione per registrare le operazioni che modificano la configurazione o i metadati delle risorse. Non puoi disattivare gli audit log delle attività di amministrazione.

Cloud Search scrive gli audit log di accesso ai dati solo se li abiliti esplicitamente esplicitamente. Questi log contengono chiamate API che leggono la configurazione o i metadati delle risorse e chiamate API guidate dall'utente che creano, modificano o leggono i dati delle risorse forniti dall'utente.

Cloud Search non scrive audit log degli eventi di sistema o di policy negata.

Operazioni con audit

La tabella riportata di seguito riassume le operazioni API corrispondenti a ogni tipo di audit log in Cloud Search:

Categoria di audit log Operazioni di Cloud Search
Attività di amministrazione: scrittura di amministrazione indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
cloudsearch.IdentitySourceService.delete
Accesso ai dati: lettura di amministrazione indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
Accesso ai dati: scrittura di dati indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
Accesso ai dati: lettura di dati indexing.datasources.items.get
indexing.datasources.items.list
operations.get
operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
query.suggest
query.search
stats.getSearchapplication

Formato degli audit log

Le voci degli audit log includono i seguenti oggetti. Puoi visualizzarli in Cloud Logging utilizzando Esplora log, l'API Cloud Logging o lo strumento a riga di comando gcloud.

La voce di log stessa è un LogEntry oggetto. I campi utili includono:

  • logName: l'ID risorsa e il tipo di audit log.
  • resource: la destinazione dell'operazione con audit.
  • timeStamp: l'ora dell'operazione con audit.
  • protoPayload: le informazioni con audit.

I dati dell'audit logging sono un AuditLog oggetto nel campo protoPayload.

Le informazioni di audit facoltative specifiche del servizio sono un oggetto specifico del servizio. Per le integrazioni precedenti, questo oggetto si trova nel campo serviceData dell'oggetto AuditLog; le integrazioni successive utilizzano il campo metadata.

Per ulteriori informazioni, consulta Informazioni sugli audit log.

Nome log

I nomi delle risorse di Cloud Audit Logs indicano il progetto o un'altra entità Google Cloud proprietaria dei log e il tipo di audit log. Ad esempio:

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nome servizio

Gli audit log di Cloud Search utilizzano il nome servizio cloudsearch.googleapis.com.

Tipi di risorse

Gli audit log di Cloud Search utilizzano il tipo di risorsa audited_resource per tutti i log. Per altri tipi di risorse, consulta Tipi di risorse monitorate.

Attivazione degli audit log

Per impostazione predefinita, l'audit logging è disabilitato per l'API Cloud Search. Per abilitare l'audit logging per Cloud Search:

  1. (Facoltativo) Se non hai creato un progetto Google Cloud per archiviare i log, consulta Configurare l'accesso all'API Cloud Search.
  2. Recupera l'ID progetto per il progetto Google Cloud in cui vuoi archiviare i log. Consulta Identificare i progetti.
  3. Determina la categoria di log da abilitare per un'API specifica. Consulta Operazioni con audit.
  4. Utilizza il metodo dell'API REST updateCustomer() per aggiornare auditLogSettings con le categorie:

    1. Ottieni un token di accesso OAuth 2.0. Consulta Utilizzare OAuth 2.0 per accedere alle API di Google. Utilizza uno di questi ambiti:
      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. Esegui questo comando curl: bash curl --request PATCH \ 'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Content-Type: application/json' \ --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }' Sostituisci YOUR_ACCESS_TOKEN, PROJECT_ID e le categorie (logAdminReadActions, logDataWriteActions o logDataReadActions). Le azioni di scrittura di amministrazione sono abilitate per impostazione predefinita. Per registrare i metodi di query, abilita la categoria Lettura dati.

      Le richieste successive all'API Cloud Search generano log nel progetto specificato.

  5. L'audit logging per i metodi di query richiede la categoria Lettura dati. Per abilitare il logging per query.sources.list, query.suggest e query.search:

    1. Recupera il nome di ogni applicazione di ricerca nel formato searchapplications/<search_application_id>.
    2. Chiama settings.searchapplications.update con enableAuditLog impostato su true.
  6. Per abilitare l'audit logging per le chiamate da cloudsearch.google.com, assicurati che la categoria Lettura dati sia abilitata e aggiorna searchapplications/default.

Visualizza i log in Esplora log della console Google Cloud. Utilizza questo filtro per gli audit log di Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Per ulteriori informazioni, consulta Panoramica di Esplora log.

Autorizzazioni degli audit log

Le autorizzazioni Identity and Access Management (IAM) determinano quali log puoi visualizzare o esportare. Per ulteriori informazioni, consulta Informazioni sui ruoli.

Per visualizzare gli audit log delle attività di amministrazione, devi disporre di uno di questi ruoli IAM:

Per visualizzare gli audit log di accesso ai dati, devi disporre di uno di questi ruoli:

Se utilizzi gli audit log di un'entità non di progetto, ad esempio un'organizzazione, cambia i ruoli del progetto Cloud nei ruoli organizzativi appropriati.

Visualizza i log

Per visualizzare i log, devi disporre dell'identificatore del progetto cloud, della cartella o dell'organizzazione. Puoi specificare altri LogEntry campi, come resource.type. Consulta Crea query in Esplora log.

I nomi degli audit log seguono questo formato:

   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

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

Hai diverse opzioni per visualizzare le voci degli audit log.

Console

  1. Vai alla pagina Logging > Esplora log nella console Google Cloud. Vai a Esplora log
  2. Seleziona il progetto.
  3. Nel riquadro Generatore di query, seleziona la risorsa e il tipo di log. Per maggiori dettagli sull'esecuzione di query utilizzando il nuovo Esplora log, consulta Crea query in Esplora log.

gcloud

Esegui questo comando per i log a livello di progetto:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" 
--project=PROJECT_ID

API

  1. Vai alla sezione Prova questa API per il entries.list metodo.
  2. Utilizza questo corpo della richiesta, sostituendo PROJECT_ID con l'ID progetto scelto:
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. Fai clic su Esegui.

Per maggiori dettagli sull'esecuzione di query, consulta Linguaggio delle query di Logging.

Per un esempio di voce di audit log e su come trovare le informazioni più importanti informazioni, consulta Informazioni sugli audit log.

Esporta gli audit log

Puoi esportare gli audit log come altri log. Consulta Esportare i log.

  • Esporta in Cloud Storage, BigQuery o Pub/Sub per una conservazione più lunga o una ricerca avanzata.
  • Utilizza i sink aggregati per gestire i log in un'organizzazione.
  • Escludi i log di accesso ai dati per gestire le quote di log. Consulta Escludere i log.

Prezzi e conservazione

Cloud Logging non addebita costi per gli audit log delle attività di amministrazione. Cloud Logging addebita costi per gli audit log di accesso ai dati. Consulta Prezzi della suite operativa di Google Cloud.

Periodi di conservazione per gli audit log di Cloud Search:

  • Log delle attività di amministrazione: 400 giorni.
  • Log di accesso ai dati: 30 giorni.

Limitazioni attuali

Limitazioni dell'audit logging di Cloud Search:

  • La dimensione della voce di log deve essere inferiore a 512 kB. Se una voce supera i 512 kB, il campo response viene rimosso. Se supera ancora i 512 kB, il campo request viene rimosso. Se supera ancora i 512 kB, l'intera voce viene eliminata.
  • I corpi delle risposte non vengono registrati per i metodi list(), get() e suggest().
  • Vengono registrate solo le chiamate di query da cloudsearch.google.com e dalle applicazioni di ricerca dei clienti.
  • Per le chiamate search(), nella richiesta vengono registrati solo Query, RequestOptions e DataSourceRestriction. La risposta esegue l'audit solo dell'URL e dei metadati.
  • Le chiamate di backend per l'esportazione dei dati non vengono sottoposte ad audit.