Exportaciones totales

Puedes crear un receptor de exportación agregada que pueda exportar entradas de registro de todos los proyectos, carpetas y cuentas de facturación de una organización de Google Cloud. Por ejemplo, puedes agregar y exportar las entradas de registros de auditoría de los proyectos de una organización a una ubicación central.

Concepto

Sin la función de exportación agregada, un receptor de exportación se limita a exportar entradas de registro del recurso exacto en el que se creó el receptor: un proyecto de Google Cloud, una organización, una carpeta o una cuenta de facturación.

Para usar la función de exportación agregada, crea un receptor en una organización o carpeta de Google Cloud y establece el parámetro includeChildren del receptor en True. Ese receptor puede exportar entradas de registro de la organización o carpeta, así como desde cualquier carpeta, cuenta de facturación o proyecto (de forma recurrente). Puedes usar la consulta del receptor para especificar entradas de registro de proyectos, tipos de recursos o registros con nombre.

A fin de obtener información sobre los receptores de exportación y cómo crearlos, ve a las páginas Exporta registros en la API y usa la herramienta de línea de comandos para crear receptores.

Crea el destino de exportación

El destino de exportación de los receptores de registros debe crearse antes que el receptor mediante la herramienta de línea de comandos de gcloud, Cloud Console o las API de Google Cloud.

A continuación, se detallan los destinos de exportación compatibles para los receptores de exportación:

Si la cuenta de servicio del receptor de registros tiene permisos para escribir en el destino de exportación, este se puede crear en cualquier proyecto de Google Cloud y en cualquier organización.

Crea un receptor de exportación agregada

Para crear un receptor de exportación agregado en carpetas de Google Cloud, cuentas de facturación u organizaciones, puedes usar la API de Cloud Logging o la gcloud herramienta de línea de comandos.

API de Logging

Para crear un receptor de registros, usa organizations.sinks.create, folders.sinks.create o billingAccounts.sinks.create en la API de Logging. Prepara los argumentos del método de la siguiente manera:

  1. Establece el parámetro parent para que sea la organización, la carpeta o la cuenta de facturación de Google Cloud en la que deseas crear el receptor. El superior debe ser uno de los siguientes:

    • organizations/[ORGANIZATION_ID]
    • folders/[FOLDER_ID]
    • billingAccounts/[BILLING_ACCOUNT_ID]
  2. Haz lo siguiente en el objeto LogSink en el cuerpo de la solicitud del método:

    • Establece includeChildren en True.

    • Establece la propiedad query, ten en cuenta que las entradas de registros de todos tus proyectos se compararán con la consulta.

      Para ver algunos ejemplos de consultas útiles, ve a Usa filtros con exportaciones agregadas.

    • Establece los campos LogSink restantes como lo harías para cualquier otro receptor. A fin de obtener más información, consulta Crea receptores.

  3. Llama a organizations.sinks.create o folders.sinks.create para crear el receptor.

  4. Recupera el nombre de la cuenta de servicio usado para crear el receptor de la respuesta de la API.

  5. Otórgale a la cuenta de servicio permiso para escribir a tu destino de exportación.

    Si no tienes permiso para hacer ese cambio al destino de exportación, envía el nombre de la cuenta de servicio a alguien que pueda hacer ese cambio por ti.

    A fin de obtener más información sobre cómo otorgar permisos de cuentas de servicio para recursos, consulta Otorga funciones a cuentas de servicio.

gcloud

Para crear un receptor de registros, usa el comando logging sinks create.

  1. Proporciona el nombre del receptor, el destino de exportación, la consulta de registros y el ID de la organización, carpeta o cuenta de facturación.

    Por ejemplo, configura una exportación agregada a nivel de carpeta de la siguiente manera:

        gcloud logging sinks create [SINK_NAME] \
        storage.googleapis.com/[BUCKET_NAME] --include-children \
        --folder=[FOLDER_ID] --log-filter="logName:activity"

    Notas:

    • Para crear un receptor a nivel de la organización, reemplaza --folder=[FOLDER_ID] por --organization=[ORGANIZATION_ID]. Para una cuenta de facturación, reemplázalo por --billing-account=[BILLING_ACCOUNT_ID].

    • Para que el receptor incluya todos los proyectos dentro de la organización, se debe establecer la marca --include-children, incluso cuando la marca --organizationse pasa a create. Cuando se establece como false (la opción predeterminada), un receptor solo exporta los registros del recurso de host.

    • Para que el superior cree el receptor, necesitas la función de Cloud IAM de escritor de configuración de registros. Para obtener más información sobre cómo registrar funciones de Cloud IAM, consulta la Guía de control de acceso.

    • Para ver algunos ejemplos de consultas útiles, ve a Usa filtros con exportaciones agregadas.

  2. Recupera el nombre de la cuenta de servicio usado para crear el receptor del resultado del comando.

  3. Otórgale a la cuenta de servicio permiso para escribir a tu destino de exportación.

    Si no tienes permiso para hacer ese cambio al destino de exportación, envía el nombre de la cuenta de servicio a alguien que pueda hacer ese cambio por ti.

    A fin de obtener más información sobre cómo otorgar permisos de cuentas de servicio para recursos, consulta Otorga funciones a cuentas de servicio.

Usa consultas con exportaciones agregadas

Al igual que cualquier receptor de exportación, tu receptor de exportación agregada contiene una consulta que selecciona entradas de registro individuales. Para obtener más detalles sobre las consultas, ve a Consultas de registro avanzadas.

A continuación, presentamos algunos ejemplos de comparaciones de consultas que resultan útiles cuando se usa la función de exportación agregada. Algunos ejemplos usan la siguiente notación:

  • : es el operador de la substring. No sustituyas el operador =.
  • ... representa las comparaciones de consultas adicionales.
  • Las variables se indican con corchetes ([]). Reemplázalas por valores válidos.

Elige registros de auditoría

Para exportar registros de auditoría, elige una de las siguientes comparaciones de muestra:

    log_name:"/logs/cloudaudit.googleapis.com"
log_name:"/logs/cloudaudit.googleapis.com%2Factivity" AND...
log_name:"/logs/cloudaudit.googleapis.com%2Fdata_access" AND...
log_name:"/logs/cloudaudit.googleapis.com%2Fsystem_event" AND...

Para obtener información sobre los registros de auditoría, consulta Cloud Audit Logging.

Elige la fuente de exportación

Para exportar registros de organizaciones, proyectos o carpetas específicas, usa una de las siguientes comparaciones de ejemplo:

logName:"projects/[PROJECT_ID]/logs/" AND ... 
logName:("projects/[PROJECT_A_ID]/logs/" OR "projects/[PROJECT_B_ID]/logs/") AND ... 
logName:"folders/[FOLDER_ID]/logs/" AND ... 
logName:"organizations/[ORGANIZATION_ID]/logs/" AND ... 

Elige recursos

Para exportar registros de organizaciones, proyectos o carpetas específicas, usa múltiples comparaciones con el fin de especificar el recurso de manera exacta:

    logName:"projects/[PROJECT_ID]/logs" AND
    resource.type=[RESOURCE_TYPE] AND
    resource.labels.instance_id=[INSTANCE_ID]
    

Para obtener una lista de los tipos de recursos, ve a la página sobre tipos de recursos supervisados.

Muestreo de entradas de registro

Para exportar una muestra aleatoria de entradas de registro, agrega la función integrada sample. Por ejemplo, para exportar solo el 10% de las entradas de registro que coinciden con tu consulta actual, usa esta adición:

sample(insertId, 0.10) AND ...
    

Para obtener más información, revisa la función sample.

Para obtener más información sobre las consultas de Cloud Logging, ve a Consultas de registros avanzados.