Administra etiquetas de recursos


En esta guía, se describe cómo crear y administrar etiquetas para los recursos de Compute Engine. Una etiqueta es un par clave-valor que se puede adjuntar a un recurso de Google Cloud. Las etiquetas se usan para varios propósitos, incluidos los siguientes:

  • Permitir o denegar de forma condicional las políticas según si un recurso tiene una etiqueta específica
  • Definir las fuentes y los destinos en las políticas de firewall de la red global y las políticas de firewall de red regionales.
  • Organiza los recursos de forma lógica

Después de crear una etiqueta y otorgarle el acceso adecuado a la etiqueta y al recurso, puedes adjuntarla como un par clave-valor. Puedes adjuntar exactamente un valor a un recurso para una clave determinada. Por ejemplo, si adjuntas la etiqueta environment: development, no puedes adjuntar las etiquetas environment: production o environment: test. Cada recurso puede tener un máximo de 50 pares clave-valor adjuntos.

Para adjuntar etiquetas a los recursos, debes crear un recurso TagBinding que vincule el valor de la etiqueta con el recurso Google Cloud. Para obtener más información sobre las etiquetas y cómo funcionan, consulta el documento Descripción general de etiquetas.

Antes de comenzar

  • Lee la descripción general de las etiquetas en la documentación de Resource Manager.
  • Lee Crea y administra etiquetas en la documentación de Resource Manager.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Permisos

Para administrar las etiquetas de los recursos de Compute Engine, los usuarios y las cuentas de servicio deben tener el rol tagUser. Para obtener más información sobre la función tagUser, consulta Permisos necesarios.

Recursos admitidos

Compute Engine admite el etiquetado de los siguientes recursos:

  • Solo después de la creación del recurso:

    • Grupos de instancias administrados (MIG)
    • Imágenes
    • Instantáneas
    • La mayoría de los recursos de red, como los recursos de red, subred, firewall y verificación de estado.
  • Durante y después de la creación de recursos: Instancias y discos de máquinas virtuales (VM)

Agrega etiquetas a un recurso

Las etiquetas existentes se pueden adjuntar a ciertos recursos después de que se creó el recurso mediante las siguientes instrucciones.

Console

Según el tipo de recurso, los pasos exactos pueden ser un poco diferentes. Por ejemplo, con los siguientes pasos, se adjunta una etiqueta a una VM:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. En la columna Nombre, haz clic en el nombre de la VM a la que deseas agregar etiquetas.

  4. En la página de detalles de la instancia de VM, completa los siguientes pasos:

    1. Haz clic en Editar.
    2. En la sección Básico, haz clic en Administrar etiquetas y agrega las etiquetas que deseas para la instancia.
    3. Haz clic en Guardar.

gcloud

Para revisar las instrucciones detalladas sobre cómo usar estas marcas, lee Adjunta una etiqueta a un recurso en la documentación de Resource Manager.

Por ejemplo, el siguiente comando adjunta una etiqueta a una VM:

gcloud resource-manager tags bindings create \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Reemplaza lo siguiente:

  • LOCATION_NAME: Es la región del recurso de destino, como us-central1.
  • TAGVALUE_ID: El ID numérico del valor de la etiqueta
  • PROJECT_NUMBER: Es el ID numérico del proyecto
  • ZONE: el nombre de la zona, como us-central1-a
  • VM_ID: Es el ID numérico de la instancia de VM

API

Para adjuntar una etiqueta a un recurso, primero debes crear una representación JSON de una vinculación de etiqueta que incluya el ID permanente o el nombre del espacio de nombres del valor de la etiqueta y el ID permanente del recurso. Para obtener más información sobre el formato de una vinculación de etiqueta, consulta la Referencia de TagBinding.

Para adjuntar la etiqueta a un recurso zonal, como una instancia de VM, usa el método tagBindings.create con el extremo regional en el que se encuentra tu recurso. Por ejemplo:

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

El cuerpo de la solicitud puede ser uno de los siguientes:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValue": "tagValue/TAGVALUE_ID"
}

O el siguiente:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}

Reemplaza lo siguiente:

  • LOCATION: Es la ubicación a la que pertenece el recurso de destino
  • PROJECT_NUMBER: Es el ID numérico del proyecto
  • ZONE: el nombre de la zona, como us-central1-a
  • VM_ID: El ID numérico de la VM
  • TAGVALUE_ID es el ID permanente del valor de la etiqueta que se adjunta; por ejemplo: 4567890123.
  • TAGVALUE_NAMESPACED_NAME es el nombre con espacio de nombres del valor de la etiqueta que se adjunta y tiene el siguiente formato: parentNamespace/tagKeyShortName/tagValueShortName

Agrega etiquetas a un recurso durante su creación

En ciertas situaciones, es posible que desees etiquetar recursos durante la creación del recurso, en lugar de hacerlo después de crearlo. Por ejemplo, es posible que desees aplicar etiquetas de firewall para las políticas de red cuando crees el recurso de firewall de nueva generación de Cloud.

Console

Según el tipo de recurso, los pasos exactos pueden ser un poco diferentes. Los siguientes pasos son para una VM:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. Haz clic en Crear instancia.

  4. Haz clic en Manage Tags and Labels.

  5. Haz clic en Agregar etiquetas.

  6. Sigue las instrucciones en el panel lateral para seleccionar las etiquetas que deseas agregar a la instancia.

  7. Haz clic en Guardar.

  8. Completa otros pasos en Crea e inicia una instancia de VM para terminar de crear la instancia.

gcloud

Para adjuntar una etiqueta a un recurso durante la creación del recurso, agrega la marca --resource-manager-tags con el comando create correspondiente. Por ejemplo, para adjuntar una etiqueta a una VM, usa el siguiente comando:

gcloud compute instances create INSTANCE_NAME --resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID

Reemplaza lo siguiente:

  • INSTANCE_NAME: el nombre de tu instancia
  • TAGKEY_ID: El ID numérico de clave de etiqueta
  • TAGVALUE_ID: el ID numérico permanente del valor de la etiqueta que se adjunta; por ejemplo: 4567890123

Para especificar varias etiquetas, sepáralas con una coma, por ejemplo, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.

API

Realiza una solicitud POST a la siguiente URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances

Incluye el siguiente JSON de la solicitud:

{
  "name": INSTANCE_NAME,
  "params": {
    "resourceManagerTags": {
      "tagKeys/TAGKEY_ID": "tagValues/TAGVALUE_ID",
    },
  }
  // other fields omitted
}

Reemplaza lo siguiente:

  • INSTANCE_NAME: el nombre de tu instancia
  • TAGKEY_ID: El ID numérico de clave de etiqueta
  • TAGVALUE_ID: el ID numérico permanente del valor de la etiqueta que se adjunta; por ejemplo: 4567890123

Desconecta una etiqueta de un recurso

Para desconectar una etiqueta de un recurso, borra el recurso de vinculación de etiquetas.

Para revisar las instrucciones sobre cómo desconectar etiquetas, consulta Desconecta una etiqueta de un recurso en la documentación de Resource Manager.

Console

Según el tipo de recurso, los pasos exactos pueden ser un poco diferentes. Por ejemplo, con los siguientes pasos, se separa una etiqueta de una VM:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. En la columna Nombre, haz clic en el nombre de la VM a la que deseas agregar etiquetas.

  4. En la página de detalles de la instancia de VM, completa los siguientes pasos:

    1. Haz clic en Editar.
    2. En la sección Básico, haz clic en Administrar etiquetas y quita las etiquetas que deseas para la instancia.
    3. Haz clic en Guardar.

gcloud

En el siguiente ejemplo, se separa una etiqueta de una VM mediante la CLI de gcloud:

gcloud resource-manager tags bindings delete \
--location LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Reemplaza lo siguiente:

  • LOCATION_NAME: Es la región del recurso de destino, como us-central1.
  • TAGVALUE_ID: Es el ID numérico de la clave de etiqueta
  • PROJECT_NUMBER: Es el ID numérico del proyecto
  • ZONE: el nombre de la zona, como us-central1-a
  • VM_ID: Es el ID numérico de la instancia de VM

Para actualizar o reemplazar una vinculación de etiqueta existente por otra, desconecta la vinculación de etiqueta anterior y adjunta la nueva.

API

Para borrar una vinculación de etiqueta adjunta a un recurso, como una VM, usa el método tagBindings.delete con el extremo regional en el que se encuentra tu recurso.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Donde:

  • TAGBINDINGS_NAME es el ID permanente de TagBinding; por ejemplo: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456.

  • LOCATION es el extremo regional para tu recurso; por ejemplo: us-central1.

Visualiza etiquetas conectadas a un recurso

Para revisar las instrucciones detalladas sobre cómo enumerar etiquetas, consulta Enumera las etiquetas conectadas a un recurso en la documentación de Resource Manager.

Console

Según el tipo de recurso, los pasos exactos pueden ser un poco diferentes. Por ejemplo, con los siguientes pasos, se muestra cómo ver las etiquetas de una VM:

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona el proyecto y haz clic en Continuar.

  3. En la columna Nombre, haz clic en el nombre de la VM de la que deseas ver las etiquetas.

  4. En la página de detalles de la instancia de VM, busca etiquetas en la sección Etiquetas.

gcloud

Para obtener una lista de vinculaciones de etiquetas adjuntas a un recurso, usa el comando gcloud resource-manager tags bindings list: Si agregas la marca --effective, también se mostrará una lista de etiquetas heredadas por este recurso. Por ejemplo:

gcloud resource-manager tags bindings list \
    --location=LOCATION_NAME \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Reemplaza lo siguiente:

  • LOCATION_NAME: Es la región del recurso de destino, como us-central1.
  • PROJECT_NUMBER: Es el ID numérico del proyecto
  • ZONE: el nombre de la zona, como us-central1-a
  • VM_ID: Es el ID numérico de la instancia de VM

Si agregas la marca --effective al comando tags bindings list, también se mostrará una lista de todas las etiquetas heredadas por este recurso. Deberías recibir una respuesta similar a la que figura a continuación:

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

Si todas las etiquetas evaluadas en un recurso se adjuntan directamente, el campo inherited es falso y se omite.

API

Si deseas enumerar las vinculaciones de etiquetas conectadas a un recurso regional, como las instancias de Compute Engine, usa el método tagBindings.list con el extremo regional en el que se encuentra tu recurso. Por ejemplo:

GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID"
}

Reemplaza lo siguiente:

  • LOCATION_NAME: Es la región del recurso de destino, como us-central1.
  • PROJECT_NUMBER: Es el ID numérico del proyecto
  • ZONE: el nombre de la zona, como us-central1-a
  • VM_ID: Es el ID numérico de la instancia de VM

¿Qué sigue?