Registro de auditoría para Firebase Management

Esta página describe los registros de auditoría creados por Firebase como parte de Cloud Audit Logs .

Descripción general

Los servicios de Firebase escriben registros de auditoría para ayudarlo a responder las preguntas: "¿Quién hizo qué, dónde y cuándo?". Estos son registros de auditoría de la nube, que se proporcionan como parte del proyecto de Google Cloud conectado a su proyecto de Firebase .

Cada uno de sus proyectos de Firebase contiene solo los registros de auditoría de los recursos que están directamente dentro del proyecto.

Para obtener una descripción general de los registros de auditoría de la nube, consulte Descripción general de los registros de auditoría de la nube . Para obtener una comprensión más profunda del formato de registro de auditoría, consulte Comprender los registros de auditoría .

Registros de auditoría disponibles

Los siguientes tipos de registros de auditoría están disponibles para Firebase Management:

  • Registros de auditoría de actividad administrativa

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

    No puede deshabilitar los registros de auditoría de actividad administrativa.

  • Registros de auditoría de acceso a datos

    Incluye operaciones de "lectura de administrador" que leen metadatos o información de configuración. También incluye 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 datos, debe habilitarlos explícitamente.

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

Operaciones auditadas

A continuación se resume qué operaciones de API corresponden a cada tipo de registro de auditoría en Firebase Management:

Categoría de registros de auditoría Operaciones de gestión de Firebase
Operaciones del proyecto
Actividad administrativa AgregarFirebase
ActualizarFirebaseProject
Finalizar ubicación predeterminada
Acceso a datos (ADMIN_READ) ObtenerProyectoFirebase
ListaUbicacionesDisponibles
ObtenerAdminSdkConfig
BuscarFirebaseApps
Operaciones de la aplicación iOS
Actividad administrativa CrearIosApp
ActualizarIosApp
Acceso a datos (ADMIN_READ) ObtenerIosApp
ListaIosApps
ObtenerIosAppConfig
Operaciones de aplicaciones de Android
Actividad administrativa Crear aplicación Android
ActualizarAndroidApp
CrearShaCertificado
EliminarShaCertificado
Acceso a datos (ADMIN_READ) ObtenerAndroidApp
Lista de aplicaciones Android
Obtener AndroidAppConfig
ListShaCertificados
Operaciones de aplicaciones web
Actividad administrativa Crear aplicación web
Actualizar WebApp
Acceso a datos (ADMIN_READ) ObtenerWebApp
Lista de aplicaciones web
Obtener configuración de aplicación web

Formato de registro de auditoría

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

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

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

  • Información de auditoría específica del servicio opcional, que es un objeto específico del servicio. Para integraciones más antiguas, este objeto se mantiene en el campo serviceData del objeto AuditLog ; Las integraciones más nuevas utilizan el campo metadata .

Para conocer otros campos de estos objetos y cómo interpretarlos, consulte Comprender los registros de auditoría .

Nombre de registro

Los nombres de los recursos de Cloud Audit Logs indican el proyecto de Firebase u otra entidad de Google Cloud propietaria de los registros de auditoría, y si el registro contiene datos de registro de auditoría de actividad administrativa, acceso a datos, política denegada o eventos del sistema. Por ejemplo, a continuación se muestran los nombres de los registros de auditoría de actividad administrativa a nivel de proyecto y los registros de auditoría de acceso a datos de una organización. Las variables indican identificadores de organización y proyecto de Firebase.

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

Nombre del Servicio

Los registros de auditoría de Firebase Management utilizan el nombre de servicio firebase.googleapis.com .

Para obtener una lista completa de todos los nombres de servicios de la API de Cloud Logging y su correspondiente tipo de recurso monitoreado, consulte Asignar servicios a recursos .

Tipos de recursos

Los registros de auditoría de Firebase Management utilizan el tipo de recurso audited_resource para todos los registros de auditoría.

Para obtener una lista de todos los tipos de recursos monitoreados de Cloud Logging e información descriptiva, consulte Tipos de recursos monitoreados .

Habilitar el registro de auditoría

Los registros de auditoría de actividad administrativa siempre están habilitados; no puedes desactivarlos.

Los registros de auditoría de acceso a datos están deshabilitados de forma predeterminada y no se escriben a menos que se habiliten explícitamente (la excepción son los registros de auditoría de acceso a datos para BigQuery, que no se pueden deshabilitar).

Para obtener instrucciones sobre cómo habilitar algunos o todos los registros de auditoría de acceso a datos, consulte Configurar registros de acceso a datos .

Permisos y roles

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

Al decidir qué permisos y roles específicos de Logging se aplican a su caso de uso, considere lo siguiente:

  • La función Visor de registros ( roles/logging.viewer ) le brinda acceso de solo lectura a los registros de auditoría de actividad administrativa, política denegada y eventos del sistema. Si solo tiene esta función, no podrá ver los registros de auditoría de acceso a datos que se encuentran en el depósito _Default .

  • La función Visor de registros privados (roles/logging.privateLogViewer ) incluye los permisos contenidos en roles/logging.viewer , además de la capacidad de leer registros de auditoría de acceso a datos en el depósito _Default .

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

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

Ver los registros

Para buscar y ver registros de auditoría, necesita conocer el identificador del proyecto, carpeta u organización de Firebase para el cual desea ver la información del registro de auditoría. Puede especificar aún más otros campos LogEntry indexados, como resource.type ; para obtener más información, consulte Buscar entradas de registro rápidamente .

Los siguientes son los nombres de los registros de auditoría; incluyen variables para los identificadores del proyecto, carpeta u organización de Firebase:

   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

Puedes ver los registros de auditoría en Cloud Logging mediante GCP Console, la herramienta de línea de comandos gcloud o la API de Logging.

Consola

Puedes usar el Explorador de registros en GCP Console para recuperar las entradas del registro de auditoría de tu proyecto, carpeta u organización de Firebase:

  1. En GCP Console, vaya a la página Registro > Explorador de registros .

    Vaya a la página del Explorador de registros

  2. En la página Explorador de registros , seleccione un proyecto, carpeta u organización de Firebase existente.

  3. En el panel Generador de consultas , haga lo siguiente:

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

    • En Nombre de registro , seleccione el tipo de registro de auditoría que desea ver:

      • Para los registros de auditoría de actividad del administrador, seleccione actividad .
      • Para los registros de auditoría de acceso a datos, seleccione acceso_datos .
      • Para los registros de auditoría de eventos del sistema, seleccione system_event .
      • Para los registros de auditoría de Política denegada, seleccione política .

    Si no ve estas opciones, entonces no hay ningún registro de auditoría de ese tipo disponible en el proyecto, carpeta u organización de Firebase.

    Para obtener más detalles sobre las consultas mediante el Explorador de registros, consulte Crear consultas de registros .

nube de gcloud

La herramienta de línea de comandos gcloud proporciona una interfaz de línea de comandos para la API de Cloud Logging. Proporcione un PROJECT_ID , FOLDER_ID u ORGANIZATION_ID válido en cada uno de los nombres de registro.

Para leer las entradas del registro de auditoría a nivel de proyecto de Firebase, ejecute 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 carpeta, ejecute 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, ejecute el siguiente comando:

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

Para obtener más información sobre el uso de la herramienta gcloud , consulta Leer entradas de registro .

API

Al crear sus consultas, reemplace las variables con valores válidos, sustituya el nombre o los identificadores de registro de auditoría de nivel de proyecto, de carpeta o de organización adecuados tal como se enumeran en los nombres de los registros de auditoría. Por ejemplo, si su consulta incluye un PROJECT_ID , entonces el identificador del proyecto que proporcione debe hacer referencia al proyecto de Firebase seleccionado actualmente.

Para utilizar la API de registro para ver las entradas del registro de auditoría, haga lo siguiente:

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

  2. Coloque lo siguiente en la parte del cuerpo de la solicitud del formulario Pruebe esta API . Al hacer clic en este formulario precargado , se completa automáticamente el cuerpo de la solicitud, pero debe proporcionar un PROJECT_ID válido en cada uno de los nombres de registro.

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

Para obtener más detalles sobre las consultas, consulte Registro del lenguaje de consulta .

Para ver un ejemplo de una entrada de registro de auditoría y cómo encontrar la información más importante en ella, consulte Ejemplo de entrada de registro de auditoría .

Enrutar registros de auditoría

Puede enrutar registros de auditoría a destinos admitidos de la misma manera que puede enrutar otros tipos de registros. A continuación se presentan algunas razones por las que quizás desee enrutar sus registros de auditoría:

  • Para conservar los registros de auditoría durante un período de tiempo más prolongado o utilizar capacidades de búsqueda más potentes, puede enviar copias de sus registros de auditoría a Google Cloud Storage, BigQuery o Google Cloud Pub/Sub. Con Cloud Pub/Sub, puede enrutar a otras aplicaciones, otros repositorios y a terceros.

  • Para administrar sus registros de auditoría en toda una organización, puede crear receptores agregados que puedan enrutar registros de cualquiera o todos los proyectos de Firebase de la organización.

  • Si sus registros de auditoría de acceso a datos habilitados están empujando sus proyectos de Firebase sobre sus asignaciones de registros, puede crear receptores que excluyan los registros de auditoría de acceso a datos del registro.

Para obtener instrucciones sobre el enrutamiento de registros, consulte Configurar receptores .

Precios

Los registros de auditoría de actividad administrativa y los registros de auditoría de eventos del sistema no tienen costo.

Los registros de auditoría de acceso a datos y los registros de auditoría de política denegada tienen un costo.

Para obtener más información sobre los precios de Cloud Logging, consulte los precios del conjunto de operaciones de Google Cloud: Cloud Logging .