Crea y administra etiquetas

En esta guía, se describe cómo crear y administrar etiquetas para los recursos de la cuenta de servicio.

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 recurso de Google Cloud.

Permisos necesarios

Los permisos que necesitas dependen de la acción que debes realizar.

Para obtener estos permisos, pídele a tu administrador que otorgue el rol sugerido en el nivel adecuado de la jerarquía de recursos.

Visualiza etiquetas

Para ver las definiciones y etiquetas de etiquetas que se adjuntan a los recursos, necesitas el rol visualizador de etiquetas (roles/resourcemanager.tagViewer) o bien otro rol que incluya los siguientes permisos:

Permisos necesarios

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • listTagBindings para el tipo de recurso adecuado. Por ejemplo, compute.instances.listTagBindings para ver las etiquetas adjuntas a las instancias de Compute Engine.
  • listEffectiveTags
  • para el tipo de recurso adecuado. Por ejemplo, compute.instances.listEffectiveTags para ver todas las etiquetas adjuntas a las instancias de Compute Engine o heredadas de ellas.

Para ver las etiquetas a nivel de la organización, necesitas el rol Visualizador de la organización (roles/resourcemanager.organizationViewer) en el recurso de la organización.

Administra etiquetas

Para crear, actualizar y borrar definiciones de etiquetas, necesitas el rol Administrador de etiquetas (roles/resourcemanager.tagAdmin) o algún otro rol que incluya los siguientes permisos:

Permisos necesarios

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

Para administrar etiquetas a nivel de la organización, necesitas el rol Visualizador de la organización (roles/resourcemanager.organizationViewer) en el recurso de la organización.

Administra etiquetas en los recursos

Para agregar y quitar etiquetas adjuntas a los recursos, necesitas el rol Usuario de etiquetas (roles/resourcemanager.tagUser) o bien otro rol con permisos equivalentes, en el valor de etiqueta y los recursos a los que adjuntas el valor de etiqueta. El rol de Usuario de etiquetas incluye los siguientes permisos:

Permisos necesarios

  • Permisos necesarios para el recurso al que adjuntas el valor de la etiqueta
    • Permiso createTagBinding específico del recurso, como compute.instances.createTagBinding para instancias de Compute Engine.
    • Permiso deleteTagBinding específico del recurso, como compute.instances.deleteTagBinding para instancias de Compute Engine.
  • Permisos necesarios para el valor de etiqueta:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • Permisos que te permiten ver proyectos y definiciones de etiquetas:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

Para obtener los permisos que necesitas para conectar etiquetas a las cuentas de servicio, pídele a tu administrador que te otorgue el rol de IAM de administrador de cuentas de servicio (roles/iam.ServiceAccountAdmin) en la cuenta de servicio. 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.

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.

Cómo adjuntar una etiqueta a una cuenta de servicio

Después de crear la etiqueta, debes adjuntarla a una cuenta de servicio.

gcloud

Para adjuntar una etiqueta a una cuenta de servicio, debes crear un recurso de vinculación de etiquetas 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 conecta; por ejemplo, tagValues/567890123456.
  • RESOURCE_ID: El ID único o el correo electrónico de la cuenta de servicio, incluido el nombre de dominio de la API (//iam.googleapis.com/). Por ejemplo, el ID completo de una cuenta de servicio con el ID único 1029384756 en el proyecto test-project es //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756.

Enumera las etiquetas adjuntas a una cuenta de servicio

Puedes ver una lista de vinculaciones de etiquetas adjuntas o heredadas por la cuenta de servicio directamente.

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: El ID único o el correo electrónico de la cuenta de servicio, incluido el nombre de dominio de la API (//iam.googleapis.com/). Por ejemplo, el ID completo de una cuenta de servicio con el ID único 1029384756 en el proyecto test-project es //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756.

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: //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756
      

Desconecta etiquetas de una cuenta de servicio

Puedes desconectar las etiquetas que se conectaron directamente a una cuenta de servicio. Las etiquetas heredadas se pueden anular conectando una etiqueta con la misma clave y un valor diferente, pero no se pueden desconectar. Antes de borrar una etiqueta, debes desconectar su clave y sus valores de cada recurso al que esté conectado.

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: El ID único o el correo electrónico de la cuenta de servicio, incluido el nombre de dominio de la API (//iam.googleapis.com/). Por ejemplo, el ID completo de una cuenta de servicio con el ID único 1029384756 en el proyecto test-project es //iam.googleapis.com/projects/test-project/serviceAccounts/1029384756.

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 de la cuenta de servicio. 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?