En esta página se describe cómo puedes usar etiquetas Google Cloud para gestionar el acceso a tus 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 instancia 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 gestión de identidades y accesos.
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
Estos son algunos casos prácticos habituales de las etiquetas:
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
ystate: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
yenv: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 adjuntar una etiqueta a tu 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
En la consola, ve a la página Instancias de Spanner. Google Cloud
Seleccione la instancia a la que quiera adjuntar una etiqueta.
Haz clic en
Etiquetas.Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar ámbito. Selecciona tu organización y haz clic en Abrir.
En el panel Etiquetas, selecciona Añadir etiqueta.
En el campo Clave, selecciona la clave de la etiqueta que quieras adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.
En el campo Valor, selecciona el valor de la etiqueta que quieras adjuntar de la lista. Puedes filtrar la lista escribiendo palabras clave.
Si quiere adjuntar más etiquetas, haga clic en
Añadir etiqueta y seleccione la clave y el valor de cada una.Haz clic en Guardar.
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=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
PROJECT_ID
: el ID del proyecto.INSTANCE_ID
: el ID de la instancia.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 tu instancia. Por ejemplo,us-east1
.
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
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, comoroles/logging.viewer
, o el ID de un rol personalizado, comoorganizations/{ORG_ID}/roles/logging.viewer
.PRINCIPAL
: la cuenta principal a la que quieres añadir la vinculación de roles. Debe tener el formatouser|group|serviceAccount:email
odomain:domain
. Por ejemplo,user:test-user@gmail.com
,group:admins@example.com
,serviceAccount:test123@example.domain.com
odomain: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-project
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')
Mostrar las etiquetas asociadas a una instancia
Puede ver una lista de las vinculaciones de etiquetas adjuntas directamente a la instancia o heredadas por ella.
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
: el ID de la instancia.LOCATION
: la ubicación de tu instancia. Por ejemplo,us-east1
.
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
En la consola, ve a la página Instancias de Spanner. Google Cloud
Seleccione la instancia de la que quiera eliminar un enlace de etiqueta.
Haz clic en
Etiquetas.En el panel Etiquetas, junto a la etiqueta que quieras desvincular, haz clic en
Eliminar elemento.Haz clic en Guardar.
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=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
PROJECT_ID
: el ID del proyecto.INSTANCE_ID
: el ID de la instancia.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 tu instancia. Por ejemplo,us-east1
.
Eliminar una etiqueta
Una vez que hayas eliminado la vinculación de etiquetas, podrás eliminar la etiqueta. Para eliminar claves y valores de etiquetas, consulta Eliminar etiquetas.
Siguientes pasos
Google Cloud Más información sobre las etiquetas
Consulta más información sobre cómo crear y gestionar etiquetas en tus instancias de Spanner con Resource Manager.
Consulta más información sobre las etiquetas, otra forma de organizar tus Google Cloud recursos.