Audit logging

Questa pagina descrive gli audit log creati da Cloud Search nell'ambito di Cloud Audit Logs.

Panoramica

I servizi Google Cloud scrivono gli audit log per aiutarti a rispondere alle domande "Chi ha fatto cosa, dove e quando?" all'interno delle tue risorse. I tuoi progetti Cloud contengono solo gli audit log per le risorse che si trovano direttamente al loro interno. Le altre entità, come cartelle, organizzazioni e account di fatturazione Cloud, contengono gli audit log specifici.

Per una panoramica generale di Cloud Audit Logs, consulta Cloud Audit Logs. Per approfondire la conoscenza di Cloud Audit Logs, consulta Informazioni sui log di controllo.

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

  • Audit log delle attività di amministrazione contenenti voci corrispondenti ai metodi che eseguono operazioni di scrittura amministratore. I metodi corrispondenti a Attività amministratore:operazioni di scrittura amministratore sono trattati in una sezione dedicata alle operazioni sottoposte ad audit.
  • Audit log di accesso ai dati contenenti voci corrispondenti ai metodi che eseguono operazioni di lettura amministratore, scrittura dati e lettura dati. I metodi corrispondenti alle operazioni Accesso ai dati:lettura amministrazione, Accesso ai dati:scrittura dati, Accesso ai dati:lettura dati sono trattati in una prossima sezione Operazioni sottoposte a controllo.
  • Audit log degli eventi di sistema
  • Audit log di criteri negati

Cloud Search scrive gli audit log per le attività di amministrazione, che registrano le operazioni che modificano la configurazione o i metadati di una risorsa. Non puoi disabilitare gli audit log per le attività di amministrazione.

Solo se attivati esplicitamente, Cloud Search scrive gli audit log di accesso ai dati. Gli audit log di accesso ai dati contengono chiamate API che leggono la configurazione o i metadati delle risorse, nonché chiamate API effettuate dagli utenti che creano, modificano o leggono i dati delle risorse forniti dall'utente.

Cloud Search non scrive audit log degli eventi di sistema.

Cloud Search non scrive audit log di accesso negato in base ai criteri.

Operazioni con audit

Di seguito sono riportate le operazioni API corrispondenti a ogni tipo di log di controllo in Cloud Search:

Categoria di audit log Operazioni di Cloud Search
Attività di amministrazione: scrittura amministratore 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 amministratore 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 dei 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 dei 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 possono essere visualizzate in Cloud Logging utilizzando Esplora log, l'API Cloud Logging o lo strumento a riga di comando gcloud e 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.
  • protoPayload contiene le informazioni sottoposte a controllo.
  • I dati di registrazione degli audit, che sono un oggetto AuditLog tenuto nel campo protoPayload della voce di log.

Informazioni di controllo facoltative e specifiche del servizio, che sono un oggetto specifico del servizio. Per le integrazioni precedenti, questo oggetto è contenuto nel campo serviceData dell'oggetto AuditLog; le integrazioni successive utilizzano il campo metadata.

Per informazioni sugli altri campi in questi oggetti e su come interpretarli, consulta Informazioni sui log di controllo.

Nome log

I nomi delle risorse Audit log di Cloud indicano il progetto Cloud o un'altra entità Google Cloud proprietaria degli audit log, oltre a specificare se il log contiene dati di audit logging per attività di amministrazione, accesso ai dati, accesso negato in base ai criteri o eventi di sistema. Ad esempio, l'esempio seguente mostra i nomi dei log per i log di controllo dell'attività di amministrazione a livello di progetto e i log di controllo dell'accesso ai dati di un'organizzazione. Le variabili indicano gli identificatori di progetto e organizzazione.

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 del servizio cloudsearch.googleapis.com.

Tipi di risorse

Tutti gli audit log di Cloud Search utilizzano il tipo di risorsa audited_resource.

Per un elenco di altri tipi di risorse, consulta Tipi di risorse monitorate.

Abilitazione degli audit log

Per impostazione predefinita, l'audit logging è disabilitato per l'API Cloud Search. Per attivare il logging di controllo per la Ricerca Google Cloud:

  1. (Facoltativo) Se non hai creato un progetto Google Cloud per archiviare i log, consulta Configurare l'accesso all'API Google Cloud Search.

  2. Ottieni l'ID progetto Google Cloud in cui vuoi archiviare i log. Per scoprire come ottenere un ID progetto, consulta Identificazione dei progetti.

  3. Per attivare la registrazione dei log di controllo per un'API specifica, devi determinare la relativa categoria di log da attivare. Per le API e le relative categorie, consulta Operazioni sottoposte a controllo in precedenza in questo documento.

  4. Utilizza il metodo updateCustomer() dell'API REST per aggiornare auditLogSettings con le categorie di log da attivare:

    1. Ottieni un token di accesso OAuth 2.0 dal server di autorizzazione Google. Per informazioni su come ottenere il token, consulta il passaggio 2 dell'articolo Utilizzare OAuth 2.0 per accedere alle API di Google. Utilizza uno dei seguenti ambiti OAuth durante l'ottenimento del token di accesso:

      • 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 il seguente comando curl.

    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" } }'
    

    Dove:

    • YOUR_ACCESS_TOKEN è il token di accesso OAuth 2.0 ottenuto nel passaggio 4a.
    • PROJECT_ID è l'ID progetto ottenuto nel passaggio 2.
    • CATEGORY1, CATEGORY2, sono le categorie che hai scelto di attivare nel passaggio 3. I valori validi sono logAdminReadActions, logDataWriteActions e logDataReadActions. Le azioni di scrittura amministratore sono abilitate per impostazione predefinita e non possono essere disabilitate. Se vuoi il logging di controllo per i metodi di query, devi attivare la categoria Lettura dei dati.

    Dopo aver aggiornato AuditLoggingSettings, le ulteriori richieste all'API Cloud Search generano un log di controllo nell'ID progetto specificato in AuditLoggingSettings.

  5. Per i metodi di query, è necessario attivare la categoria Lettura dei dati per i log di controllo (operazione eseguita nel passaggio 4). Per attivare la registrazione di controllo per i metodi di query (query.sources.list, query.suggest e query.search), segui questi passaggi aggiuntivi:

    1. Per ogni applicazione di ricerca per la quale vuoi attivare la registrazione di controllo, recupera il nome. Il nome deve avere il formato searchapplications/<search_application_id>.

    2. Usa il nome per chiamare settings.searchapplications.update con enableAuditLog impostato su true.

  6. Per attivare il logging di controllo per le chiamate da cloudsearch.google.com, assicurati che la categoria Lettura dei dati sia abilitata (passaggio 4). Inoltre, esegui il passaggio 5b con un name di searchapplications/default .

Una volta attivati, i log possono essere visualizzati nella sezione Esplora log della console Google Cloud. Utilizza il seguente filtro per visualizzare solo gli audit log di Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Per informazioni su come visualizzare i log, consulta la panoramica di Esplora log.

Autorizzazioni degli audit log

I ruoli e le autorizzazioni di Identity and Access Management determinano quali log di controllo puoi visualizzare o esportare. I log si trovano all'interno dei progetti Cloud e in alcune altre entità, tra cui organizzazioni, cartelle e account di fatturazione Cloud. Per ulteriori informazioni, consulta Informazioni sui ruoli.

Per visualizzare i log di controllo delle attività di amministrazione, devi disporre di uno dei seguenti ruoli IAM nel progetto che contiene gli audit log:

Per visualizzare i log di controllo dell'accesso ai dati, devi disporre di uno dei seguenti ruoli nel progetto che contiene gli audit log:

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

Visualizza i log

Per trovare e visualizzare gli audit log, devi conoscere l'identificatore del progetto, della cartella o dell'organizzazione Cloud per cui vuoi visualizzare le informazioni di registrazione degli audit. Puoi specificare ulteriormente altri campi LogEntry indicizzati, ad esempio resource.type. Per maggiori dettagli, consulta Creare query in Esplora log.

Di seguito sono riportati i nomi degli audit log, che includono variabili per gli identificatori del progetto, della cartella o dell'organizzazione Cloud:

   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 a disposizione diverse opzioni per visualizzare le voci del log di controllo.

Console

Puoi utilizzare Esplora log nella console Cloud per recuperare le voci dei log di controllo per il tuo progetto Cloud:

  1. Nella console Cloud, vai alla pagina Logging > Esplora log.

    Vai alla pagina Esplora log

  2. Nella pagina Esplora log, seleziona un progetto Cloud esistente.

  3. Nel riquadro Query Builder, segui questi passaggi:

    • In Risorsa, seleziona il tipo di risorsa Google Cloud di cui vuoi visualizzare gli audit log.

    • In Nome log, seleziona il tipo di log di controllo da 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 di accesso negato in base ai criteri, seleziona policy.

    Se non visualizzi queste opzioni, vuol dire che non sono disponibili audit log di questo tipo nel progetto Cloud.

    Per ulteriori dettagli sulle query con il nuovo Esplora log, consulta Creare query in Esplora log.

gcloud

gcloud fornisce un'interfaccia a riga di comando per l'API Logging. Fornisci un valore PROJECT_ID, FOLDER_ID o ORGANIZATION_ID valido in ciascuno dei nomi dei log.

Per leggere le voci dei log di controllo a livello di progetto Google Cloud, esegui il seguente comando:

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

Per leggere le voci dei log di controllo a livello di cartella, esegui il seguente comando:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

Per leggere le voci dei log di controllo a livello di organizzazione, esegui il seguente comando:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
    --organization=ORGANIZATION_ID

Per ulteriori informazioni sull'utilizzo dello strumento gcloud, consulta gcloud logging read.

API

Quando crei le query, sostituisci le variabili con valori validi, sostituisci i nomi o gli identificatori dei log di controllo a livello di progetto, di cartella o di organizzazione appropriati come elencato in i nomi dei log di controllo. Ad esempio, se la query include un PROJECT_ID, l'identificatore del progetto fornito deve fare riferimento al progetto Cloud attualmente selezionato.

Per utilizzare l'API Logging per esaminare le voci dei log di controllo:

  1. Vai alla sezione Prova questa API nella documentazione del metodo entries.list.

  2. Inserisci quanto segue nella sezione Corpo della richiesta del modulo Prova questa API. Se fai clic su questo modulo precompilato, il corpo della richiesta viene compilato automaticamente, ma devi fornire un PROJECT_ID valido in ciascuno dei nomi dei log.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. Fai clic su Esegui.

Per ulteriori dettagli sulle query, consulta Lingua delle query di logging.

Per un esempio di voce del log di controllo e come trovare le informazioni più importanti al suo interno, consulta Informazioni sui log di controllo.

Esportazione degli audit log

La procedura di esportazione degli audit log è uguale a quella usata per esportare gli altri tipi di log. Per informazioni dettagliate su come esportare i log, consulta Esportazione dei log. Di seguito sono riportate alcune applicazioni legate all'esportazione degli audit log:

  • Per conservare gli audit log più a lungo o utilizzare funzionalità di ricerca più avanzate, puoi esportare delle copie degli audit log in Cloud Storage, BigQuery o Pub/Sub. Utilizza Pub/Sub per eseguire l'esportazione in altre applicazioni, altri repository e terze parti.

  • Per gestire gli audit log in tutta l'organizzazione, puoi creare sink aggregati che possono esportare i log da uno o tutti i progetti Cloud dell'organizzazione.

  • Se gli audit log di accesso ai dati abilitati causano il possibile superamento della soglia consentita per i progetti Cloud, puoi esportarli ed escludere quelli di accesso ai dati di log da Logging. Per maggiori dettagli, consulta la pagina relativa all'esclusione dei log.

Prezzi e fidelizzazione

Cloud Logging non addebita alcuna spesa per gli audit log che non possono essere disattivati, inclusi tutti gli audit log delle attività di amministrazione. Cloud Logging addebita dei costi per gli audit log di accesso ai dati che richiedi esplicitamente.

Per saperne di più sui prezzi degli audit log, consulta la pagina Prezzi della suite operativa di Google Cloud.

La durata di archiviazione associata agli audit log di Cloud Search è:

  • Log delle attività di amministrazione (o scrittura amministratore): questi log vengono conservati per 400 giorni.
  • Log di accesso ai dati (Lettura amministratore, Scrittura dati e Lettura dati): questi log vengono conservati per 30 giorni.

Per ulteriori informazioni sulla durata dell'archiviazione, consulta Periodi di conservazione dei log.

Limitazioni attuali

L'audit logging di Cloud Search presenta le seguenti limitazioni attuali:

  • La dimensione della voce del log deve essere inferiore a 512 KB. Se le dimensioni superano i 512 KB, la risposta viene eliminata dalla voce del log. Se le dimensioni non vengono ridotte a 512 KB o meno, la richiesta viene ignorata. Infine, se le dimensioni superano ancora i 512 KB, la voce di log viene eliminata.

  • I corpi delle risposte non vengono registrati per i metodi list(), get() e suggest(). Tuttavia, sono disponibili gli stati di risposta.

  • Vengono registrati solo le chiamate all'API Query da cloudsearch.google.com (se abilitata) e dalle applicazioni di ricerca dei clienti.

  • Per le chiamate search(), nella richiesta vengono registrati solo Query, RequestOptions e DataSourceRestriction. Nella risposta, vengono controllati solo l'URL e i metadati (source e objectType) per ogni SearchResult.

  • Le chiamate effettuate al backend di Cloud Search e corrispondenti all'esportazione dei dati non vengono sottoposte a controllo.