Agrega y almacena los registros de tu organización

En este documento, se describe cómo administrar las entradas de registro que generan los recursos contenidos en tu organización de Google Cloud con una regla receptor agregado.

Puedes configurar un receptor agregado para que intercepte o no, según si deseas controlar en qué entradas de registro se pueden consultar o enrutar a través de los receptores en recursos secundarios. En este instructivo, crearás un receptor agregado que enrute los registros de auditoría de tu organización a un proyecto de Google Cloud, que luego enrute los registros de auditoría agregados a un bucket de registros.

Para obtener más información sobre los receptores agregados, consulta Recopila y enruta registros a nivel de la organización y de la carpeta a destinos compatibles.

En este instructivo, realizarás los siguientes pasos:

  1. Para comenzar, crea un bucket de registros y un receptor de registros en el proyecto de Google Cloud en el que deseas almacenar tus entradas de registro agregadas.

  2. A continuación, creas un receptor agregado que no intercepta a nivel de la organización para enrutar las entradas de registro al proyecto de Google Cloud que contiene el bucket de registro.

  3. Luego, configura el acceso de lectura a las vistas de registro en el bucket de registros nuevo.

  4. Por último, consulta y visualiza tus entradas de registro desde la página del Explorador de registros.

Antes de comenzar

Asegúrate de que se cumpla lo siguiente:

  • Para obtener los permisos que necesitas para configurar un sumidero agregado, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu organización:

    • Para crear buckets y receptores de registros en un proyecto, haz lo siguiente: Escritor de configuración de registros (roles/logging.configWriter): tu proyecto
    • Para crear un receptor agregado, haz lo siguiente: Escritor de configuración de registros (roles/logging.configWriter): tu organización
    • Para otorgar roles a las principales: Propietario (roles/owner): Tu proyecto

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

  • Si usas los Controles del servicio de VPC, debes agregar una regla de entrada al perímetro de servicio. Para obtener más información Limitaciones de los Controles del servicio de VPC, consulta Limitaciones de los receptores agregados y los Controles del servicio de VPC.
  • In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

Crea un bucket de registros

Los buckets de registros almacenan las entradas de registro que se enrutan desde otros proyectos, organizaciones o carpetas de Google Cloud. Para obtener más información, consulta Configura buckets de registros.

Para crear el bucket de registros en el proyecto de Google Cloud que deseas agregar entradas de registro, completa los siguientes pasos:

  1. Ve a la consola de Google Cloud:

    Ir a la consola de Google Cloud

  2. En una terminal de Cloud Shell, ejecuta el comando gcloud logging buckets create.

    Antes de ejecutar el siguiente comando, haz lo siguiente: reemplazos:

    • BUCKET_NAME: Es el nombre del bucket de registros.
    • LOCATION: Es la ubicación del bucket de registros. Después de crear tu bucket de registros, no puedes cambiar su ubicación.
    • PROJECT_ID: Es el identificador del proyecto en el que se creará el bucket de registros.

    Ejecuta gcloud logging buckets create. :

     gcloud logging buckets create BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID
    
  3. Verifica que se haya creado el bucket de registros:

    gcloud logging buckets list --project=PROJECT_ID
    

    La respuesta del comando es una lista de los buckets de registros en tu proyecto.

  4. Los buckets de registros tienen períodos de retención configurables. Si deseas establecer el período de retención de las entradas de registro en tu bucket de registro, usa el comando gcloud logging buckets update. Por ejemplo, el siguiente comando extiende la retención de las entradas de registro almacenadas en el bucket de registro a 365 días:

    gcloud logging buckets update BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID \
       --retention-days=365
    

    Para obtener más información sobre las opciones, consulta gcloud logging buckets update.

Crea el receptor de registros a nivel del proyecto

Crea un receptor para enrutar las entradas de registro a un bucket de registros. Un receptor incluye un filtro de inclusión, filtros de exclusión y un destino. En este aprenderás a configurar un filtro de inclusión y el destino tu nuevo bucket de registros. Tu sink no contiene ningún filtro de exclusión. Para obtener más información sobre los receptores, consulta Enruta registros a destinos compatibles.

Para crear un receptor que enrute las entradas de registro al bucket de registros que acabas de crear, Ejecuta el comando gcloud logging sinks create.

Antes de ejecutar el siguiente comando, haz lo siguiente: reemplazos:

  • PROJECT_LEVEL_SINK_NAME: Es el nombre del nivel de proyecto. receptor de registros.
  • SINK_DESTINATION: Es el bucket de registro al que se enrutan tus entradas de registro. El formato de la ruta de destino de un bucket de registro es el siguiente:

    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • PROJECT_ID: Es el identificador del proyecto en el que se creará el elemento. receptor de registros. Establece esta opción en el mismo proyecto en el que creaste el bucket de registros.

  • Incluye las siguientes opciones:

    • --log-filter : Usa esta opción para establecer un filtro que coincida con el registro las entradas que quieres incluir en tu receptor. En este instructivo, el filtro se configurado para seleccionar todas las entradas del registro de auditoría. Si no configuras un filtro, todas las entradas de registro de tu proyecto de Google Cloud se enrutan al destino.
    • --description: Usa esta opción para describir el propósito o el caso de uso del sumidero.

Ejecuta el comando gcloud logging sinks create:

gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION
--project=PROJECT_ID
--log-filter='logName:cloudaudit.googleapis.com' \
--description="Audit logs from my organization" \

Crea el receptor agregado

Los receptores agregados combinan y enrutan entradas de registro de los recursos que contiene una organización o una carpeta a un destino.

En este instructivo, crearás un sumidero agregado que no intercepte. Esto significa que cada entrada de registro que enruta el receptor agregado también la enrutan los receptores del recurso en el que se origina la entrada de registro. Por ejemplo, un el registro de auditoría que se origina en un proyecto se enruta a través del receptor agregado receptores en ese proyecto. Por lo tanto, puedes almacenar varias copias de una entrada de registro.

Puedes crear receptores interceptores. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización y la carpeta a destinos compatibles.

Configura el receptor a nivel de la organización

Para crear un receptor agregado que no intercepte y que enrute las entradas de registro a un proyecto, completa los siguientes pasos:

  1. Ejecuta el comando gcloud logging sinks create:

    Antes de ejecutar el siguiente comando, haz lo siguiente: reemplazos:

    • SINK_NAME: Es el nombre del receptor de registros. No puedes cambiar el nombre de un receptor después de crearlo.
    • PROJECT_ID: Es el identificador del proyecto que almacena el bucket de registros.
    • ORGANIZATION_ID: Es el identificador de la organización.

    Ejecuta el comando gcloud logging sinks create:

    gcloud logging sinks create SINK_NAME \
    logging.googleapis.com/projects/PROJECT_ID  \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="Audit logs from my organization" \
      --organization=ORGANIZATION_ID \
      --include-children
    

    La opción --include-children es importante. Esta opción garantiza que las entradas de registro de todos los Se enrutan los proyectos y las carpetas de Google Cloud dentro de tu organización. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización a destinos compatibles.

  2. Verifica que se haya creado el receptor:

    gcloud logging sinks list --organization=ORGANIZATION_ID
    
  3. Obtén el nombre de la cuenta de servicio:

    gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
    

    El resultado es similar al siguiente:

    writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Copia el valor del campo serviceAccount en el portapapeles.

Otorga acceso al receptor

Después de crear el receptor agregado, debes otorgarle permiso para escribir entradas de registro en el proyecto que estableciste como destino. Puedes otorgar permisos con la consola de Google Cloud o editando la política de Identity and Access Management (IAM), como se describe en Cómo configurar permisos de destino.

Para otorgarle permiso al receptor para escribir entradas de registro, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página IAM:

    Ir a IAM

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

  2. Selecciona el proyecto de Google Cloud que contiene tu bucket de registros.

  3. Haz clic en Otorgar acceso y agrega la cuenta de servicio como principal nueva. No incluyas el prefijo serviceAccount:.

  4. En el menú Seleccionar un rol, selecciona Escritor de registros.

  5. Haz clic en Guardar.

Genera entradas de registro para ayudar en la verificación del receptor

Para verificar que el receptor agregado esté configurado correctamente, prueba lo siguiente:

  1. Genera entradas de registro de auditoría que se deben enrutar a tu bucket de registro.

    • Si tienes muchos proyectos de Google Cloud en tu organización, podrías tener suficiente tráfico de registro de auditoría que no crear cualquiera con fines de validación. Dirígete al paso siguiente.

    • De lo contrario, ve a un proyecto diferente y crea una VM de Compute Engine y, luego, borrarás la instancia que creaste. Los registros de auditoría se escriben cuando se crea, inicia y borra una VM.

  2. Sigue el procedimiento de la sección titulada Consulta los registros en la página Explorador de registros para ver tu registros de auditoría de Cloud. Asegúrate de seleccionar la vista _AllLogs.

Configura el acceso de lectura a una vista de registro en un bucket de registros

Cuando creas un bucket de registros, Cloud Logging crea automáticamente una vista de registros llamada _AllLogs. Esta vista incluye cada entrada de registro almacenada en el bucket de registro.

Para restringir una principal para que solo tenga acceso a entradas de registro específicas, crea una vista de registro y, luego, realiza una de las siguientes acciones:

  • Otórgale la función de roles/logging.viewAccessor junto con un Condición de IAM que restringe el otorgamiento a la vista de registro.

  • En la política de IAM asociada con la vista de registros, otorga acceso principal. Recomendamos este enfoque cuando crees una gran cantidad de vistas de registro.

Para obtener más información sobre estos dos enfoques, consulta Controla el acceso a una vista de registros.

En los siguientes pasos, otorgarás a un principal el rol de roles/logging.viewAccessor junto con una condición de IAM que restrinja la concesión a la vista llamada _AllLogs:

  1. En la consola de Google Cloud, ve a la página IAM:

    Ir a IAM

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

  2. Selecciona el proyecto de Google Cloud que contiene el bucket de registros.

  3. Haga clic en Agregar.

  4. En el campo Principal nueva, agrega una principal.

  5. En el menú Seleccionar un rol, selecciona Descriptor de acceso de vistas de registro.

    Si no agregas una condición a este rol, el principal tendrá acceso a todas las vistas de registro en todos los buckets de registro definidos por el usuario en el proyecto de Google Cloud.

  6. Agrega una condición de IAM a la vinculación:

    1. Haz clic en Agregar condición y, luego, ingresa un título y una descripción.
    2. En el menú Tipo de condición, desplázate hasta Recurso y, luego, selecciona Nombre.
    3. En el menú Operador, selecciona Finalizar con.
    4. En el campo Valor, ingresa el nombre completo de la vista de registro:

      locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
      
    5. Haz clic en Guardar para guardar la condición.

  7. Haz clic en Guardar para guardar la vinculación.

Visualiza las entradas de registro en la página del Explorador de registros

Para ver las entradas de registro en tu bucket de registros, haz lo siguiente:

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

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Selecciona Define mejor el permiso.

  3. En el panel Definir mejor el permiso, selecciona Vista de registro.

  4. Selecciona las vistas de registro cuyas entradas deseas ver. Por ejemplo, para ver todas las entradas de registro, selecciona la vista llamada _AllLogs.

  5. Haz clic en Aplicar.

    El explorador de registros se actualiza para mostrar las entradas de registro de tu bucket de registros. Para obtener información sobre el uso del Explorador de registros, consulta Usa el Explorador de registros.