Administra buckets de registros con etiquetas

En este documento, se describe cómo usar las etiquetas para administrar tus buckets de registros de Cloud Logging. Las etiquetas, que se crean a nivel de la organización o del proyecto, te permiten anotar tus recursos. También puedes otorgar roles de Identity and Access Management (IAM) de forma condicional o denegar permisos de IAM de forma condicional en función de si un recurso tiene una etiqueta específica. Para obtener información sobre las etiquetas, consulta Descripción general de las etiquetas.

Por ejemplo, si usas BigQuery para analizar tus datos de Facturación de Cloud, puedes adjuntar la etiqueta project:production a los buckets de registro que almacenan datos de registro de recursos de producción y adjuntar la etiqueta project:development a los buckets de registro que almacenan datos de registro de recursos de desarrollo. Luego, puedes consultar los datos de la Facturación de Cloud con etiquetas y ver un desglose de tus costos entre el desarrollo y la producción.

Las etiquetas se pueden adjuntar de forma explícita a los buckets de registro o heredarse de su organización superior, carpetas y proyectos.

Antes de comenzar

Para comenzar a administrar tus buckets de registros con etiquetas, haz lo siguiente:

  1. Asegúrate de haber creado una etiqueta y de haber configurado sus valores. Usa Resource Manager para administrar las definiciones de etiquetas. Para obtener información sobre cómo crear y administrar etiquetas, consulta Crea y administra etiquetas.
  2. Para obtener los permisos que necesitas para administrar tus buckets de registros con etiquetas, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto o la organización:

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

    Estos roles predefinidos contienen los permisos necesarios para administrar tus buckets de registros con etiquetas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

    Permisos necesarios

    Se requieren los siguientes permisos para administrar tus buckets de registros con etiquetas:

    • Agrega o quita etiquetas a los buckets de registros:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • Consulta las etiquetas adjuntas a los buckets de registro:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • logging.buckets.listTagBindings
      • logging.buckets.listEffectiveTags

    También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

  3. Para obtener el permiso que necesitas para administrar los buckets de registros, pídele a tu administrador que te otorgue el rol de IAM Escritor de configuración de registros (roles/logging.configWriter) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    Este rol predefinido contiene el permiso logging.buckets.list, que se requiere para administrar los buckets de registros.

    También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Adjunta etiquetas a un bucket de registros

Para adjuntar una etiqueta a un bucket de registros, haz lo siguiente:

Consola de Google Cloud

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

    Ir al Almacenamiento de registros

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

  2. Busca el bucket de registros al que deseas adjuntar una etiqueta.

  3. En el bucket de registros, haz clic en Más y, luego, en Editar etiquetas.

  4. En el cuadro de diálogo, en la sección Etiquetas directas, selecciona el recurso en el que se creó la etiqueta para encontrarla. Por ejemplo, para usar una etiqueta que se creó a nivel del proyecto, elige Seleccionar proyecto actual como el alcance.

    También puedes buscar manualmente el ID del proyecto, la organización o la etiqueta seleccionando la opción Entrada manual.

  5. Selecciona el par clave-valor adecuado y, luego, haz clic en Guardar.

  6. Aparecerá un diálogo en el que se confirmarán los cambios. Haz clic en Confirmar para finalizar los cambios.

gcloud

Para adjuntar una etiqueta a un bucket de registros, crea una vinculación de etiquetas ejecutando el comando gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

En el comando anterior, realiza los siguientes reemplazos:

  • TAG_VALUE_ID: Es el ID permanente o el nombre con espacio de nombres del valor de la etiqueta. Por ejemplo, tagValues/4567890123 Para obtener más información sobre los identificadores de etiquetas, consulta Identificadores y definiciones de etiquetas.

  • BUCKET_NAME: Es el nombre del bucket de registros. Por ejemplo, logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

  • LOCATION: Es la ubicación del bucket de registros.

API

Para adjuntar una etiqueta a un bucket de registros, usa el método tagBindings.create.

Cómo ver las etiquetas adjuntas a un bucket de registros

Para ver las etiquetas adjuntas a un bucket de registros, haz lo siguiente:

Consola de Google Cloud

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

    Ir al Almacenamiento de registros

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

  2. Busca el bucket de registros cuyas etiquetas deseas ver.

    En la columna Etiquetas, se muestra una etiqueta asociada con el bucket de registros. Para ver todas las etiquetas asociadas con el bucket de registros, haz clic en el botón Más para expandir la lista de etiquetas.

gcloud

Ejecuta el comando gcloud resource-manager tags bindings list:

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

En el comando anterior, realiza los siguientes reemplazos:

  • TAG_VALUE_ID: Es el ID permanente o el nombre con espacio de nombres del valor de la etiqueta. Por ejemplo, tagValues/4567890123 Para obtener más información sobre los identificadores de etiquetas, consulta Identificadores y definiciones de etiquetas.

  • BUCKET_NAME: Es el nombre del bucket de registros. Por ejemplo, logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

  • LOCATION: Es la ubicación del bucket de registros.

Opcional: Para ver las etiquetas heredadas por el bucket de registros, agrega la marca --effective. Si agregas esta marca, se muestra una respuesta similar a la siguiente:

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Si todas las etiquetas se adjuntan de forma explícita al bucket de registros y no se heredan ninguna, el campo inherited es falso y se omite.

API

Para obtener una lista de vinculaciones de etiquetas para un bucket, usa el método tagBindings.list.

Cómo quitar etiquetas de un bucket de registros

Para quitar las etiquetas adjuntas a un bucket de registros, debes borrar la vinculación de etiquetas que se adjunta al bucket de registros. Para borrar una etiqueta, debes quitar las etiquetas de todos los recursos adjuntos.

Consola de Google Cloud

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

    Ir al Almacenamiento de registros

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

  2. Busca el bucket de registros cuya etiqueta deseas quitar.

  3. En el bucket de registros, haz clic en Más y, luego, en Editar etiquetas.

  4. En el cuadro de diálogo, mantén el puntero sobre la etiqueta que quieres quitar y haz clic en Borrar elemento. Haz clic en Guardar para guardar los cambios.

  5. Aparecerá un diálogo en el que se confirmarán los cambios. Haz clic en Confirmar para finalizar los cambios.

gcloud

Ejecuta el comando gcloud resource-manager tags bindings delete:

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

En el comando anterior, realiza los siguientes reemplazos:

  • TAG_VALUE_ID: Es el ID permanente o el nombre con espacio de nombres del valor de la etiqueta. Por ejemplo, tagValues/4567890123 Para obtener más información sobre los identificadores de etiquetas, consulta Identificadores y definiciones de etiquetas.

  • BUCKET_NAME: Es el nombre del bucket de registros. Por ejemplo, logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

  • LOCATION: Es la ubicación del bucket de registros.

API

Para quitar una etiqueta de un bucket de registros, usa el método tagBindings.delete.

Limitaciones

  • No puedes usar las asignaciones de roles de IAM para controlar qué buckets de registros ve un principal cuando enumera los buckets de registros en un proyecto de Google Cloud. Los directores verán una lista completa o una vacía. Sin embargo, puedes usar otorgamientos de roles de IAM con condiciones de IAM para restringir las acciones que un principal puede realizar en un bucket de registros. Por ejemplo, puedes restringir si un principal puede borrar un bucket de registros específico.

  • Si usas exportaciones de datos de la Facturación de Cloud con BigQuery, las etiquetas pueden tardar hasta una hora en usarse en la exportación. Si se agregó o quitó una etiqueta de política en un plazo de una hora, o si el bucket de registros existe durante menos de una hora, es posible que no aparezca en la exportación.

Roles personalizados y otorgamientos de roles con condiciones de IAM

Si planeas usar roles de IAM personalizados y adjuntar condiciones de IAM a las asignaciones de roles, es posible que debas crear varios roles personalizados. Algunos permisos de IAM se invalidan cuando se adjunta una condición de IAM a una asignación de roles.

En el caso de Cloud Logging, los siguientes permisos de IAM se invalidan cuando una concesión de roles contiene una condición de IAM:

  • logging.buckets.list
  • logging.buckets.create

Por lo tanto, es posible que debas crear un rol con los permisos list y create, y otro que contenga otros permisos específicos del bucket. Por ejemplo, puedes crear un rol que contenga los permisos logging.buckets.delete y logging.buckets.update.

Cuando otorgues el rol que contiene los permisos list y create, no adjuntes una condición de IAM a la asignación de roles. Cuando otorgues el rol que contiene los permisos delete y update, podrás agregar una condición de IAM que restrinja la concesión a recursos con una etiqueta específica.

¿Qué sigue?