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 contienen en tu organización de Google Cloud con un sumidero agregado que no intercepta.

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 los 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 registros.

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

  4. Por último, puedes consultar y ver tus entradas de registro desde la página 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, sigue estos pasos: 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 partes 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 sobre las limitaciones de los Controles del servicio de VPC, consulta Sinks agregados y limitaciones de 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 al que deseas agregar las entradas de registro, completa los siguientes pasos:

  1. Abre una shell.

    Por ejemplo, para usar Cloud Shell, haz lo siguiente:

    1. Ve a la consola de Google Cloud:

      Ir a la consola de Google Cloud

    2. En la barra de herramientas, haz clic en  Activar Cloud Shell.
  2. En la shell, ejecuta el comando gcloud logging buckets create.

    Antes de ejecutar el siguiente comando, realiza los siguientes 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 el comando 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 registro de 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 registros, 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 registros 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

Para enrutar las entradas de registro a un bucket de registros, debes crear un receptor. Un receptor incluye un filtro de inclusión, filtros de exclusión y un destino. En este instructivo, configurarás un filtro de inclusión y el destino para tu nuevo bucket de registros. Tu sink no contiene ningún filtro de exclusión. Para obtener más información sobre los sumideros, 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, realiza los siguientes reemplazos:

  • PROJECT_LEVEL_SINK_NAME: Es el nombre del receptor de registros a nivel del proyecto.
  • SINK_DESTINATION: Es el bucket de registros al que se enrutan tus entradas de registro. El formato de la ruta de destino de un bucket de registros 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 sink 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 las entradas de registro que deseas incluir en tu receptor. En este instructivo, el filtro está 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 las 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 registro de auditoría que se origina en un proyecto se enruta a través del receptor agregado y los receptores de ese proyecto. Por lo tanto, puedes almacenar varias copias de una entrada de registro.

Puedes crear sumideros de intercepción. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización y de 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, realiza los siguientes reemplazos:

    • SINK_NAME: Es el nombre del receptor de registros. No puedes cambiar el nombre de un sumidero 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 se enruten las entradas de registro de todos los proyectos y las carpetas de Google Cloud 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 que escriba 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 registros.

    • Si tienes muchos proyectos de Google Cloud en tu organización, es posible que tengas suficiente tráfico de registro de auditoría que no sea necesario crear ninguno para la validación. Dirígete al paso siguiente.

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

  2. Sigue el procedimiento que se indica en la sección Ver registros en la página Explorador de registros para ver los registros de auditoría. 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 registros.

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

  • Otórgale el rol de roles/logging.viewAccessor junto con una condición de IAM que restrinja 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 creas 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 nuevo, agrega un 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 Define 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.