Controlar el acceso y organizar las instancias con etiquetas

En esta página se describe cómo puede usar las etiquetas de Google Cloud para gestionar el acceso a sus instancias de Spanner.

Una Google Cloud etiqueta es un par clave-valor que puedes asociar a tus Google Cloud recursos, como proyectos o instancias de Spanner. Puedes usar etiquetas para agrupar y organizar tus instancias, así como para definir condicionalmente políticas de acceso de Gestión de Identidades y Accesos (IAM) en función de si una instancia tiene una etiqueta específica. Puedes crear y gestionar etiquetas de instancias de Spanner con la CLI de Google Cloud o laGoogle Cloud consola. Una vez que hayas creado las etiquetas, puedes crear un enlace de etiquetas para adjuntarlas a tus recursos de Google Cloud . Los enlaces de etiquetas se heredan de los elementos secundarios del recurso según la Google Cloud jerarquía de recursos. Por ejemplo, si adjunta una etiqueta a su proyecto, todas las instancias de ese proyecto heredarán la etiqueta. También puedes usar etiquetas para organizar tus recursos de Google Cloud , pero no puedes usarlas para definir condiciones en las políticas de IAM.

Para obtener más información sobre las etiquetas, consulte el artículo Descripción general de las etiquetas.

Casos prácticos habituales de las etiquetas de instancia de Spanner

Algunos casos prácticos habituales de las etiquetas son los siguientes:

  • Etiquetas de gestión de identidades y accesos: roles de gestión de identidades y accesos 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 de esa política de gestión de identidades y accesos, y ayuda a controlar el acceso a tu instancia de Spanner.

  • Etiquetas de estado: indican y gestionan el estado de una instancia mediante la creación de etiquetas. Por ejemplo, state:active, state:todelete y state:archive.

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

Cómo crear y gestionar etiquetas de instancias de Spanner

Las etiquetas se estructuran como pares clave-valor. Crea una clave de etiqueta en tu recurso de organización y, a continuación, asocia valores de etiqueta a la clave de etiqueta (por ejemplo, una clave de etiqueta environment con los valores prod y dev). Después, puedes crear un enlace de etiqueta que vincule el valor de etiqueta a un recurso Google Cloud , como un proyecto o una instancia de Spanner. Ten en cuenta que no puedes asignar una etiqueta a una base de datos.

Permisos obligatorios

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

Crear claves y valores de etiquetas

Para poder asociar una etiqueta a una instancia, primero debes crearla y asignarle un valor. Para crear claves y valores de etiqueta, consulte Crear una etiqueta y Añadir un valor de etiqueta.

Asignar una etiqueta a una instancia

Después de crear los pares clave-valor de la etiqueta, puedes crear un enlace de etiqueta y asociarlo a tu instancia de Spanner.

Consola

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

    Ir a instancias de Spanner

  2. Seleccione la casilla situada junto a la instancia a la que quiera adjuntar una etiqueta.

  3. Haz clic en Etiquetas.

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

  5. En el panel Etiquetas, selecciona Añadir etiqueta.

  6. En el campo Clave, selecciona la clave de la etiqueta que quieras adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.

  7. En el campo Valor, selecciona el valor de la etiqueta que quieras adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.

  8. Si quiere adjuntar más etiquetas, haga clic en Añadir etiqueta y seleccione la clave y el valor de cada una.

  9. Haz clic en Guardar.

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

    Recibirás una notificación para confirmar que se han actualizado las etiquetas.

gcloud

Para crear un enlace de etiqueta y adjuntarlo 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: 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 va a 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: ID de la organización.
    • KEY_NAME: el nombre visible (corto) de la clave de la etiqueta. Por ejemplo, env.
    • VALUE_NAME: el nombre visible (corto) del valor de la etiqueta. Por ejemplo, prod.
  • LOCATION: la ubicación de una instancia varía en función de su configuración:
    • En el caso de una instancia regional, la ubicación de su configuración. Por ejemplo, us-east1.
    • En el caso de una instancia birregional, la ubicación del recurso de dos letras. Por ejemplo, de para dual-region-germany1.
    • En el caso de una instancia multirregional, el nombre de su configuración. Por ejemplo, eur3 o nam-eur-asia1.

Por ejemplo, para crear un enlace de etiqueta 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 asociarla a tu instancia de Spanner mediante la API REST o RPC, consulta Asociar etiquetas a recursos.

Condiciones y etiquetas de gestión de identidades y accesos

Puedes usar etiquetas y condiciones de gestión de identidades y accesos para conceder enlaces de roles a usuarios de forma condicional. Si se aplica una política de IAM con enlaces de roles condicionales, al cambiar o eliminar la etiqueta asociada a un recurso, es posible que se retire el acceso de los usuarios a ese recurso.

Para obtener más información, consulta la descripción general de las condiciones de gestión de identidades y accesos.

Consola

Para usar etiquetas y conceder enlaces de rol a los usuarios de forma condicional, consulta Gestionar el acceso a las etiquetas.

gcloud

Para aplicar una condición basada en etiquetas a una política de gestión de identidades y accesos, asegúrate de tener los permisos necesarios y, a continuación, 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: ID de la organización.
  • ROLE: nombre del rol que se va a asignar a la cuenta principal. El nombre de 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: la cuenta principal a la que quieres añadir la vinculación de roles. 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 la clave de la etiqueta. Por ejemplo, env.
  • VALUE_NAME: el nombre visible (corto) del valor de la etiqueta. Por ejemplo, prod.

Este comando añade una vinculación de política de gestión de identidades y accesos a la política de gestión de identidades y accesos de una organización. Una vinculación de política consta de un miembro, un rol y una condición opcional.

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

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

Mostrar las etiquetas adjuntas a una instancia

Puede ver una lista de las vinculaciones de etiquetas adjuntas directamente a la instancia o heredadas por ella.

Consola

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

    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 enlaces de etiquetas directamente asociados a un recurso, usa el comando gcloud resource-manager tags bindings list. Si añade la marca --effective, también obtendrá todos los enlaces de etiquetas heredados por este recurso.

Para enumerar todos los enlaces de etiquetas asociados 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: ID de la instancia.
  • LOCATION: La ubicación de una instancia varía en función de su configuración:
    • En el caso de una instancia regional, la ubicación de su configuración. Por ejemplo, us-east1.
    • En el caso de una instancia birregional, la ubicación del recurso de dos letras. Por ejemplo, de para dual-region-germany1.
    • En el caso de una instancia multirregional, el nombre de su configuración. Por ejemplo, eur3 o nam-eur-asia1.

API

Para ver una lista de las asociaciones de etiquetas adjuntas directamente a la instancia o heredadas por ella mediante la API REST o la API RPC, consulta Listar todas las etiquetas asociadas a un recurso.

Eliminar una vinculación de etiquetas

Cuando elimine una definición de clave o valor de etiqueta, asegúrese de que la etiqueta se haya desvinculado de la instancia. Debes eliminar las vinculaciones de etiquetas que ya tengas antes de eliminar la etiqueta.

Consola

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

    Ir a instancias de Spanner

  2. Seleccione la casilla situada junto a la instancia de la que quiera eliminar una vinculación de etiquetas.

  3. Haz clic en Etiquetas.

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

  5. Haz clic en Guardar.

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

    Recibirás una notificación para confirmar que se han actualizado las etiquetas.

gcloud

Para eliminar un enlace de etiqueta, 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: 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 va a 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: ID de la organización.
    • KEY_NAME: el nombre visible (corto) de la clave de la etiqueta. Por ejemplo, env.
    • VALUE_NAME: el nombre visible (corto) del valor de la etiqueta. Por ejemplo, prod.
  • LOCATION: la ubicación de una instancia varía en función de su configuración:
    • En el caso de una instancia regional, la ubicación de su configuración. Por ejemplo, us-east1.
    • En el caso de una instancia birregional, la ubicación del recurso de dos letras. Por ejemplo, de para dual-region-germany1.
    • En el caso de una instancia multirregional, el nombre de su configuración. Por ejemplo, eur3 o nam-eur-asia1.

API

Para desvincular una etiqueta de un recurso eliminando el recurso de vinculación de etiquetas mediante la API REST o RPC, consulta Desvincular una etiqueta de un recurso.

Eliminar una etiqueta

Una vez que haya eliminado la vinculación de etiquetas, podrá eliminar la etiqueta. Para eliminar claves y valores de etiquetas, consulta Eliminar etiquetas.

Siguientes pasos