Configura el acceso a nivel de bucket

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

En este documento, se describe cómo crear y administrar vistas de registro en tus depósitos de Cloud Logging. Las vistas de registros te brindan un control detallado y avanzado sobre quién tiene acceso a los registros dentro de tus depósitos de registros.

Cloud Logging crea de forma automática la vista _AllLogs para cada bucket, que muestra todos los registros. Cloud Logging también crea una vista para el bucket _Default llamado _Default. En la vista _Default del bucket _Default, se muestran todos los registros, excepto los registros de auditoría de acceso a los datos. Las vistas _AllLogs y _Default no se pueden editar.

Para obtener información general sobre el modelo de almacenamiento de Logging, consulta Descripción general del enrutamiento y el almacenamiento.

En las siguientes instrucciones, se explica cómo crear, ver, actualizar y borrar vistas de registro en un proyecto de Cloud mediante gcloud CLI.

Antes de comenzar

Antes de crear o actualizar una vista de registro, completa los siguientes pasos:

  1. Si aún no lo hiciste, en el proyecto de Cloud apropiado, crea un bucket de Logging para el que desees configurar una vista de registro personalizada.

  2. Asegúrate de tener una de las funciones de IAM sugeridas para el proyecto de Cloud:

    • roles/logging.admin

    • roles/logging.configWriter

    Estas funciones incluyen los permisos logging.views.* necesarios para crear, ver, actualizar y borrar vistas de registro.

  3. Si usas la línea de comandos, instala la CLI de Google Cloud.

  4. Determina qué registros deseas incluir en la vista. Usa esta información para especificar el filtro de la vista de registro.

Filtros

Cada vista de registro contiene un filtro, que restringe las entradas de registro que se ven en la vista. Si el filtro está vacío, la vista de registro selecciona todos los registros disponibles para el recurso.

Los filtros son un AND lógico que compara cualquiera de los siguientes valores:

  • Una fuente de datos con la función source La función source muestra entradas de registro de un recurso en particular en las organizaciones, carpetas y jerarquía de proyectos de Cloud.

  • Un ID de registro con la función log_id La función log_id muestra entradas de registro que coinciden con el argumento LOG_ID determinado del campo logName.

  • Un tipo de recurso válido mediante la comparación resource.type=FIELD_NAME

Por ejemplo, el siguiente filtro captura las entradas de registro stdout de Compute Engine de un proyecto de Cloud llamado myproject:

source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")

El filtro para una vista de registro no puede contener operadores OR. Las vistas de registro solo admiten operaciones AND y NOT.

Para obtener detalles sobre la sintaxis de filtrado, consulta Comparaciones.

Crea una vista de registro

Puedes crear un máximo de 30 vistas de registro por bucket de registros.

Para crear una vista de registro que solo coincida con las entradas de registro de Compute Engine en el bucket, ejecuta el siguiente comando, después de reemplazar las variables con tu propia información:

gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter='resource.type="gce_instance"'

En el comando anterior, la variable VIEW_ID es el identificador de la vista de registro. Usa un nombre descriptivo para identificar fácilmente tu vista de registro. Además, asegúrate de configurar el valor de la variable LOCATION como la ubicación del bucket que especifica la variable BUCKET_NAME. Por ejemplo, si la ubicación del bucket es us-central1, el comando anterior debe incluir la instrucción --location=us-central1. Para obtener más información sobre las regiones compatibles, consulta Comprende las regiones de datos.

Si deseas obtener información completa sobre el comando para crear una vista de registro, consulta gcloud logging views create.

Enumera las vistas del bucket para confirmar que se creó tu vista:

gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION

Otorga acceso a una vista de registro

Para agregar usuarios a una vista a fin de permitirles acceder a los registros, completa los siguientes pasos.

gcloud

  1. Obtén la política de IAM del proyecto y escríbela en un archivo local en formato JSON:

    gcloud projects get-iam-policy PROJECT_ID --format json > output.json
    
  2. Agrega una condición de IAM que permita al usuario leer desde el bucket que creaste. Por ejemplo:

    {
      "bindings": [
        {
          "members": [
            "user:username@gmail.com"
          ],
          "role": "roles/logging.viewAccessor",
          "condition": {
              "title": "Bucket reader condition example",
              "description": "Grants logging.viewAccessor role to user username@gmail.com for the [VIEW_ID] log view.",
              "expression":
                "resource.name == \"projects/[PROJECT_ID]/locations/[LOCATION]/buckets/[BUCKET_NAME]/views/[VIEW_ID]\""
          }
        }
      ],
      "etag": "BwWd_6eERR4=",
      "version": 3
    }
  3. Actualiza la política de IAM:

    gcloud projects set-iam-policy PROJECT_ID output.json
    

Consola

  1. En Google Cloud Console para el proyecto en el que creaste el bucket, ve a la página de IAM.

    Ve a la página IAM

  2. Haz clic en Otorgar acceso.

  3. En el campo Principales nuevas, agrega la cuenta de correo electrónico del usuario.

  4. En el menú desplegable Seleccionar una función, selecciona descriptor de acceso de vistas de registro.

    Esta función les proporciona a los usuarios acceso de lectura a todas las vistas. Para limitar el acceso de los usuarios a un depósito específico, agrega una condición basada en el nombre del recurso.

    1. Haz clic en Agregar condición de IAM.

    2. Ingresa un Título y una Descripción para la condición.

    3. En el menú desplegable Tipo de condición, selecciona Recurso > Nombre.

    4. En el menú desplegable Operador, selecciona es.

    5. En el campo Valor, ingresa el ID de la vista de registros, incluida la ruta de acceso completa a la vista.

      Por ejemplo:

      projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID
    6. Haga clic en Guardar para agregar la condición.

  5. Haz clic en Guardar para configurar los permisos.

Para obtener más información, consulta la Descripción general de las Condiciones de IAM.

Actualizar una vista de registro

Para actualizar una vista de registro, ejecuta el siguiente comando, después de reemplazar las variables con tu propia información:

gcloud logging views update VIEW_ID \
  --log-filter="resource.type=gce_instance" --bucket=NEW_BUCKET_NAME \
  --location=LOCATION --description="New description for the log view"

Enumera las vistas del bucket para confirmar que se actualizó:

gcloud logging views list --bucket=NEW_BUCKET_NAME --location=LOCATION

No puedes actualizar las vistas _Default y _AllLogs.

Borra una vista de registro

Para borrar una vista de registro, ejecuta el siguiente comando, después de reemplazar las variables con tu propia información:

gcloud logging views delete VIEW_ID \
  --bucket=BUCKET_NAME --location=LOCATION

Enumera las vistas del bucket para confirmar que se borró:

gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION

Enumerar vistas de registros

Para enumerar todas las vistas de registros definidas en un bucket, usa el siguiente comando, después de reemplazar las variables con tu propia información:

gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION

El siguiente resultado incluye dos ID de vista, _AllLogs y test_view:

VIEW_ID: _AllLogs
FILTER:
CREATE_TIME:
UPDATE_TIME:

VIEW_ID: test_view
FILTER:
CREATE_TIME: 2022-07-20T20:50:55.488082225Z
UPDATE_TIME: 2022-07-20T20:50:55.488082225Z

Describe una vista de registro

Puedes recuperar información sobre una vista de registro mediante el comando gcloud logging views describe.

Para describir una vista de registro, ejecuta el siguiente comando, después de reemplazar las variables con tu propia información:

gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION

En el comando anterior, VIEW_ID es el nombre de la vista cuyos detalles deseas mostrar. Si no conoces el nombre de la vista, puedes mostrar una lista de vistas para un bucket. Para obtener más información, consulta Enumera las vistas de registros.

Visualiza registros asociados con una vista de registro

Para ver los registros en una vista de registro, asegúrate de tener la función roles/logging.viewAccessor de la vista de registro.

Ve al Explorador de registros.

Ir al Explorador de registros

Haz clic en Define mejor el permiso para mostrar el panel Define mejor el permiso. Desde aquí, puedes seleccionar el bucket de registros y la vista de registro que deseas usar para ver tus registros.

El panel define mejor el alcance

Para obtener más información, consulta la documentación del Explorador de registros.

¿Qué sigue?

Ve al Explorador de registros para verificar que la vista que creaste proporcione acceso a los registros correctos.

Ir al Explorador de registros