Información de registros de auditoría de Firestore en modo Datastore

En este documento, se describen los registros de auditoría que crea Firestore en modo Datastore como parte de los registros de auditoría de Cloud.

Descripción general

Los servicios de Google Cloud escriben registros de auditoría para ayudarte a responder las preguntas “¿Quién hizo qué, dónde y cuándo?”. dentro de tus recursos de Google Cloud.

Los proyectos de Google Cloud solo contienen los registros de auditoría para los recursos que están directamente dentro del proyecto de Google Cloud. Otros recursos de Google Cloud, como las carpetas, organizaciones y cuentas de facturación, contienen los registros de auditoría correspondientes a la entidad.

Consulta la descripción general de los Registros de auditoría de Cloud para conocer más al respecto. Para comprender mejor el formato del registro de auditoría, consulta Información sobre los registros de auditoría.

Registros de auditoría disponibles

Los siguientes tipos de registros de auditoría están disponibles para Firestore en modo Datastore:

  • Registros de auditoría de actividad del administrador

    Incluye operaciones de “escritura de administrador” que escriben metadatos o información de configuración.

    No puedes inhabilitar los registros de auditoría de actividad del administrador.

  • Registros de auditoría de acceso a los datos

    Incluye operaciones de “lectura de administrador” que leen metadatos o información de configuración. También incluye las operaciones de “lectura de datos” y “escritura de datos” que leen o escriben datos proporcionados por el usuario.

    Para recibir registros de auditoría de acceso a los datos, debes habilitarlos de forma explícita.

Para obtener descripciones más completas de los tipos de registros de auditoría, consulta Tipos de registros de auditoría.

Operaciones auditadas

A continuación, se resumen las operaciones de la API que corresponden a cada tipo de registro de auditoría en Firestore en modo Datastore:

Categoría de registros de auditoría Operaciones de Firestore en modo Datastore
Registros de actividad del administrador (ADMIN_WRITE)
Registros de auditoría de acceso a los datos (ADMIN_READ)
Registros de auditoría de acceso a los datos (DATA_READ)

API de Datastore v1:

App Engine Datastore:

  • Get
  • RunQuery
  • GetIndices
  • DeleteCursor
  • BeginTransaction
  • AddActions
  • Commit
  • Rollback
Registros de auditoría de acceso a los datos (DATA_WRITE)

API de Datastore v1:

App Engine Datastore:

  • Put
  • Delete
  • AllocateIds

Identifica a los emisores de las solicitudes

Las entradas de registro de auditoría incluyen información sobre la identidad que realizó la operación registrada. Para identificar un llamador de solicitudes, consulta los siguientes campos en un objeto AuditLog:

  • La identidad del emisor se encuentra en el campo AuthenticationInfo. Esto puede incluir el principalEmail del usuario. Esta información se oculta a veces.

  • El campo callerIp dentro del objeto requestMetadata de una entrada AuditLog incluye la dirección IP del emisor. Para usar desde un servicio empaquetado de App Engine, el campo callerIp se establece en 127.0.0.1 y callerSuppliedUserAgent se establece en App Engine.

Duración del procesamiento

Para ver el tiempo que llevó procesar una solicitud DATA_READ o DATA_WRITE, consulta el campo processing_duration dentro del objeto metadata de un AuditLog.

processing_duration describe el tiempo que tardó la base de datos en procesar una solicitud. Esta cantidad es menor que la latencia del usuario final. En particular, no incluye la sobrecarga de la red.

Formato del registro de auditoría

Las entradas del registro de auditoría incluyen los siguientes objetos:

  • La entrada de registro, que es un objeto de tipo LogEntry. Los campos útiles incluyen los siguientes:

    • El campo logName contiene el ID del recurso y el tipo de registro de auditoría.
    • El campo resource contiene el objetivo de la operación auditada.
    • El campo timeStamp contiene la hora de la operación auditada.
    • El campo protoPayload contiene la información auditada.
  • Los datos de registro de auditoría, que son un objeto AuditLog alojado en el campo protoPayload de la entrada de registro.

  • La información opcional de auditoría específica del servicio, que es un objeto específico del servicio. En las integraciones anteriores, este objeto se mantiene en el campo serviceData del objeto AuditLog. Las integraciones posteriores usan el campo metadata.

Para obtener información sobre otros campos en estos objetos, además de cómo interpretarlos, consulta Información sobre los registros de auditoría.

Nombre del registro

Los nombres de registro de Registros de auditoría de Cloud incluyen identificadores de recursos que indican el proyecto de Google Cloud o cualquier otra entidad de Google Cloud que posee los registros de auditoría, y si el registro contiene datos de registro de auditoría de la actividad del administrador, el acceso a los datos, la política denegada o los eventos del sistema.

A continuación, se muestran los nombres de los registros de auditoría, incluidas las variables para los identificadores de recursos:

   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

Nombre del servicio

Los registros de auditoría de Firestore en modo Datastore usan el nombre de servicio datastore.googleapis.com.

Para obtener una lista completa de los nombres de los servicios de la API de Cloud Logging y su tipo de recurso supervisado correspondiente, consulta Asigna servicios a recursos.

Tipos de recursos

Los registros de auditoría del modo Datastore usan los tipos de recursos datastore_database y datastore_index.

Para obtener una lista de todos los tipos de recursos supervisados de Cloud Logging y la información descriptiva, consulta Tipos de recursos supervisados.

Habilita el registro de auditoría

Los registros de auditoría de actividad del administrador siempre están habilitados; no puedes inhabilitarlos.

Los registros de auditoría de acceso a los datos están inhabilitados de forma predeterminada y no se escriben, a menos que se habiliten explícitamente (excepto los registros de auditoría de acceso a los datos de BigQuery, que no pueden inhabilitarse).

Si deseas obtener más información para habilitar algunos o todos tus registros de auditoría de acceso a los datos, consulta Configura registros de auditoría de acceso a los datos.

Permisos y roles

Los permisos y los roles de IAM determinan tu capacidad para acceder a los datos de registros de auditoría en los recursos de Google Cloud.

Cuando decidas qué roles y permisos específicos de Logging se aplican a tu caso de uso, considera lo siguiente:

  • El rol visor de registros (roles/logging.viewer) te otorga acceso de solo lectura a los registros de auditoría de la actividad del administrador, la política denegada y los eventos del sistema. Si solo tienes este rol, no podrás ver los registros de auditoría de acceso a los datos que se encuentren en el bucket _Default.

  • El visor de registros privados ((roles/logging.privateLogViewer) incluye los permisos que contiene roles/logging.viewer, además de la capacidad de leer registros de auditoría de acceso a los datos del bucket _Default.

    Ten en cuenta que si estos registros privados se almacenan en buckets definidos por el usuario, cualquier usuario que tenga permisos para leer registros en esos buckets puede leer los registros privados. Para obtener más información sobre los buckets de registros, consulta Descripción general del enrutamiento y el almacenamiento.

Para obtener más información sobre los permisos y los roles de IAM que se aplican a los datos de registros de auditoría, consulta Control de acceso con IAM.

Visualizar los registros

Si quieres consultar los registros de auditoría, debes conocer el nombre del registro de auditoría, que incluye el identificador de recursos del proyecto, la carpeta, la cuenta de facturación o la organización de Google Cloud cuya información del registro de auditoría deseas consultar. En tu consulta, puedes especificar otros campos LogEntry indexados, como resource.type. Para obtener más información sobre las consultas, visita Compila consultas en el Explorador de registros.

Puedes ver los registros de auditoría en Cloud Logging mediante la consola de Google Cloud, Google Cloud CLI o la API de Logging.

Consola

En la consola de Google Cloud, puedes usar el Explorador de registros para recuperar las entradas de registro de auditoría del proyecto, la carpeta o la organización de Google Cloud:

  1. En la consola de Google Cloud, ve a la página Logging> Explorador de registros.

    Ir al Explorador de registros

  2. Selecciona un proyecto, una carpeta o una organización de Google Cloud.

  3. En el panel Compilador de consultas, sigue estos pasos:

    • En Tipo de recurso, selecciona el recurso de Google Cloud cuyos registros de auditoría deseas ver.

    • En Nombre del registro, selecciona el tipo de registro de auditoría que deseas ver:

      • En el caso de los registros de auditoría de la actividad del administrador, selecciona activity.
      • En los registros de auditoría de acceso a los datos, selecciona data_access.
      • En el caso de los registros de auditoría de eventos del sistema, selecciona system_event.
      • En el caso de los registros de auditoría de política denegada, selecciona policy.

    Si no ves estas opciones, significa que no hay registros de auditoría de ese tipo disponibles en el proyecto, la carpeta o la organización de Google Cloud.

    Si tienes problemas cuando intentas ver registros en el Explorador de registros, consulta la información sobre solución de problemas.

    Para obtener más información sobre las consultas con el Explorador de registros, visita Compila consultas en el Explorador de registros.

gcloud

Google Cloud CLI proporciona una interfaz de línea de comandos para la API de Logging. Proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si tu consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud seleccionado actualmente.

Para leer las entradas de registro de auditoría a nivel de proyecto de Google Cloud, ejecuta el siguiente comando:

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

Para leer las entradas del registro de auditoría a nivel de las carpetas, ejecuta el siguiente comando:

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

Para leer las entradas del registro de auditoría a nivel de organización, ejecuta el siguiente comando:

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

Para leer las entradas del registro de auditoría a nivel de la cuenta de Facturación de Cloud, ejecuta el siguiente comando:

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Agrega la marca --freshness a tu comando para leer los registros que tienen más de 1 día de antigüedad.

Para obtener más información sobre el uso de la CLI de gcloud, consulta gcloud logging read.

API

Cuando compiles tus consultas, proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si tu consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud seleccionado actualmente.

Por ejemplo, si quieres usar la API de Logging para ver las entradas del registro de auditoría a nivel de proyecto, haz lo siguiente:

  1. Ve a la sección Probar esta API en la documentación del método entries.list.

  2. Ingresa lo siguiente en el cuerpo de la solicitud del formulario Prueba esta API. Si haces clic en este formulario prepropagado, se completará el cuerpo de la solicitud de manera automática, pero deberás proporcionar un PROJECT_ID válido para cada nombre de registro.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Haz clic en Ejecutar.

Enruta registros de auditoría

Puedes enrutar registros de auditoría a destinos compatibles de la misma manera en la que enrutas otros tipos de registros. Estos son algunos de los motivos por los que es posible que desees enrutar tus registros de auditoría:

  • Para mantener los registros de auditoría por un período más extenso o usar capacidades de búsqueda más potentes, puedes enrutar copias de tus registros de auditoría a Cloud Storage, BigQuery o Pub/Sub. Puedes enrutar a otras aplicaciones, otros repositorios y a terceros mediante Pub/Sub.

  • Para administrar los registros de auditoría en toda la organización, puedes crear receptores agregados que puedan enrutar registros desde cualquier proyecto de Google Cloud de la organización o desde todos los proyectos.

  • Si tus registros de auditoría de acceso a los datos habilitados sobrepasan las asignaciones de registros de los proyectos de Google Cloud, puedes crear receptores que excluyan los registros de auditoría de acceso a los datos de Logging.

Para obtener instrucciones sobre el enrutamiento de registros, consulta Enruta registros a destinos compatibles.

Precios

Para obtener información sobre los precios de Cloud Logging, consulta Precios de Google Cloud's operations suite: Cloud Logging.