En esta página se describen las etiquetas y cómo usarlas con Pub/Sub. Google Cloud Las etiquetas se pueden aplicar a temas, suscripciones y capturas de Pub/Sub. Tenemos previsto admitir la aplicación de etiquetas a esquemas de Pub/Sub.
Acerca de las etiquetas
Una etiqueta es un par clave-valor que se puede adjuntar a un recurso de Google Cloud. Puedes usar etiquetas para permitir o denegar políticas de forma condicional en función de si un recurso tiene una etiqueta específica. Por ejemplo, puedes conceder roles de Gestión de Identidades y Accesos (IAM) de forma condicional en función de si un recurso tiene una etiqueta específica. Para obtener más información sobre las etiquetas, consulte el artículo Descripción general de las etiquetas.
Las etiquetas se adjuntan a los recursos creando un recurso TagBinding que vincula el valor al recurso. Google Cloud
Permisos obligatorios
Para obtener los permisos que necesitas para gestionar etiquetas, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
-
Lector de etiquetas (
roles/resourcemanager.tagViewer) en los recursos a los que están asociadas las etiquetas -
Ver y gestionar etiquetas a nivel de organización:
Lector de organización (
roles/resourcemanager.organizationViewer) en la organización -
Crear, actualizar y eliminar definiciones de etiquetas:
Administrador de etiquetas (
roles/resourcemanager.tagAdmin) en el recurso para el que vas a crear, actualizar o eliminar etiquetas -
Asignar y quitar etiquetas de recursos:
Etiquetador de usuarios (
roles/resourcemanager.tagUser) en el valor de la etiqueta y los recursos a los que asignes o quites el valor de la etiqueta
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Para adjuntar etiquetas a temas, suscripciones o capturas de Pub/Sub, necesitas el rol Editor de Pub/Sub (roles/pubsub.editor).
Crear claves y valores de etiquetas
Para poder adjuntar una etiqueta, primero debes crearla y configurar su valor. Para crear claves y valores de etiqueta, consulta Crear una etiqueta y Añadir un valor de etiqueta.
Añadir etiquetas durante la creación de recursos
Puedes añadir etiquetas al crear temas, suscripciones o copias. Si añades etiquetas durante la creación de recursos, podrás proporcionar al instante metadatos esenciales para tus recursos, así como mejorar la organización, el seguimiento de costes y la aplicación de políticas automatizada.
Consola
- Ve a la página Pub/Sub de la Google Cloud consola.
- Selecciona la opción para crear un tema, una suscripción o una instantánea.
- Haz clic en Gestionar etiquetas.
- Si tu organización no aparece en el panel Gestionar etiquetas, haz clic en Seleccionar ámbito de las etiquetas. Elige si quieres añadir etiquetas definidas a nivel de organización o de proyecto y, a continuación, introduce el ID correspondiente.
- Haz clic en Añadir etiqueta.
- Selecciona la clave de la etiqueta que quieras adjuntar en la lista. Puedes filtrar la lista escribiendo palabras clave.
- Selecciona el valor de la etiqueta que quieras adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.
- Haz clic en Guardar. La sección Etiquetas se actualiza con la información de las etiquetas.
- Crea el tema, la suscripción o la captura. El tema, la suscripción o la captura nuevos se crean con las etiquetas proporcionadas.
gcloud
Para añadir etiquetas al crear un tema, una suscripción o una instantánea, ejecuta el siguiente comando:
gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
Haz los cambios siguientes:
- TOPIC_ID: el ID del tema
- TAG_KEY: el ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se ha adjuntado. Por ejemplo, tagKeys/567890123456.
- TAG_VALUE: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjunta. Por ejemplo, tagValues/567890123456.
Para especificar varias etiquetas, sepáralas con comas. Por ejemplo, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2
API
Envía una solicitud POST a la siguiente URL:
https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_IDProporciona el siguiente JSON en el cuerpo de la solicitud:
{
"name": "projects/PROJECT_ID/topics/TOPIC_ID"
"tags": {
"TAGKEY_NAME": "TAGVALUE_NAME"
}
}
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto
- TOPIC_ID: el ID del tema
- TAGKEY_NAME: el ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se ha adjuntado. Por ejemplo, tagKeys/567890123456.
- TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjunta. Por ejemplo, tagValues/567890123456.
Forzar etiquetas obligatorias
Puedes aplicar etiquetas obligatorias a los recursos para asegurarte de que haya etiquetas específicas cuando se creen recursos, como una etiqueta de centro de costes, para mantener el cumplimiento de las políticas de la organización. Para ello, puedes usar políticas de organización y restricciones personalizadas. La aplicación se produce en el momento de la creación de recursos, lo que impide el aprovisionamiento de recursos sin las etiquetas necesarias. Para obtener más información, consulta el artículo Aplicación de etiquetas obligatorias mediante políticas de la organización.
Configurar una restricción personalizada para aplicar etiquetas
Consola
En la Google Cloud consola, ve a la página Políticas de la organización.
Selecciona el selector de proyectos en la parte superior de la página.
En el selector de proyectos, selecciona la organización en la que quieras aplicar la restricción personalizada.
Configura una restricción personalizada con los siguientes parámetros:
- Método de implementación obligatoria:
Govern tags - Tipo de recurso: nombre completo del recurso REST Google Cloud
en el que quieres aplicar las etiquetas obligatorias. Por ejemplo,
file.googleapis.com/Instance. - Condición: condición de lenguaje de expresión común (CEL) que especifica las claves de etiqueta que quieres aplicar al recurso. Por ejemplo,
resource.hasDirectTagKey("1234567890/owner")para aplicar un enlace de etiqueta a la clave de etiqueta1234567890/owner. La función CEL deresource.hasDirectTagKeysolo coincide con las etiquetas aplicadas directamente a un recurso y no tiene en cuenta las etiquetas heredadas de los ancestros en la jerarquía de recursos. - Acción:
AllowoDeny.- Permitir: si se cumple la condición especificada, se permite la acción para crear o actualizar el recurso.
- Denegar: si se cumple la condición especificada, se bloquea la acción para crear o actualizar el recurso.
- Método de implementación obligatoria:
Haz clic en Crear restricción.
gcloud
Crea un archivo YAML para la restricción personalizada:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION
Haz los cambios siguientes:
ORGANIZATION_ID: el ID de tu organización, como1234567890.CONSTRAINT_NAME: el nombre que quieras asignar a la nueva restricción personalizada. Una restricción personalizada debe empezar porcustom.y solo puede incluir letras mayúsculas, letras minúsculas o números. Por ejemplo,custom.enforceMandatoryTags.RESOURCE_NAME: nombre completo del recurso RESTGoogle Cloud en el que quiere aplicar las etiquetas obligatorias (por ejemplo,file.googleapis.com/Instance).CONDITION: una condición de lenguaje de expresión común (CEL) que especifica las claves de etiqueta que quieres aplicar al recurso. Por ejemplo,resource.hasDirectTagKey("1234567890/owner")para aplicar un enlace de etiqueta a la clave de etiqueta1234567890/owner.ACTION: la acción que se debe llevar a cabo si se cumple la condicióncondition. Puede serALLOWoDENY.La acción de denegación significa que, si se cumple la condición especificada, se bloqueará la operación para crear o actualizar el recurso.
La acción de permitir significa que, si se cumple la condición especificada, se permite la operación para crear o actualizar el recurso. Esto también significa que se bloquearán todos los demás casos, excepto el que se haya incluido explícitamente en la condición.
DISPLAY_NAME: nombre descriptivo de la restricción. Este campo tiene una longitud máxima de 200 caracteres.DESCRIPTION: descripción de la restricción que se mostrará como mensaje de error cuando se infrinja la política. Este campo tiene una longitud máxima de 2000 caracteres.
Configura la restricción personalizada para que esté disponible en las políticas de la organización de tu organización.
Una vez que hayas definido la restricción personalizada, podrás probar y analizar los cambios en la política de la organización y aplicar la restricción.
Añadir etiquetas a recursos
Para añadir una etiqueta a temas, suscripciones o copias de seguridad, sigue estos pasos:
Consola
- Ve a la página Pub/Sub de la Google Cloud consola.
- Selecciona la página del recurso al que quieras adjuntar una etiqueta. Por ejemplo, para asociar una etiqueta a un tema, ve a la página Temas.
- Haga clic en Etiquetas.
- Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar ámbito. Selecciona tu organización y haz clic en Abrir.
- Haz clic en Añadir etiqueta.
- Selecciona la clave de la etiqueta que quieras adjuntar en la lista. Puedes filtrar la lista escribiendo palabras clave.
- Selecciona el valor de la etiqueta que quieras adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.
- Haz clic en Guardar.
- En el cuadro de diálogo Confirmar, haz clic en Confirmar para adjuntar la etiqueta.
Recibirás una notificación para confirmar que se han actualizado las etiquetas.
gcloud
Para adjuntar una etiqueta a un tema, una suscripción o una captura, debes crear un recurso de enlace de etiquetas con el comando gcloud resource-manager tags bindings create:
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Haz los cambios siguientes:
TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta. Por ejemplo,tagValues/567890123456.-
RESOURCE_IDes el ID completo del recurso, incluido el nombre de dominio de la API para identificar el tipo de recurso (//pubsub.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a/projects/PROJECT_ID/topics/TOPIC_ID, el ID completo es//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Mostrar las etiquetas asociadas a los recursos
Puede ver una lista de enlaces de etiquetas adjuntos directamente o heredados por el tema, la suscripción o la instantánea.
Consola
- Ve a la página Pub/Sub de la Google Cloud consola.
Seleccione la página del recurso cuyas etiquetas quiera ver. Por ejemplo, para ver las etiquetas de un tema, ve a la página Temas.
Las etiquetas se muestran en la sección Etiquetas de la página del tema en la consola.
gcloud
Para obtener una lista de las vinculaciones de etiquetas asociadas a un recurso, usa el comando gcloud resource-manager tags bindings list:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID
Haz los cambios siguientes:
-
RESOURCE_IDes el ID completo del recurso, incluido el nombre de dominio de la API para identificar el tipo de recurso (//pubsub.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a/projects/PROJECT_ID/topics/TOPIC_ID, el ID completo es//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Deberías obtener una respuesta similar a esta:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Desvincular etiquetas de recursos
Puedes separar etiquetas que se hayan adjuntado directamente a un tema, una suscripción o una instantánea. Las etiquetas heredadas se pueden anular adjuntando una etiqueta con la misma clave y un valor diferente, pero no se pueden separar.
Consola
- Ve a la página Pub/Sub de la Google Cloud consola.
- Seleccione la página del recurso al que quiera quitar una etiqueta. Por ejemplo, para quitar una etiqueta de un tema, ve a la página Temas.
- Haga clic en Etiquetas.
- En el panel Etiquetas, junto a la etiqueta que quieras desvincular, haz clic en Eliminar elemento.
- Haz clic en Guardar.
- En el cuadro de diálogo Confirmar, haz clic en Confirmar para separar la etiqueta.
Recibirás una notificación para confirmar que se han actualizado las etiquetas.
gcloud
Para eliminar un enlace de etiqueta, usa el comando gcloud resource-manager tags bindings delete:
gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Haz los cambios siguientes:
TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta adjunta. Por ejemplo,tagValues/567890123456.-
RESOURCE_IDes el ID completo del recurso, incluido el nombre de dominio de la API para identificar el tipo de recurso (//pubsub.googleapis.com/). Por ejemplo, para adjuntar una etiqueta a/projects/PROJECT_ID/topics/TOPIC_ID, el ID completo es//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Eliminar claves y valores de etiquetas
Cuando elimines una definición de clave o valor de etiqueta, asegúrate de que la etiqueta se haya desvinculado del tema, la suscripción o la instantánea. Debes eliminar los archivos adjuntos de etiquetas, denominados enlaces de etiquetas, antes de eliminar la definición de la etiqueta. Para eliminar claves y valores de etiquetas, consulta la sección Eliminar etiquetas.
Condiciones y etiquetas de gestión de identidades y accesos
Puedes usar etiquetas y condiciones de gestión de identidades y accesos para conceder enlaces de roles de forma condicional a los usuarios de tu jerarquía. Si se cambia o se elimina la etiqueta asociada a un recurso, se puede retirar el acceso de los usuarios a ese recurso si se ha aplicado una política de IAM con enlaces de roles condicionales. Para obtener más información, consulta Condiciones y etiquetas de Gestión de Identidades y Accesos.
Siguientes pasos
- Consulta los otros servicios que admiten etiquetas.
- Consulta Etiquetas y control de acceso para saber cómo usar etiquetas con gestión de identidades y accesos.