Crea y administra etiquetas

En esta página, se describen las Google Cloud etiquetas y cómo usarlas con Pub/Sub. Las etiquetas se pueden aplicar a temas, suscripciones y copias instantáneas de Pub/Sub. Se planea la compatibilidad para aplicar etiquetas a los esquemas de Pub/Sub.

Acerca de las etiquetas de política

Una etiqueta es un par clave-valor que se puede adjuntar a un recurso dentro deGoogle 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 otorgar de forma condicional roles de Identity and Access Management (IAM) en función de si un recurso tiene una etiqueta específica. Para obtener más información sobre las etiquetas, consulta Descripción general de las etiquetas.

Las etiquetas se adjuntan a los recursos creando un recurso de vinculación de etiqueta que vincula el valor al recurso Google Cloud .

Permisos necesarios

Para obtener los permisos que necesitas para administrar etiquetas, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Visualizador de etiquetas (roles/resourcemanager.tagViewer) en los recursos a los que se adjuntan las etiquetas
  • Ver y administrar etiquetas a nivel de la organización: Visualizador de la organización (roles/resourcemanager.organizationViewer) en la organización
  • Crear, actualizar y borrar definiciones de etiquetas: Administrador de etiquetas (roles/resourcemanager.tagAdmin) en el recurso para el que creas, actualizas o borras etiquetas
  • Adjuntar y quitar etiquetas de los recursos: Usuario de etiquetas (roles/resourcemanager.tagUser) en el valor de la etiqueta y los recursos a los que adjuntas o quitas el valor de la etiqueta

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

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para adjuntar etiquetas a temas, suscripciones o instantáneas de Pub/Sub, necesitas el rol de editor de Pub/Sub (roles/pubsub.editor).

Crea claves y valores de etiqueta

Antes de poder adjuntar una etiqueta, debes crear una y configurar su valor. Para crear claves y valores de etiqueta, consulta Crea una etiqueta y Agrega un valor a una etiqueta.

Agrega etiquetas durante la creación de recursos

Puedes agregar etiquetas cuando creas temas, suscripciones o instantáneas. Agregar etiquetas durante la creación de recursos te permite proporcionar al instante metadatos esenciales para tus recursos y también ayuda a mejorar la organización, el seguimiento de costos y la aplicación automatizada de políticas.

Console

  1. Ve a la página Pub/Sub en la consola de Google Cloud .
  2. Ir a Pub/Sub

  3. Selecciona la opción para crear un tema, una suscripción o una instantánea nuevos.
  4. Haz clic en Administrar etiquetas.
  5. Si tu organización no aparece en el panel Administrar etiquetas, haz clic en Seleccionar alcance para las etiquetas. Elige agregar etiquetas definidas a nivel de tu organización o proyecto, y, luego, ingresa el ID correspondiente.
  6. Haz clic en Agregar etiqueta.
  7. Selecciona la clave para la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.
  8. Selecciona el valor de la etiqueta que deseas adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.
  9. Haz clic en Guardar. La sección Etiquetas se actualiza con la información de las etiquetas.
  10. Crea tu tema, suscripción o instantánea. El tema, la suscripción o la instantánea nuevos se crean con las etiquetas proporcionadas.

gcloud

Para agregar etiquetas durante la creación de temas, suscripciones o instantáneas, ejecuta el siguiente comando:

       gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
     

Reemplaza lo siguiente:

  • TOPIC_ID: El ID del tema
  • TAG_KEY: Es el ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se adjunta, por ejemplo, tagKeys/567890123456.
  • TAG_VALUE: Es 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 una coma, 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_ID

Proporciona el siguiente JSON en el cuerpo de la solicitud:

      
{
  "name": "projects/PROJECT_ID/topics/TOPIC_ID"
  "tags": {
    "TAGKEY_NAME": "TAGVALUE_NAME"
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto
  • TOPIC_ID: El ID del tema
  • TAGKEY_NAME: Es el ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se adjunta, por ejemplo, tagKeys/567890123456.
  • TAGVALUE_NAME: Es el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que se adjunta; por ejemplo, tagValues/567890123456.

Cómo aplicar etiquetas obligatorias

Puedes aplicar etiquetas obligatorias a los recursos para garantizar que haya etiquetas específicas cuando se creen recursos, como una etiqueta de centro de costos, para mantener el cumplimiento de las políticas de la organización. Puedes hacerlo con políticas de la organización y restricciones personalizadas. La aplicación se realiza en el momento de la creación del recurso, lo que impide el aprovisionamiento de recursos sin las etiquetas requeridas. Para obtener más información, consulta Aplicación de etiquetas obligatorias con políticas de la organización.

Configura una restricción personalizada para aplicar etiquetas

Console

  1. En la consola de Google Cloud , ve a la página Políticas de la organización.

    Ir a Políticas de la organización

  2. Selecciona el selector de proyectos en la parte superior de la página.

  3. En el selector de proyectos, selecciona la organización en la que deseas aplicar la restricción personalizada.

  4. Configura una restricción personalizada con los siguientes parámetros:

    • Método de aplicación: Govern tags
    • Tipo de recurso: Es el nombre completamente calificado del recurso de Google Cloud REST en el que deseas aplicar etiquetas obligatorias, por ejemplo, file.googleapis.com/Instance.
    • Condición: Es una condición de Common Expression Language (CEL) que especifica las claves de etiquetas que deseas aplicar en el recurso, por ejemplo, resource.hasDirectTagKey("1234567890/owner") para aplicar una vinculación de etiquetas para la clave de etiqueta 1234567890/owner. La función resource.hasDirectTagKey de CEL solo coincide con las etiquetas aplicadas directamente a un recurso y no considera las etiquetas heredadas de los elementos superiores en la jerarquía de recursos.
    • Acción: Allow o Deny.
      • 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.
  5. 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

Reemplaza lo siguiente:

  • ORGANIZATION_ID: Es el ID de la organización, como 1234567890.

  • CONSTRAINT_NAME: el nombre que deseas para tu nueva restricción personalizada. Una restricción personalizada debe comenzar con custom. y solo puede incluir letras mayúsculas, minúsculas o números, por ejemplo, custom.enforceMandatoryTags.

  • RESOURCE_NAME: Es el nombre completamente calificado del recurso deGoogle Cloud REST en el que deseas aplicar etiquetas obligatorias, por ejemplo, file.googleapis.com/Instance.

  • CONDITION: Es una condición de Common Expression Language (CEL) que especifica las claves de etiquetas que deseas aplicar en el recurso, por ejemplo, resource.hasDirectTagKey("1234567890/owner") para aplicar una vinculación de etiquetas para la clave de etiqueta 1234567890/owner.

  • ACTION: Es la acción que se realiza si se cumple condition. Puede ser ALLOW o DENY.

    La acción de rechazo 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 bloquean todos los demás casos, excepto el que se indica explícitamente en la condición.

  • DISPLAY_NAME: Es un nombre fácil para la restricción. La longitud máxima de este campo es 200 caracteres.

  • DESCRIPTION: Es una descripción fácil de la restricción que se mostrará como un mensaje de error cuando se infringe la política. La longitud máxima de este campo es de 2,000 caracteres.

Configura la restricción personalizada para que esté disponible para las políticas de la organización de tu empresa.

Después de definir la restricción personalizada, puedes probar y analizar los cambios en la política de la organización y aplicar la restricción.

Agrega etiquetas a recursos existentes

Para agregar una etiqueta a temas, suscripciones o instantáneas existentes, sigue estos pasos:

Console

  1. Ve a la página Pub/Sub en la consola de Google Cloud .
  2. Ir a Pub/Sub

  3. Selecciona la página del recurso al que deseas adjuntar una etiqueta. Por ejemplo, para adjuntar una etiqueta a un tema, ve a la página Temas.
  4. Haz clic en Etiquetas.
  5. Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar permiso. Selecciona tu organización y haz clic en Abrir.
  6. Haz clic en Agregar etiqueta.
  7. Selecciona la clave para la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.
  8. Selecciona el valor de la etiqueta que deseas adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.
  9. Haz clic en Guardar.
  10. En el cuadro de diálogo Confirmar, haz clic en Confirmar para adjuntar la etiqueta.
  11. Una notificación confirma que se actualizaron tus etiquetas.

gcloud

Para adjuntar una etiqueta a un tema, una suscripción o una instantánea, debes crear un recurso de vinculación de etiqueta con el comando gcloud resource-manager tags bindings create:

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID
      

Reemplaza lo siguiente:

  • TAGVALUE_NAME es el ID permanente o el nombre de espacio de nombres del valor de la etiqueta que se adjunta; por ejemplo, tagValues/567890123456.
  • RESOURCE_ID es 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.

Enumera las etiquetas adjuntas a los recursos

Puedes ver una lista de vinculaciones de etiquetas adjuntas o heredadas por el tema, la suscripción o la instantánea directamente.

Console

  1. Ve a la página Pub/Sub en la consola de Google Cloud .
  2. Ir a Pub/Sub

  3. Selecciona la página del recurso cuyas etiquetas deseas 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 vinculaciones de etiquetas adjuntas a un recurso, usa el comando gcloud resource-manager tags bindings list:

      gcloud resource-manager tags bindings list \
          --parent=RESOURCE_ID
      

Reemplaza lo siguiente:

  • RESOURCE_ID es 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 recibir una respuesta similar a la que figura a continuación:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      

Desconecta etiquetas de recursos

Puedes desconectar las etiquetas que se adjuntaron directamente a un tema, una suscripción o una instantánea. Las etiquetas heredadas se pueden anular conectando una etiqueta con la misma clave y un valor diferente, pero no se pueden desconectar.

Console

  1. Ve a la página Pub/Sub en la consola de Google Cloud .
  2. Ir a Pub/Sub

  3. Selecciona la página del recurso al que deseas quitarle una etiqueta. Por ejemplo, para quitar una etiqueta de un tema, ve a la página Temas.
  4. Haz clic en Etiquetas.
  5. En el panel Etiquetas, junto a la etiqueta que deseas desconectar, haz clic en Borrar elemento.
  6. Haz clic en Guardar.
  7. En el cuadro de diálogo Confirmar, haz clic en Confirmar para desconectar la etiqueta.

Una notificación confirma que se actualizaron tus etiquetas.

gcloud

Para borrar una vinculación de etiqueta, usa el comando gcloud resource-manager tags bindings delete:

      gcloud resource-manager tags bindings delete \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID
      

Reemplaza lo siguiente:

  • TAGVALUE_NAME es el ID permanente o el nombre de espacio de nombres del valor de la etiqueta que se adjunta; por ejemplo, tagValues/567890123456.
  • RESOURCE_ID es 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.

Borra claves y valores de etiqueta

Cuando quites una definición de valor o clave de etiqueta, asegúrate de que la etiqueta esté desconectada del tema, la suscripción o la instantánea. Debes borrar los adjuntos de etiqueta existentes, llamados vinculaciones de etiquetas, antes de borrar la definición de la etiqueta en sí. Para borrar claves y valores de etiqueta, consulta Borra etiquetas.

Etiquetas y condiciones de Identity and Access Management

Puedes usar etiquetas y condiciones de IAM para otorgar de forma condicional vinculaciones de roles a los usuarios en la jerarquía de tu proyecto. Cambiar o borrar la etiqueta adjunta a un recurso puede quitar el acceso del usuario a ese recurso si se aplicó una política de IAM con vinculaciones de funciones condicionales. Para obtener más información, consulta Etiquetas y condiciones de Identity and Access Management.

¿Qué sigue?