Agrega y almacena los registros de tu organización

En este documento, se describe cómo administrar los registros que generan los recursos contenidos en tu organización de Google Cloud mediante un receptor agregado sin intercepción.

Puedes configurar un receptor agregado para que intercepte o no intercepte, según si deseas controlar en qué registros se pueden consultar o para enrutar a través de los receptores en los recursos secundarios. En este instructivo, crearás un receptor agregado que enruta los registros de auditoría de tu organización a un proyecto de Google Cloud. Luego, en el proyecto de Google Cloud, crea un receptor de registros que 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 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 los registros agregados.

  2. A continuación, crea un receptor agregado no interceptor a nivel de la organización para enrutar los registros al proyecto de Google Cloud.

  3. A continuación, configurarás el acceso de lectura para las vistas de registro en el bucket de registros nuevo.

  4. Por último, consulta y visualiza tus registros 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 otorgar roles de principales, pídele a tu administrador que te otorgue el rol de IAM de propietario (roles/owner) de un proyecto.

  • 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 Limitaciones de los receptores agregados y de los Controles del servicio de VPC.

Crea un bucket de registros

Los buckets de registros almacenan los registros 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 en el que deseas agregar registros, 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, realiza los siguientes reemplazos:

    • BUCKET_NAME: Es el nombre del bucket de registros.
    • LOCATION: Es la ubicación del bucket de registros.
    • 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
    
  4. Opcional: Configura el período de retención de los registros en el bucket. En este ejemplo, se amplía la retención de los registros almacenados en el bucket a 365 días:

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

Crea el receptor de registros a nivel de proyecto

Crea un receptor para enrutar las entradas de registro a un bucket de registros. Un receptor incluye un filtro de inclusión, un filtro de exclusión opcional y un destino. En este instructivo, el destino es tu bucket de registros nuevo. 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, realiza los siguientes reemplazos y ejecuta el comando gcloud logging sinks create:

  • PROJECT_LEVEL_SINK_NAME: Es el nombre del receptor de registros a nivel de proyecto.
  • SINK_DESTINATION: El bucket de registros en el que se enrutan tus registros. 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: Es el identificador del proyecto en el que se creará el receptor de registros. Establece 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 se configura para seleccionar todas las entradas del registro de auditoría. Si no configuras un filtro, todos los registros de tu proyecto de Google Cloud se enrutan al destino.
    • --description: Usa esta marca para describir el propósito o el caso de uso del receptor.

    Ejecuta el siguiente comando:

    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 contenidos por una organización o carpeta a un destino.

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

Puedes crear receptores interceptores. Si deseas obtener más información, consulta Cómo intercalar y enrutar registros a nivel de organización y carpeta para admitir destinos.

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.
    • 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 marca --include-children es importante para que también se incluyan los registros de todos los proyectos 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 registros en el proyecto que estableciste como destino. Puedes otorgar permisos mediante la consola de Google Cloud o editando la política de Identity and Access Management (IAM), como se describe en Configura permisos de destino.

Si deseas otorgar permiso a tu receptor para que escriba registros, 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.

  4. En el campo Principales nuevas, agrega la cuenta de servicio sin el prefijo serviceAccount:.

  5. En el menú Selecciona un rol, elige Escritor de registros.

  6. Haz clic en Guardar.

Genera registros para asistir en la verificación del receptor

Para verificar que tu receptor agregado esté configurado de forma correcta, prueba lo siguiente:

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

    • Si tienes muchos proyectos de Google Cloud en la organización, es posible que tengas suficiente tráfico de registro de auditoría que no necesitarás crear con fines de 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 de la sección titulada Visualiza registros en la página del 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 registro en un bucket de registros

Cuando creas un bucket de registros, Cloud Logging crea de forma automática una vista de registro llamada _AllLogs. Esta vista incluye todas las entrada de registro almacenadas en el bucket de registros.

Si deseas 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 el rol de roles/logging.viewAccessor junto con una condición de IAM que restrinja la concesión a la vista de registro.

  • En la política de IAM asociada a la vista de registro, otorga acceso a una 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 registro.

En los siguientes pasos, le otorgas a una principal la función de roles/logging.viewAccessor junto con una condición de IAM que restringe 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.

    Asegúrate de haber seleccionado el proyecto de Google Cloud que usas para agregar los registros.

  2. Haga clic en Agregar.

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

  4. En el menú Selecciona un rol, selecciona Acceso de vistas de registros.

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

    1. Haz clic en Agregar condición, 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 (Operator), selecciona Termina con (Ends with).
    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.

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

Ver registros en la página Explorador de registros

Para ver los registros 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 Limitar permisos por almacenamiento.

  4. Selecciona la vista de registro, o vistas de registro, cuyas entradas de registro desees ver. Por ejemplo, para ver todos los registros, selecciona la vista llamada _AllLogs.

  5. Haz clic en Aplicar.

    El Explorador de registros se actualiza para mostrar los registros de tu bucket de registros.

    Para obtener información sobre el uso del Explorador de registros, consulta Usa el Explorador de registros.