Controla el acceso y organiza instancias con etiquetas

En esta página, se describe cómo puedes usar Google Cloud etiquetas para administrar el acceso a tus instancias de Spanner.

Una Google Cloud etiqueta es un par clave-valor que puedes adjuntar a tus Google Cloud recursos, como proyectos o instancias de Spanner. Puedes usar etiquetas para agrupar y organizar tus instancias, y para establecer de forma condicional políticas de acceso de Identity and Access Management (IAM) en función de si una instancia tiene una etiqueta específica. Puedes crear y administrar etiquetas de instancias de Spanner con Google Cloud CLI o Google Cloud la consola. Después de crear tus etiquetas, puedes crear una vinculación de etiquetas para adjuntar la etiqueta a tus Google Cloud recursos. Las vinculaciones de etiquetas se heredan de los elementos secundarios del recurso según la Google Cloud jerarquía de recursos. Por ejemplo, si adjuntas una etiqueta a tu proyecto, todas las instancias de ese proyecto la heredan. También puedes usar etiquetas para organizar tus Google Cloud recursos, pero no puedes usarlas para establecer condiciones en las políticas de IAM.

Para obtener más información sobre las etiquetas, consulta Descripción general de las etiquetas.

Casos de uso comunes para etiquetas de instancias de Spanner

Estos son algunos casos de uso comunes de las etiquetas:

  • Etiquetas de IAM: Roles de IAM en función de si una instancia tiene una etiqueta específica. La presencia o ausencia de un valor de etiqueta es la condición para esa política de IAM y ayuda a controlar el acceso a tu instancia de Spanner.

  • Etiquetas de estado: Crea etiquetas para indicar y administrar el estado de una instancia. Por ejemplo, state:active, state:todelete y state:archive.

  • Etiquetas de entorno: Crea pares clave-valor, como env:prod, env:dev y env:test, para especificar entornos de producción, prueba y desarrollo para las instancias.

Cómo crear y administrar etiquetas de instancias de Spanner

La estructura de las etiquetas son pares clave-valor. Crea una clave de etiqueta en tu recurso de organización y, luego, adjunta valores de etiqueta a la clave de etiqueta (por ejemplo, una clave de etiqueta environment con valores prod y dev). Luego, puedes crear una vinculación de etiquetas que vincule el valor de la etiqueta a un Google Cloud recurso, como un proyecto o una instancia de Spanner. Ten en cuenta que no puedes asignar una etiqueta a una base de datos.

Permisos necesarios

Los permisos que necesitas dependen de la acción que debes realizar. Para obtener más información, consulta Permisos necesarios en la documentación de Resource Manager.

Crea claves y valores de etiqueta

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

Adjunta una etiqueta a una instancia

Después de crear tus pares clave-valor de etiqueta, puedes crear una vinculación de etiquetas y adjuntarla a tu instancia de Spanner.

Console

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

    Ir a Instancias de Spanner

  2. Selecciona la casilla de verificación junto a la instancia a la que deseas adjuntar una etiqueta.

  3. Haz clic en Etiquetas.

  4. Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar alcance. Selecciona tu organización y haz clic en Abrir.

  5. En el panel Etiquetas, selecciona Agregar etiqueta.

  6. En el campo Clave, selecciona la clave de la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.

  7. En el campo Valor, selecciona el valor de la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.

  8. Si deseas adjuntar más etiquetas, haz clic en Agregar etiqueta y selecciona la clave y el valor para cada una.

  9. Haz clic en Guardar.

  10. En el cuadro de diálogo Confirmar, haz clic en Confirmar para adjuntar la etiqueta.

    Una notificación confirma que se actualizaron tus etiquetas.

gcloud

Para crear una vinculación de etiquetas y adjuntarla a tu instancia, ejecuta el siguiente comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=TAG_VALUE_NAME
--location=LOCATION
  • PROJECT_ID: El ID del proyecto.
  • INSTANCE_ID: El ID de la instancia.
  • TAG_VALUE_NAME: TAG_VALUE_NAME es el ID permanente o el ID de espacio de nombres del valor de la etiqueta que se adjuntará. Por ejemplo: tagValues/4567890123 (ID permanente) o 12345678/env/prod (ID de espacio de nombres). El ID de espacio de nombres consta de lo siguiente:
    • ORG_ID: El ID de la organización.
    • KEY_NAME: El nombre visible (corto) de tu clave de etiqueta. Por ejemplo, env.
    • VALUE_NAME: El nombre visible (corto) de tu valor de etiqueta. Por ejemplo, prod.
  • LOCATION: La ubicación de una instancia varía según su configuración:
    • Para una instancia regional, la ubicación de su configuración. Por ejemplo, us-east1.
    • Para una instancia birregional, la ubicación del recurso de 2 letras. Por ejemplo, de para dual-region-germany1.
    • Para una instancia multirregional, el nombre de su configuración. Por ejemplo, eur3 o nam-eur-asia1.

Por ejemplo, para crear una vinculación de etiquetas en tu instancia de Spanner my-instance con el par clave-valor de etiqueta env:prod, ejecuta el siguiente comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1

API

Para crear una vinculación de etiquetas y adjuntarla a tu instancia de Spanner con la API de REST o RPC, consulta Cómo adjuntar etiquetas a recursos.

Etiquetas y condiciones de IAM

Puedes usar etiquetas y condiciones de IAM para otorgar de forma condicional vinculaciones de roles a los usuarios. Si se aplica una política de IAM con vinculaciones de roles condicionales, cambiar o borrar la etiqueta adjunta a un recurso puede quitar el acceso del usuario a ese recurso.

Para obtener más información, consulta Descripción general de las Condiciones de IAM.

Console

Para usar etiquetas para otorgar de forma condicional vinculaciones de roles a los usuarios, consulta Administra el acceso a las etiquetas.

gcloud

Para aplicar una condición basada en etiquetas a una política de IAM, asegúrate de tener los permisos necesarios y, luego, ejecuta el siguiente comando:

gcloud organizations add-iam-policy-binding ORG_ID
--role=roles/ROLE --member=PRINCIPAL
--condition=resource.matchTag('PROJECT_ID/KEY_NAME', 'VALUE_NAME')
  • ORG_ID: El ID de la organización.
  • ROLE: El nombre del rol que se asignará al principal. El nombre del rol es la ruta completa de un rol predefinido, como roles/logging.viewer, o el ID de un rol personalizado, como organizations/{ORG_ID}/roles/logging.viewer.
  • PRINCIPAL: El principal al que deseas agregar la vinculación de rol. Debe tener el formato user|group|serviceAccount:email o domain:domain. Por ejemplo, user:test-user@gmail.com, group:admins@example.com, serviceAccount:test123@example.domain.com o domain:example.domain.com.
  • PROJECT_ID: El ID del proyecto.
  • KEY_NAME: El nombre visible (corto) de tu clave de etiqueta. Por ejemplo, env.
  • VALUE_NAME: El nombre visible (corto) de tu valor de etiqueta. Por ejemplo, prod.

Este comando agrega una vinculación de política de IAM a la política de IAM de una organización. Una vinculación de política consta de un miembro, un rol y una condición opcional.

Por ejemplo, para otorgar de forma condicional el rol spanner.backupAdmin a user1@example.com en todos los recursos del proyecto 123456789012 con la etiqueta env:prod, ejecuta el comando:

gcloud organizations add-iam-policy-binding my-organization
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')

Enumera las etiquetas adjuntas a una instancia

Puedes ver una lista de vinculaciones de etiquetas adjuntas a la instancia o heredadas por ella.

Console

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

    Ir a Instancias de Spanner

  2. En la lista de instancias, busca la columna Etiquetas. Las etiquetas se muestran en el formato key:value.

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 obtendrás todas las vinculaciones de etiquetas heredadas por este recurso.

Para enumerar todas las vinculaciones de etiquetas adjuntas a una instancia, ejecuta el siguiente comando:

gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
  • PROJECT_ID: El ID del proyecto.
  • INSTANCE_ID: El ID de la instancia.
  • LOCATION: La ubicación de una instancia varía según su configuración:
    • Para una instancia regional, la ubicación de su configuración. Por ejemplo, us-east1.
    • Para una instancia birregional, la ubicación del recurso de 2 letras. Por ejemplo, de para dual-region-germany1.
    • Para una instancia multirregional, el nombre de su configuración. Por ejemplo, eur3 o nam-eur-asia1.

API

Para ver una lista de vinculaciones de etiquetas adjuntas a la instancia o heredadas por ella con la API de REST o RPC, consulta Cómo enumerar todas las etiquetas adjuntas a un recurso.

Borra una vinculación de etiquetas

Cuando quites una definición de valor o clave de etiqueta, asegúrate de que la etiqueta esté desconectada de la instancia. Debes borrar las vinculaciones de etiquetas existentes antes de borrar la etiqueta.

Console

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

    Ir a Instancias de Spanner

  2. Selecciona la casilla de verificación junto a la instancia para la que deseas borrar una vinculación de etiquetas.

  3. Haz clic en Etiquetas.

  4. En el panel Etiquetas, junto a la etiqueta que deseas desconectar, haz clic en Borrar elemento.

  5. Haz clic en Guardar.

  6. 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 etiquetas, ejecuta el siguiente comando:

gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=TAG_VALUE_NAME
--location=LOCATION
  • PROJECT_ID: El ID del proyecto.
  • INSTANCE_ID: El ID de la instancia.
  • TAG_VALUE_NAME: TAG_VALUE_NAME es el ID permanente o el ID de espacio de nombres del valor de la etiqueta que se adjuntará. Por ejemplo: tagValues/4567890123 (ID permanente) o 12345678/env/prod (ID de espacio de nombres). El ID de espacio de nombres consta de lo siguiente:
    • ORG_ID: El ID de la organización.
    • KEY_NAME: El nombre visible (corto) de tu clave de etiqueta. Por ejemplo, env.
    • VALUE_NAME: El nombre visible (corto) de tu valor de etiqueta. Por ejemplo, prod.
  • LOCATION: La ubicación de una instancia varía según su configuración:
    • Para una instancia regional, la ubicación de su configuración. Por ejemplo, us-east1.
    • Para una instancia birregional, la ubicación del recurso de 2 letras. Por ejemplo, de para dual-region-germany1.
    • Para una instancia multirregional, el nombre de su configuración. Por ejemplo, eur3 o nam-eur-asia1.

API

Para desconectar una etiqueta de un recurso borrando el recurso de vinculación de etiquetas con la API de REST o RPC, consulta Cómo desconectar una etiqueta de un recurso.

Borra una etiqueta

Después de borrar la vinculación de etiquetas, puedes borrar la etiqueta. Para borrar claves y valores de etiqueta, consulta Borra etiquetas.

¿Qué sigue?