Agrega y almacena los registros de tu organización

Un receptor agregado que no intercepta te permite enrutar entradas de registro de toda tu Google Cloud organización a una ubicación central y, al mismo tiempo, permite que los recursos secundarios enruten y almacenen sus propias copias de esos registros. En este instructivo, crearás un receptor agregado que no intercepta a nivel de la organización que enruta los registros de auditoría de tu organización a un Google Cloud proyecto, en el que un receptor a nivel del proyecto los enruta a un bucket de registros central. Luego, configurarás el acceso de lectura a una vista de registros en ese bucket y consultarás tus registros de auditoría agregados en el Explorador de registros.

También puedes configurar un receptor agregado para que intercepte si deseas controlar qué entradas de registro se pueden consultar o enrutar en los recursos secundarios. Para obtener más información, consulta Descripción general de los receptores agregados. Si estás configurando una organización nueva, también puedes configurar el almacenamiento de registros centralizado como parte del Google Cloud proceso de configuración.

Antes de comenzar

Asegúrate de que se cumpla lo siguiente:

  • Para obtener los permisos que necesitas para centralizar el almacenamiento mediante la creación de un receptor agregado a nivel de la organización que enruta las entradas de registro a un proyecto, pídele a tu administrador que te otorgue los siguientes roles de IAM:

    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.

  • En la Google Cloud consola de, activa Cloud Shell.

    Activa Cloud Shell

    En la parte inferior de la Google Cloud consola de, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

Crea un bucket de registros

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

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

  1. Abre un shell.

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

    1. Ve a la Google Cloud consola de:

      Ir a la Google Cloud consola

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

    Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:

    • BUCKET_NAME: El nombre del bucket de registros.
    • LOCATION: La ubicación del bucket de registros. Después de crear tu bucket de registros, no puedes cambiar su ubicación.
    • PROJECT_ID: 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 registros 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 amplía 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 marcas, consulta gcloud logging buckets update.

Crea el receptor de registros a nivel del proyecto

Para enrutar entradas de registro a un bucket de registros, crea 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 a tu nuevo bucket de registros. Tu receptor no contiene ningún filtro de exclusión. Para obtener más información sobre los receptores, consulta Enruta registros a destinos admitidos.

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

Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:

  • PROJECT_LEVEL_SINK_NAME: El nombre del receptor de registros a nivel del proyecto.
  • SINK_DESTINATION: El bucket de registros al que se enrutan tus entradas de registro. Los destinos del receptor deben usar el extremo global (logging.googleapis.com); no se admiten los extremos regionales (REP) . El formato de la ruta de destino para un bucket de registros es el siguiente:

    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • PROJECT_ID: El identificador del proyecto en el que se creará el receptor de registros. Configura esta marca en el mismo proyecto en el que creaste el bucket de registros.

  • Incluye las siguientes marcas:

    • --log-filter: Usa esta marca 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 de registro de auditoría. Si no estableces un filtro, todas las entradas de registro de tu Google Cloud proyecto se enrutan al destino.
    • --description: Usa esta marca para describir el propósito o el caso de uso del receptor.

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 carpeta a un destino.

En este instructivo, crearás un receptor agregado que no intercepta. Esto significa que cada entrada de registro que enruta el receptor agregado también la enrutan los receptores en el recurso en el que se origina la entrada de registro. Por ejemplo, un registro de auditoría que se origina en un proyecto es enrutado por el receptor agregado y los receptores de ese proyecto. Por lo tanto, es posible que almacenes varias copias de una entrada de registro.

También puedes crear receptores que interceptan. Para obtener más información, consulta Descripción general de los receptores agregados.

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 gcloud logging sinks create comando.

    Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:

    • SINK_NAME: El nombre del receptor de registros. No puedes cambiar el nombre de un receptor después de crearlo.
    • PROJECT_ID: El identificador del proyecto que almacena el bucket de registros.
    • ORGANIZATION_ID: 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 marca --include-children es importante. Esta marca garantiza que se enruten las entradas de registro de todos los Google Cloud proyectos y carpetas de tu organización. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización y de la carpeta a destinos admitidos destinos.

  2. Verifica si se creó 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 otorgar permiso para que el receptor escriba entradas de registro en el proyecto que estableciste como destino. Puedes otorgar permiso con la Google Cloud consola o editando la política de Identity and Access Management (IAM), como se describe en Establece permisos de destino.

Si el proyecto de destino Google Cloud está protegido por un perímetro de servicio de Controles del servicio de VPC , también debes agregar una regla de entrada a l perímetro de destino que permita el acceso desde la cuenta de servicio del receptor. No necesitas configurar una regla de entrada para los receptores no agregados. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización y de la carpeta a destinos admitidos: Limitaciones.

Para otorgar permiso a tu receptor para escribir entradas de registro, haz lo siguiente:

  1. En la Google Cloud consola de, dirígete 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 Google Cloud proyecto que contiene tu bucket de registros.

  3. Haz clic en Otorgar acceso y agrega la cuenta de servicio como una 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 a verificar el receptor

Para verificar que tu 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 Google Cloud proyectos en tu organización, entonces es posible que tengas suficiente tráfico de registros de auditoría como para no tener que crear ninguno para fines de validación. Dirígete al paso siguiente.

    • De lo contrario, ve a otro proyecto, 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 los pasos que se indican en Visualiza entradas de registro en la página Explorador de registros para ver tus registros de auditoría. Asegúrate de seleccionar la vista _AllLogs.

Configura el acceso de lectura a una vista de registros 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 todas las entrada de registro almacenadas en el bucket de registros.

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

  • Otórgale el rol Usuario con acceso a vistas de registros (roles/logging.viewAccessor) junto con una condición de IAM que restrinja el otorgamiento a la vista de registros.

  • En la política de IAM asociada con la vista de registros, otorga acceso a una principal. Te recomendamos este enfoque cuando creas una gran cantidad de vistas de registros.

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 una principal el rol Usuario con acceso a vistas de registros (roles/logging.viewAccessor) junto con una condición de IAM que restrinja el otorgamiento a la vista llamada _AllLogs:

  1. En la Google Cloud consola de, dirígete 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 Google Cloud proyecto que contiene el bucket de registros.

  3. Haz clic en Agregar.

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

  5. En el menú Seleccionar un rol, selecciona Usuario con acceso a vistas de registros.

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

  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, ve a 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 registros:

      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 entradas de registro en la página Explorador de registros

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

  1. En la Google Cloud consola de, ve a la Explorador de registros del segmento:

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

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

  5. Haz clic en Aplicar.

    La página Explorador de registros se actualiza para mostrar las entradas de registro de tu bucket de registros. Para obtener más información sobre el uso del Explorador de registros, consulta Usa el Explorador de registros.