Cette page explique comment gérer l'accès à vos instances Spanner à l'aide des tags Google Cloud.
Un tag Google Cloud est une paire clé-valeur que vous pouvez associer à vos ressources Google Cloud, telles que des projets ou des instances Spanner. Vous pouvez utiliser des tags pour regrouper et organiser vos instances, ainsi que pour définir de manière conditionnelle des stratégies d'accès Identity and Access Management (IAM) selon qu'une instance possède un tag spécifique ou non. Vous pouvez créer et gérer des tags d'instances Spanner à l'aide de la Google Cloud CLI ou de la console Google Cloud. Après avoir créé vos tags, vous pouvez créer une liaison de tags pour associer le tag à vos ressources Google Cloud. Les liaisons de tags sont héritées par les enfants de la ressource conformément à la hiérarchie des ressources Google Cloud. Par exemple, si vous associez un tag à votre projet, toutes les instances de ce projet héritent du tag. Vous pouvez également utiliser des libellés pour organiser vos ressources Google Cloud, mais vous ne pouvez pas utiliser de libellés pour définir des conditions sur les stratégies IAM.
Pour en savoir plus sur les tags, consultez la page Présentation des tags.
Cas d'utilisation courants des tags d'instances Spanner
Voici quelques cas d'utilisation courants des balises:
- Tags IAM (Identity and Access Management):accordez des rôles de gestion de l'authentification et des accès (IAM) selon qu'une instance possède un tag spécifique ou non. La présence ou l'absence d'une valeur de tag est la condition de cette stratégie IAM et permet de contrôler l'accès à votre instance Spanner.
- Tags d'état:vous pouvez indiquer et gérer l'état d'une instance en créant des tags.
Par exemple,
state:active
,state:todelete
etstate:archive
. - Tags d'environnement:spécifiez les environnements de production, de test et de développement pour les instances en créant des paires clé/valeur telles que
env:prod
,env:dev
etenv:test
.
Créer et gérer des tags d'instances Spanner
Les tags sont structurés sous forme de paires clé-valeur. Créez une clé de tag sous votre ressource d'organisation, puis associez-y des valeurs de tag (par exemple, une clé de tag environment
avec les valeurs prod
et dev
). Vous pouvez ensuite créer une liaison de tag qui associe la valeur de tag à une ressource Google Cloud, telle qu'un projet ou une instance Spanner. Notez que vous ne pouvez pas attribuer de tag à une base de données.
Autorisations requises
Les autorisations dont vous avez besoin dépendent de l'action que vous devez effectuer. Pour en savoir plus, consultez la section Autorisations requises dans la documentation de Resource Manager.
Créer des clés et des valeurs de tags
Avant de pouvoir associer un tag à votre instance, vous devez créer le tag et attribuer sa valeur. Pour créer des clés et des valeurs de tag, consultez les pages Créer un tag et Ajouter une valeur de tag.
Associer un tag à une instance
Après avoir créé vos paires clé/valeur de tag, vous pouvez créer une liaison de tag et l'associer à votre instance Spanner.
Console
Dans la console Google Cloud, accédez à la page Instances Spanner.
Sélectionnez l'instance pour laquelle vous souhaitez associer un tag.
Cliquez sur
Balises.Si votre organisation n'apparaît pas dans le panneau Tags, cliquez sur Sélectionner un niveau d'accès. Sélectionnez votre organisation, puis cliquez sur Ouvrir.
Dans le panneau "Balises", sélectionnez Ajouter une balise.
Dans le champ Clé, sélectionnez la clé du tag que vous souhaitez associer dans la liste. Vous pouvez filtrer la liste en saisissant des mots clés.
Dans le champ Valeur, sélectionnez dans la liste la valeur du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.
Si vous souhaitez associer d'autres tags, cliquez sur
Ajouter un tag, puis sélectionnez la clé et la valeur pour chacune d'elles.Cliquez sur Enregistrer.
Dans la boîte de dialogue Confirmer, cliquez sur Confirmer pour associer la balise.
Une notification confirme que vos tags ont été mis à jour.
gcloud
Pour créer une liaison de tags et l'associer à votre instance, exécutez la commande suivante:
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
: ID du projetINSTANCE_ID
: ID de l'instanceORG_ID
: ID de l'organisation.KEY_NAME
: nom à afficher (court) de votre clé de tag. Exemple :env
VALUE_NAME
: nom à afficher (court) de la valeur de votre balise. Exemple :prod
LOCATION
: emplacement de votre instance. Exemple :us-east1
.
Par exemple, pour créer une liaison de tag sur votre instance Spanner my-instance
avec la paire clé/valeur de tag env:prod
, exécutez la commande suivante:
gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1
Conditions et tags IAM
Vous pouvez utiliser des tags et des conditions IAM pour accorder des liaisons de rôles de manière conditionnelle aux utilisateurs. Si une stratégie IAM comportant des liaisons de rôles conditionnelles est appliquée, la modification ou la suppression du tag associé à une ressource peut supprimer l'accès utilisateur à cette ressource.
Pour en savoir plus, consultez la page Présentation des conditions IAM.
Console
Pour utiliser des tags afin d'accorder des liaisons de rôles aux utilisateurs de manière conditionnelle, consultez la page Gérer l'accès aux tags.
gcloud
Pour appliquer une condition basée sur des tags à une stratégie IAM, assurez-vous de disposer des autorisations requises, puis exécutez la commande suivante:
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 l'organisation.ROLE
: nom du rôle à attribuer au compte principal. Le nom du rôle correspond au chemin d'accès complet d'un rôle prédéfini, tel queroles/logging.viewer
, ou à l'ID d'un rôle personnalisé, tel queorganizations/{ORG_ID}/roles/logging.viewer
.PRINCIPAL
: compte principal sur lequel vous souhaitez ajouter la liaison de rôle. Il doit se présenter sous la formeuser|group|serviceAccount:email
oudomain:domain
. Par exemple,user:test-user@gmail.com
,group:admins@example.com
,serviceAccount:test123@example.domain.com
oudomain:example.domain.com
.PROJECT_ID
: ID du projetKEY_NAME
: nom à afficher (court) de votre clé de tag. Exemple :env
VALUE_NAME
: nom à afficher (court) de la valeur de votre balise. Exemple :prod
Cette commande ajoute une liaison de stratégie IAM à la stratégie IAM d'une organisation. Une liaison de stratégie se compose d'un membre, d'un rôle et d'une condition facultative.
Par exemple, pour accorder de manière conditionnelle à user1@example.com
le rôle spanner.backupAdmin
dans toutes les ressources de projet 123456789012
avec le tag env:prod
, exécutez la commande suivante:
gcloud organizations add-iam-policy-binding my-project
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')
Lister les tags associés à une instance
Vous pouvez afficher une liste de liaisons de tags directement associés à l'instance ou dont celle-ci a hérité.
gcloud
Pour obtenir la liste des liaisons de tags directement associées à une ressource, exécutez la commande gcloud resource-manager tags bindings list
. Si vous ajoutez l'option --effective
, vous obtenez également toutes les liaisons de tags héritées par cette ressource.
Pour répertorier toutes les liaisons de tags associées à une instance, exécutez la commande suivante:
gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
PROJECT_ID
: ID du projetINSTANCE_ID
: ID de l'instanceLOCATION
: emplacement de votre instance. Exemple :us-east1
.
Supprimer une liaison de tag
Lorsque vous supprimez une clé ou une définition de valeur de tag, assurez-vous que le tag est dissocié de l'instance. Vous devez supprimer les liaisons de tags existantes avant de supprimer le tag.
Console
Dans la console Google Cloud, accédez à la page Instances Spanner.
Sélectionnez l'instance pour laquelle vous souhaitez supprimer une liaison de tag.
Cliquez sur
Balises.Dans le panneau "Tags", à côté de la balise que vous souhaitez dissocier, cliquez sur
Supprimer l'élément.Cliquez sur Enregistrer.
Dans la boîte de dialogue Confirmer, cliquez sur Confirmer pour dissocier la balise.
Une notification confirme que vos tags ont été mis à jour.
gcloud
Pour supprimer une liaison de tags, exécutez la commande suivante:
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
: ID du projetINSTANCE_ID
: ID de l'instanceORG_ID
: ID de l'organisation.KEY_NAME
: nom à afficher (court) de votre clé de tag. Exemple :env
VALUE_NAME
: nom à afficher (court) de la valeur de votre balise. Exemple :prod
LOCATION
: emplacement de votre instance. Exemple :us-east1
.
Supprimer un tag
Après avoir supprimé votre liaison de tags, vous pouvez supprimer votre tag. Pour supprimer des clés et des valeurs de tag, consultez Supprimer des tags.
Étapes suivantes
En savoir plus sur les tags Google Cloud
Découvrez comment créer et gérer des tags sur vos instances Spanner à l'aide de Resource Manager.
Apprenez-en plus sur les étiquettes, un autre moyen d'organiser vos ressources Google Cloud.
Apprenez-en davantage sur la création de stratégies d'autorisation IAM avec des conditions.