Controla el acceso y organiza las instancias con etiquetas

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

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

Estos son algunos casos de uso comunes de las etiquetas:

  • Etiquetas de Identity and Access Management (IAM): Otorga permisos de identidad y acceso Funciones de administración (IAM) en función de si una instancia tiene una etiqueta específica. El 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: Indican y administran el estado de una instancia mediante la creación de etiquetas. Por ejemplo, state:active, state:todelete y state:archive.
  • Etiquetas de entorno: Especifica entornos de producción, prueba y desarrollo. para las instancias creando pares clave-valor como env:prod, env:dev y env:test

Cómo crear y administrar etiquetas de instancias de Spanner

Las etiquetas se estructuran como pares clave-valor. Puedes crear una clave de etiqueta en tu recurso de organización y, luego, adjuntar valores de etiqueta a la clave de etiqueta (por ejemplo, una clave de etiqueta environment con valores prod y dev). Luego, puedes crear una etiqueta que vincula el valor de la etiqueta a un recurso de Google Cloud, como un proyecto o Spanner. Ten en cuenta que no puedes asignar una etiqueta a en la base de datos.

Permisos necesarios

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

Crea claves y valores de etiqueta

Antes de poder adjuntar un rótulo identificador a tu instancia, debes crear el rótulo y asignar su valor. Para crear claves y valores de etiqueta, consulta Cómo crear una etiqueta y Cómo agregar un valor de etiqueta.

Adjunta una etiqueta a una instancia

Después de crear los pares clave-valor de etiquetas, puede crear una vinculación de etiqueta y adjuntarlo a tu instancia de Spanner.

Console

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

    Ir a Instancias de Spanner

  2. Selecciona 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 desde la que deseas adjuntar el archivo. 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 quieres adjuntar más etiquetas, haz clic en Agregar etiqueta y seleccionar la clave y valor de cada una.

  9. Haz clic en Guardar.

  10. En el 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 etiqueta 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=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
  • PROJECT_ID: El ID del proyecto.
  • INSTANCE_ID: El ID de la instancia.
  • ORG_ID: Es el ID de la organización.
  • KEY_NAME: El nombre visible (corto) de tu etiqueta . Por ejemplo, env
  • VALUE_NAME: El nombre visible (corto) de tu etiqueta valor. Por ejemplo, prod
  • LOCATION: La ubicación de la instancia. Por ejemplo, us-east1.

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

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

Condiciones y etiquetas de IAM

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

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

Console

Si quieres usar etiquetas para otorgar vinculaciones de roles a usuarios de forma condicional, 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: Es el ID de la organización.
  • ROLE: Es el nombre de la función que se asignará a la principal. El el nombre del rol es la ruta de acceso completa de un rol predefinido, como roles/logging.viewer o el ID de un rol personalizado, como organizations/{ORG_ID}/roles/logging.viewer
  • PRINCIPAL: Es la principal a la que deseas agregar. la vinculación de roles. Debe tener el siguiente 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 etiqueta . Por ejemplo, env
  • VALUE_NAME: El nombre visible (corto) de tu etiqueta valor. 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 a user1@example.com el elemento El rol de spanner.backupAdmin en los 123456789012 recursos del proyecto con el env:prod, ejecuta el siguiente comando:

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

Enumerar las etiquetas adjuntas a una instancia

Puedes ver una lista de vinculaciones de etiquetas directamente vinculadas o heredadas por instancia.

gcloud

Para obtener una lista de vinculaciones de etiquetas adjuntas a un recurso, usa el comando gcloud resource-manager tags bindings list: Si agregas el --effective, también obtendrás todas las vinculaciones de etiquetas que hereda esta recurso.

Para enumerar todas las vinculaciones de etiquetas vinculadas 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 la instancia. Por ejemplo, us-east1

Borra una vinculación de etiqueta

Al quitar una clave de etiqueta o una definición de valor, asegúrate de que la etiqueta esté separada del instancia. Debes borrar las vinculaciones de etiquetas existentes antes de borrarla.

Console

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

    Ir a Instancias de Spanner

  2. Selecciona la instancia para la que deseas borrar una vinculación de etiqueta.

  3. Haz clic en Etiquetas.

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

  5. Haz clic en Guardar.

  6. En el diálogo Confirmar, haz clic en Confirmar para separar la etiqueta.

    Una notificación confirma que se actualizaron tus etiquetas.

gcloud

Para borrar una vinculación de etiqueta, ejecuta el siguiente comando:

gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
  • PROJECT_ID: El ID del proyecto.
  • INSTANCE_ID: El ID de la instancia.
  • ORG_ID: Es el ID de la organización.
  • KEY_NAME: El nombre visible (corto) de tu etiqueta . Por ejemplo, env
  • VALUE_NAME: El nombre visible (corto) de tu etiqueta valor. Por ejemplo, prod
  • LOCATION: La ubicación de la instancia. Por ejemplo, us-east1.

Borra una etiqueta

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

¿Qué sigue?