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:
- 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.
-
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:
-
Usuario de etiquetas (
roles/resourcemanager.tagUser
) -
Visualizador de etiquetas (
roles/resourcemanager.tagViewer
)
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.
-
Usuario de etiquetas (
-
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
-
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.
Busca el bucket de registros al que deseas adjuntar una etiqueta.
En el bucket de registros, haz clic en Másmore_vert y, luego, en Editar etiquetas.
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.
Selecciona el par clave-valor adecuado y, luego, haz clic en Guardar.
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
-
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.
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 arrow_drop_down 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
-
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.
Busca el bucket de registros cuya etiqueta deseas quitar.
En el bucket de registros, haz clic en Másmore_vert y, luego, en Editar etiquetas.
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.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?
Obtén información para establecer una política de la organización con etiquetas.
Para obtener información sobre el uso de etiquetas en las exportaciones de datos de la Facturación de Cloud, consulta la documentación sobre las exportaciones de datos de la Facturación de Cloud.