Crea y administra etiquetas

En esta página, se describen Google Cloud las etiquetas y cómo usarlas con Pub/Sub. Las etiquetas se pueden aplicar a temas, suscripciones y instantáneas de Pub/Sub. Se planea la compatibilidad para aplicar etiquetas a 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 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 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 conectan a los recursos con la creación de un recurso de vinculación de etiqueta que vincula el valor al Google Cloud recurso.

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
  • Visualiza y administra etiquetas a nivel de la organización: Visualizador de la organización (roles/resourcemanager.organizationViewer) en la organización
  • Crea, actualiza y borra definiciones de etiquetas: Administrador de etiquetas (roles/resourcemanager.tagAdmin) en el recurso para el que creas, actualizas o borras etiquetas
  • Adjunta y quita etiquetas de los recursos: Usuario de etiquetas (roles/resourcemanager.tagUser) en el valor de etiqueta y los recursos a los que adjuntas o quitas el valor de 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 mediante roles personalizados o cualquier otro rol predefinido.

Para adjuntar etiquetas a temas, suscripciones o instantáneas de Pub/Sub , necesitas el rol 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 te permite proporcionar de inmediato metadatos esenciales para tus temas, suscripciones o instantáneas, 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 Google Cloud consola.
  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 la organización o del 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. Puedes filtrar la lista escribiendo 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. Se crea el tema, la suscripción o la instantánea nuevos 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: El ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se adjunta, 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 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: El ID permanente o el nombre con espacio de nombres de la clave de etiqueta que se adjunta, 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

Aplica etiquetas obligatorias

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

Configura una restricción personalizada para aplicar etiquetas

Console

  1. En la Google Cloud consola, accede 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 forzosa: Govern tags
    • Tipo de recurso: El nombre completamente calificado del Google Cloud recurso de REST en el que deseas aplicar etiquetas obligatorias, por ejemplo, file.googleapis.com/Instance
    • Condición: Una condición de Common Expression Language (CEL) que especifica las claves de etiqueta que deseas aplicar en el recurso, por ejemplo, resource.hasDirectTagKey("1234567890/owner") para aplicar una vinculación de etiqueta para la clave de etiqueta 1234567890/owner. La función de CEL resource.hasDirectTagKey solo coincide con las etiquetas aplicadas directamente a un recurso y no considera las etiquetas heredadas de los ancestros 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.
      • Rechazar: 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: 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: el nombre completamente calificado del Google Cloud recurso de REST en el que deseas aplicar etiquetas obligatorias, por ejemplo, file.googleapis.com/Instance.

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

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

    La acción de rechazo implica que, si se cumple la condición especificada, se bloquea la operación para crear o actualizar el recurso.

    La acción de permitir implica que, si se cumple la condición especificada, se permite la operación para crear o actualizar el recurso. Esto también quiere decir que se bloquea el resto de casos, excepto el que se indica de forma explícita en la condición.

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

  • DESCRIPTION: una descripción fácil de usar 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 2000 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 Google Cloud consola.
  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 alcance. 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. Puedes filtrar la lista escribiendo 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 gcloud resource-manager tags bindings create comando:

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

Reemplaza lo siguiente:

  • TAGVALUE_NAME: el ID permanente o el nombre con espacio de nombres del valor de la etiqueta que adjuntas a un recurso, 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 directamente una lista de vinculaciones de etiquetas adjuntas al tema, la suscripción o la instantánea, o heredadas por estos.

Console

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

  3. Selecciona la página del recurso para el que deseas ver las etiquetas. Por ejemplo, para ver las etiquetas del 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 los 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 Google Cloud consola.
  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 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 conecta; 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 clave o una definición de valor 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?