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 de ese proyecto héritan la etiqueta. También puedes usar etiquetas para organizar los recursos de Google Cloud, pero no puedes 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 de las etiquetas de instancias de Spanner
Estos son algunos casos de uso comunes de las etiquetas:
- Etiquetas de Identity and Access Management (IAM): Otorga roles de Identity and Access Management (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: Crea etiquetas para indicar y administrar el estado de una instancia.
Por ejemplo, usa las etiquetas
state:active
,state:todelete
ystate:archive
. - Etiquetas de entorno: Especifica los entornos de producción, prueba y desarrollo para las instancias creando pares clave-valor, como
env:prod
,env:dev
yenv:test
.
Cómo crear y administrar etiquetas de instancias de Spanner
Las etiquetas se estructuran como pares clave-valor. Creas una clave de etiqueta en tu
recurso de organización y, luego, adjuntas valores de etiqueta a la clave de etiqueta (por ejemplo,
una clave de etiqueta environment
con los valores prod
y dev
). Luego, puedes crear una vinculación de etiqueta
que vincule el valor de la etiqueta a un recurso de 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 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 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 etiquetas, puedes crear una vinculación de etiquetas y adjuntarla a tu instancia de Spanner.
Console
En la consola de Google Cloud, ve a la página Instancias de Spanner.
Selecciona la instancia a la que deseas adjuntar una etiqueta.
Haz clic en
Etiquetas.Si tu organización no aparece en el panel Etiquetas, haz clic en Seleccionar alcance. Selecciona tu organización y haz clic en Abrir.
En el panel Etiquetas, selecciona Agregar etiqueta.
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.
En el campo Valor, selecciona el valor de la etiqueta que deseas adjuntar de la lista. Para filtrar la lista, escribe palabras clave.
Si deseas adjuntar más etiquetas, haz clic en
Agregar etiqueta y selecciona 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.
Aparecerá una notificación para confirmar 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
: Es el nombre visible (corto) de la clave de etiqueta. Por ejemplo,env
VALUE_NAME
: Es el nombre visible (corto) del valor de la etiqueta. 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 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 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 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
Para usar etiquetas y otorgar vinculaciones de roles de forma condicional 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
: Es el ID de la organización.ROLE
: Es el nombre del rol que se asignará al principal. El el nombre del rol es la ruta de acceso completa de un rol predefinido, comoroles/logging.viewer
o el ID de un rol personalizado, comoorganizations/{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
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
: Es el nombre visible (corto) de la clave de etiqueta. Por ejemplo,env
VALUE_NAME
: Es el nombre visible (corto) del valor de la 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 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')
Enumera 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 la
marca --effective
, también obtienes todas las vinculaciones de etiquetas que hereda este
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é desconectada del instancia. Debes borrar las vinculaciones de etiquetas existentes antes de borrar la etiqueta.
Console
En la consola de Google Cloud, ve a Instancias de Spanner. .
Selecciona la instancia para la que deseas borrar una vinculación de etiqueta.
Haz clic en
Etiquetas.En el panel Etiquetas, junto a la etiqueta que deseas desconectar, haz clic en
Borrar elemento.Haz clic en Guardar.
En el cuadro de diálogo Confirmar, haz clic en Confirmar para desconectar la etiqueta.
Aparecerá una notificación para confirmar 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
: Es el nombre visible (corto) de la clave de etiqueta. Por ejemplo,env
VALUE_NAME
: Es el nombre visible (corto) del valor de la etiqueta. 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?
Obtén más información sobre las etiquetas de Google Cloud.
Obtén más información para crear y administrar etiquetas en tus instancias de Spanner con Resource Manager.
Obtén más información sobre las etiquetas otra forma de organizar tus recursos de Google Cloud.
Obtén más información para crear políticas de permisos de IAM con condiciones.