Audit logging Datastore

Questo documento descrive la registrazione degli audit per Datastore. I servizi Google Cloud generano audit log che registrano le attività amministrative e di accesso all'interno delle risorse Google Cloud. Per ulteriori informazioni sugli audit log di Cloud, consulta quanto segue:

Note

Quando configuri il logging di controllo, il nome del servizio datastore.googleapis.com configura i log sia per le chiamate API datastore.googleapis.com che per quelle firestore.googleapis.com.

Per visualizzare il tempo impiegato per elaborare una richiesta DATA_READ o DATA_WRITE, consulta il campo processing_duration all'interno dell'oggetto metadata di un AuditLog. processing_duration descrive il tempo impiegato dal database per elaborare effettivamente una richiesta. Questo valore è inferiore alla latenza dell'utente finale. In particolare, non include il sovraccarico della rete.

Nome servizio

Gli audit log di Datastore utilizzano il nome del servizio datastore.googleapis.com. Filtra per questo servizio:

    protoPayload.serviceName="datastore.googleapis.com"
  

Metodi per tipo di autorizzazione

Ogni autorizzazione IAM ha una proprietà type, il cui valore è un enum che può essere uno dei quattro valori: ADMIN_READ, ADMIN_WRITE, DATA_READ o DATA_WRITE. Quando chiami un metodo, Datastore genera un log di controllo la cui categoria dipende dalla proprietà type dell'autorizzazione richiesta per eseguire il metodo. I metodi che richiedono un'autorizzazione IAM con il valore della proprietà type corrispondente a DATA_READ, DATA_WRITE o ADMIN_READ generano log di controllo Accesso ai dati. I metodi che richiedono un'autorizzazione IAM con il valore della proprietà type ADMIN_WRITE generano log di controllo per le attività amministrative.

Tipo di autorizzazione Metodi
ADMIN_READ google.datastore.admin.v1.DatastoreAdmin.GetIndex
google.datastore.admin.v1.DatastoreAdmin.ListIndexes
google.longrunning.Operations.GetOperation
google.longrunning.Operations.ListOperations
ADMIN_WRITE google.datastore.admin.v1.DatastoreAdmin.CreateIndex
google.datastore.admin.v1.DatastoreAdmin.DeleteIndex
google.datastore.admin.v1.DatastoreAdmin.ExportEntities
google.datastore.admin.v1.DatastoreAdmin.ImportEntities
google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities
google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities
google.longrunning.Operations.CancelOperation
google.longrunning.Operations.DeleteOperation
DATA_READ google.datastore.v1.Datastore.BeginTransaction
google.datastore.v1.Datastore.Lookup
google.datastore.v1.Datastore.Rollback
google.datastore.v1.Datastore.RunAggregationQuery
google.datastore.v1.Datastore.RunQuery
google.datastore.v1beta3.Datastore.BeginTransaction
google.datastore.v1beta3.Datastore.Lookup
google.datastore.v1beta3.Datastore.Rollback
google.datastore.v1beta3.Datastore.RunAggregationQuery
google.datastore.v1beta3.Datastore.RunQuery
DATA_WRITE google.datastore.v1.Datastore.AllocateIds
google.datastore.v1.Datastore.Commit
google.datastore.v1.Datastore.ReserveIds
google.datastore.v1beta3.Datastore.AllocateIds
google.datastore.v1beta3.Datastore.Commit
google.datastore.v1beta3.Datastore.ReserveIds

Audit log dell'interfaccia API

Per informazioni su come e quali autorizzazioni vengono valutate per ogni metodo, consulta la documentazione di Identity and Access Management per Datastore.

google.datastore.admin.v1.DatastoreAdmin

I seguenti log di controllo sono associati ai metodi appartenenti a google.datastore.admin.v1.DatastoreAdmin.

CreateIndex

DeleteIndex

ExportEntities

GetIndex

  • Metodo: google.datastore.admin.v1.DatastoreAdmin.GetIndex
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.indexes.get - ADMIN_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.admin.v1.DatastoreAdmin.GetIndex"

ImportEntities

ListIndexes

google.datastore.admin.v1beta1.DatastoreAdmin

I seguenti log di controllo sono associati ai metodi appartenenti a google.datastore.admin.v1beta1.DatastoreAdmin.

ExportEntities

ImportEntities

google.datastore.v1.Datastore

I seguenti log di controllo sono associati ai metodi appartenenti a google.datastore.v1.Datastore.

AllocateIds

  • Metodo: google.datastore.v1.Datastore.AllocateIds
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.allocateIds - DATA_WRITE
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.AllocateIds"

BeginTransaction

  • Metodo: google.datastore.v1.Datastore.BeginTransaction
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.BeginTransaction"

Commit

  • Metodo: google.datastore.v1.Datastore.Commit
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
    • datastore.entities.create - DATA_WRITE
    • datastore.entities.delete - DATA_WRITE
    • datastore.entities.update - DATA_WRITE
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.Commit"

Lookup

  • Metodo: google.datastore.v1.Datastore.Lookup
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.get - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.Lookup"

ReserveIds

  • Metodo: google.datastore.v1.Datastore.ReserveIds
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.allocateIds - DATA_WRITE
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.ReserveIds"

Rollback

  • Metodo: google.datastore.v1.Datastore.Rollback
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.Rollback"

RunAggregationQuery

  • Metodo: google.datastore.v1.Datastore.RunAggregationQuery
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.RunAggregationQuery"

RunQuery

  • Metodo: google.datastore.v1.Datastore.RunQuery
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1.Datastore.RunQuery"

google.datastore.v1beta3.Datastore

I seguenti log di controllo sono associati ai metodi appartenenti a google.datastore.v1beta3.Datastore.

AllocateIds

  • Metodo: google.datastore.v1beta3.Datastore.AllocateIds
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
    • datastore.entities.allocateIds - DATA_WRITE
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.AllocateIds"

BeginTransaction

  • Metodo: google.datastore.v1beta3.Datastore.BeginTransaction
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.BeginTransaction"

Commit

  • Metodo: google.datastore.v1beta3.Datastore.Commit
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.create - DATA_WRITE
    • datastore.entities.delete - DATA_WRITE
    • datastore.entities.update - DATA_WRITE
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.Commit"

Lookup

  • Metodo: google.datastore.v1beta3.Datastore.Lookup
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.get - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.Lookup"

ReserveIds

  • Metodo: google.datastore.v1beta3.Datastore.ReserveIds
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
    • datastore.entities.allocateIds - DATA_WRITE
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.ReserveIds"

Rollback

  • Metodo: google.datastore.v1beta3.Datastore.Rollback
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.databases.get - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.Rollback"

RunAggregationQuery

  • Metodo: google.datastore.v1beta3.Datastore.RunAggregationQuery
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.RunAggregationQuery"

RunQuery

  • Metodo: google.datastore.v1beta3.Datastore.RunQuery
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.entities.get - DATA_READ
    • datastore.entities.list - DATA_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.datastore.v1beta3.Datastore.RunQuery"

google.longrunning.Operations

I seguenti log di controllo sono associati ai metodi appartenenti a google.longrunning.Operations.

CancelOperation

DeleteOperation

GetOperation

  • Metodo: google.longrunning.Operations.GetOperation
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.operations.get - ADMIN_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.longrunning.Operations.GetOperation"

ListOperations

  • Metodo: google.longrunning.Operations.ListOperations
  • Tipo di log di controllo: Accesso ai dati
  • Autorizzazioni:
    • datastore.operations.list - ADMIN_READ
  • Il metodo è un'operazione a lunga esecuzione o in streaming: No.
  • Filtra per questo metodo: protoPayload.methodName="google.longrunning.Operations.ListOperations"

Metodi che non generano log di controllo

Un metodo potrebbe non generare audit log per uno o più dei seguenti motivi:

  • Si tratta di un metodo ad alto volume che comporta costi significativi per la generazione e l'archiviazione dei log.
  • Ha un valore di controllo basso.
  • Un altro log di controllo o della piattaforma fornisce già la copertura del metodo.

I seguenti metodi non generano log di controllo:

  • google.longrunning.Operations.WaitOperation