Audit logging

In questa pagina vengono descritti gli audit log creati da Cloud Search nell'ambito di Cloud Audit Logs.

Panoramica

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

Per una panoramica generale di Cloud Audit Logs, consulta Cloud Audit Logs. Per una comprensione più approfondita di Cloud Audit Logs, consulta Informazioni sugli audit log.

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

  • Audit log delle attività di amministrazione contenenti le voci corrispondenti ai metodi che eseguono operazioni di scrittura amministrative. I metodi corrispondenti alle operazioni di scrittura dell'attività di amministrazione sono descritti nella prossima sezione Operazioni controllate.
  • Audit log degli accessi ai dati contenenti le voci corrispondenti ai metodi che eseguono operazioni di lettura amministratore, scrittura dati e lettura dati. I metodi corrispondenti alle operazioni Accesso ai dati:lettura amministratore, Accesso dati:scrittura dati, Accesso dati:lettura dati sono trattati in una prossima sezione Operazioni controllate.
  • Audit log degli eventi di sistema
  • Audit log dei criteri negati

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

Solo se abilitato 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 guidate dall'utente che creano, modificano o leggono i dati delle risorse forniti dall'utente.

Cloud Search non scrive gli audit log degli eventi di sistema.

Cloud Search non scrive gli audit log relativi ai criteri negati.

Operazioni con audit

Di seguito sono riepilogate le operazioni API corrispondenti a ciascun tipo di audit log 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.Identity.deleteService.
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 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 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.debugs.








Formato degli audit log

Le voci di audit log, che possono essere visualizzate in Cloud Logging utilizzando Esplora log, l'API Cloud Logging o lo strumento a riga di comando gcloud, 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 audit log.
  • resource contiene il target dell'operazione controllata.
  • Il campo timeStamp contiene la durata dell'operazione sottoposta ad audit.
  • protoPayload contiene le informazioni controllate.
  • I dati di audit logging, ovvero un oggetto AuditLog incluso nel campo protoPayload della voce di log.

Informazioni facoltative di controllo specifiche del servizio, ovvero 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 informazioni sugli altri campi di questi oggetti e su come interpretarli, consulta Informazioni sugli audit log.

Nome log

I nomi delle risorse di Cloud Audit Logs indicano il progetto Cloud o un'altra entità Google Cloud proprietaria degli audit log e indicano se il log contiene dati di audit logging relativi ad attività di amministrazione, accesso ai dati, criteri negati o eventi di sistema. Ad esempio, quanto riportato di seguito mostra i nomi dei log per gli audit log dell'attività di amministrazione a livello di progetto e gli audit log degli accessi 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

Gli audit log di Cloud Search utilizzano il tipo di risorsa audited_resource per tutti gli audit log.

Per un elenco degli altri tipi di risorse, vedi Tipi di risorse monitorate.

Abilitazione degli audit log

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

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

  2. Recupera l'ID progetto per Google Cloud in cui vuoi archiviare i log. Per informazioni su come ottenere un ID progetto, consulta Identificazione dei progetti.

  3. Per abilitare l'audit logging per un'API specifica, devi determinarne la categoria di log da abilitare. Per le API e le categorie corrispondenti, consulta la sezione Operazioni controllate in precedenza in questo documento.

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

    1. Richiedi un token di accesso OAuth 2.0 dal server di autorizzazione di Google. Per informazioni su come ottenere il token, consulta il passaggio 2 di Utilizzare OAuth 2.0 per accedere alle API di Google. Utilizza uno dei seguenti ambiti OAuth quando ottieni il 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 e sono le categorie che hai scelto di attivare nel passaggio 3. I valori validi sono logAdminReadActions, logDataWriteActions e logDataReadActions. Le azioni di scrittura dell'amministratore sono attive per impostazione predefinita e non possono essere disabilitate. Se vuoi eseguire l'audit logging per i metodi di query, devi abilitare la categoria Lettura dati.

    Dopo l'aggiornamento di AuditLoggingSettings, ulteriori richieste all'API Cloud Search generano un audit log nell'ID progetto specificato in AuditLoggingSettings.

  5. L'audit logging per i metodi di query richiede l'abilitazione della categoria di lettura dei dati (eseguita nel passaggio 4). Per abilitare l'audit logging per i metodi di query (query.sources.list, query.suggest e query.search), segui questi passaggi aggiuntivi:

    1. Recupera il nome per ogni applicazione di ricerca per cui vuoi abilitare l'audit logging. Il nome deve essere nel formato searchapplications/<search_application_id>.

    2. Usa il nome per chiamare 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 attivata (passaggio 4). Inoltre, esegui il passaggio 5b con name di searchapplications/default .

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

protoPayload.serviceName="cloudsearch.googleapis.com"

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

Autorizzazioni degli audit log

Le autorizzazioni e i ruoli di Identity and Access Management determinano quali audit log puoi visualizzare o esportare. I log si trovano nei 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 gli audit log dell'attività di amministrazione, devi disporre di uno dei seguenti ruoli IAM nel progetto che contiene gli audit log:

Per visualizzare gli audit log di 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, modifica i ruoli del progetto Cloud nei ruoli dell'organizzazione 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 sugli audit log. Puoi specificare ulteriormente altri campi indicizzati LogEntry, come resource.type; per informazioni dettagliate, consulta Creare query in Esplora log.

Di seguito sono riportati i nomi degli audit log; 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

Sono disponibili diverse opzioni per visualizzare le voci del log di controllo.

Console

Puoi utilizzare Esplora log nella console Cloud per recuperare le voci degli audit log 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 che vuoi visualizzare:

      • Per i log di controllo delle attività di amministrazione, seleziona attività.
      • Per gli audit log di accesso ai dati, seleziona data_access.
      • Per gli audit log degli eventi di sistema, seleziona system_event.
      • Per i log di controllo relativi ai criteri negati, seleziona policy.

    Se non vedi queste opzioni, significa che non sono disponibili audit log di quel tipo nel progetto Cloud.

    Per maggiori dettagli sulle query utilizzando il nuovo Esplora log, vedi Creare query in Esplora log.

gcloud

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

Per leggere le voci degli audit log a livello di progetto Google Cloud, esegui questo comando:

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

Per leggere le voci degli audit log a livello di cartella, esegui questo comando:

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

Per leggere le voci degli audit log a livello di organizzazione, esegui questo 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 e sostituisci gli identificatori o gli identificatori degli audit log a livello di progetto, di cartella o di organizzazione appropriati come indicato nei nomi degli audit log. Ad esempio, se la query include un PROJECT_ID, l'identificatore del progetto che fornisci deve fare riferimento al progetto Cloud attualmente selezionato.

Per utilizzare l'API Logging per esaminare le voci degli audit log:

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

  2. Inserisci quanto segue nella parte 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 ogni nome di log.

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

Per maggiori dettagli sulle query, consulta la pagina relativa al linguaggio delle query di Logging.

Per una voce di audit log di esempio e per scoprire come trovare le informazioni più importanti al suo interno, consulta Informazioni sugli audit log.

Esportazione degli audit log

Puoi esportare i log di controllo nello stesso modo in cui esportavi gli altri tipi di log. Per maggiori dettagli su come esportare i log, vedi Esportazione dei log. Di seguito sono riportate alcune applicazioni legate all'esportazione degli audit log:

  • Per conservare gli audit log per un periodo di tempo più lungo o per utilizzare funzionalità di ricerca più avanzate, puoi esportare delle copie degli audit log in Cloud Storage, BigQuery o Pub/Sub. Con Pub/Sub puoi esportare in altre applicazioni, altri repository e terze parti.

  • Per gestire gli audit log in un'intera organizzazione, puoi creare sink aggregati in grado di esportare i log da uno o tutti i progetti Cloud nell'organizzazione.

  • Se gli audit log di accesso ai dati abilitati eseguono il push dei progetti Cloud sulle allocazioni dei log, puoi esportare ed escludere gli audit log di accesso ai dati da Logging. Per i dettagli, consulta Esclusione dei log.

Prezzi e fidelizzazione

Cloud Logging non addebita alcun costo per gli audit log che non possono essere disabilitati, inclusi tutti gli audit log dell'attività di amministrazione. Cloud Logging addebita un costo per gli audit log di accesso ai dati richiesti esplicitamente.

Per ulteriori informazioni sui prezzi degli audit log, consulta la pagina relativa ai 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 degli accessi 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

Al momento, l'audit logging di Cloud Search presenta le seguenti limitazioni:

  • Le dimensioni della voce di log devono essere inferiori a 512 kB. Se la dimensione supera i 512 kB, la risposta viene eliminata dalla voce di log. Se le dimensioni non vengono ridotte a 512 kB o inferiore, la richiesta viene ignorata. Infine, se la dimensione supera ancora i 512 kB, la voce di log viene eliminata.

  • Il corpo delle risposte non viene registrato per i metodi list(), get() e suggest(). Tuttavia, sono disponibili gli stati delle risposte.

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

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

  • Le chiamate inviate al backend di Cloud Search e corrispondenti all'esportazione dei dati non vengono controllate.