Contrôler les accès et organiser les instances à l'aide de tags

Cette page explique comment utiliser les tags Google Cloud pour gérer l'accès à vos aux instances Spanner.

Un tag Google Cloud est un que vous pouvez associer à vos ressources Google Cloud, comme des projets ou des instances Spanner. Vous pouvez utiliser des tags pour regrouper et d'organiser vos instances, ainsi que de définir Stratégies d'accès Identity and Access Management (IAM) basées sur pour déterminer si une instance possède un tag spécifique. Vous pouvez créer et gérer les tags d'instance Spanner à l'aide de la Google Cloud CLI ou console Google Cloud. Après avoir créé vos tags, vous pouvez créer une liaison de tags associer le tag à vos ressources Google Cloud. Les liaisons de tags sont héritées par 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 qu'il contient d'hériter du tag. Vous pouvez également utiliser des libellés pour organiser vos ressources Google Cloud, mais vous ne pouvez pas définir 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 Identity and Access Management (IAM):accordez des identités et des accès de gestion (IAM) selon qu'une instance possède un tag spécifique ou non. La la présence ou l'absence d'une valeur de tag est la condition de cette stratégie IAM. 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 et state: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 et env:test

Créer et gérer des tags d'instances Spanner

Les tags sont structurés sous forme de paires clé-valeur. Vous créez une clé de tag ressource d'organisation, puis associez des valeurs de tag à la clé de tag (par exemple, une clé de tag environment avec les valeurs prod et dev). Vous pouvez ensuite créer un tag qui associe la valeur du tag à une ressource Google Cloud, comme un projet ou l'instance Spanner. Notez que vous ne pouvez pas attribuer un tag base de données.

Autorisations requises

Les autorisations dont vous avez besoin dépendent de l'action que vous devez effectuer. Pour plus plus d'informations, consultez la section Autorisations requises dans le gestionnaire de ressources. dans la documentation Google Cloud.

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 l'article Créer un tag. et Ajouter une valeur de balise.

Associer un tag à une instance

Après avoir créé les paires clé-valeur de vos tags, vous pouvez créer une liaison de tags. et l'associer à votre instance Spanner.

Console

  1. Dans la console Google Cloud, accédez à la page Instances Spanner. .

    Accéder à la page Instances Spanner

  2. Sélectionnez l'instance pour laquelle vous souhaitez associer un tag.

  3. Cliquez sur Balises.

  4. 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.

  5. Dans le panneau "Balises", sélectionnez Ajouter une balise.

  6. Dans le champ Clé, sélectionnez la clé du tag que vous souhaitez associer la liste. Vous pouvez filtrer la liste en saisissant des mots clés.

  7. Dans le champ Valeur, sélectionnez la valeur du tag que vous souhaitez associer. dans la liste. Vous pouvez filtrer la liste en saisissant des mots clés.

  8. Si vous souhaitez associer d'autres tags, cliquez sur Ajouter une balise, puis sélectionnez la clé. et une valeur pour chacune.

  9. Cliquez sur Enregistrer.

  10. 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 projet
  • INSTANCE_ID : ID de l'instance
  • ORG_ID: ID de l'organisation.
  • KEY_NAME: nom à afficher (court) de votre balise . Exemple :env
  • VALUE_NAME: nom à afficher (court) de votre balise . Exemple :prod
  • LOCATION: emplacement de votre instance. Exemple : us-east1.

Par exemple, pour créer une liaison de tags 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 la suppression du tag associé à une ressource peut supprimer l'accès utilisateur à cette ressource 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 de manière conditionnelle aux utilisateurs, consultez Gérer l'accès aux balises

gcloud

Pour appliquer une condition basée sur des tags à une stratégie IAM, assurez-vous de disposer de la les 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. La nom de rôle correspond au chemin d'accès complet à un rôle prédéfini, par exemple roles/logging.viewer, ou l'ID d'un rôle personnalisé, tel que organizations/{ORG_ID}/roles/logging.viewer
  • PRINCIPAL: compte principal sur lequel vous souhaitez ajouter la liaison de rôle. Elle doit se présenter sous la forme user|group|serviceAccount:email ou domain:domain. Par exemple : user:test-user@gmail.com, group:admins@example.com serviceAccount:test123@example.domain.com ou domain:example.domain.com
  • PROJECT_ID : ID du projet
  • KEY_NAME: nom à afficher (court) de votre balise . Exemple :env
  • VALUE_NAME: nom à afficher (court) 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 à user1@example.com de manière conditionnelle le rôle Rôle spanner.backupAdmin dans toutes les ressources du projet 123456789012 avec le 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 le paramètre --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 projet
  • INSTANCE_ID : ID de l'instance
  • LOCATION: 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

  1. Dans la console Google Cloud, accédez à la page Instances Spanner. .

    Accéder à la page Instances Spanner

  2. Sélectionnez l'instance pour laquelle vous souhaitez supprimer une liaison de tag.

  3. Cliquez sur Balises.

  4. Dans le panneau "Balises", à côté du tag que vous souhaitez dissocier, cliquez sur Supprimer un élément.

  5. Cliquez sur Enregistrer.

  6. 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 projet
  • INSTANCE_ID : ID de l'instance
  • ORG_ID: ID de l'organisation.
  • KEY_NAME: nom à afficher (court) de votre balise . Exemple :env
  • VALUE_NAME: nom à afficher (court) 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 un tag, procédez comme suit : et des valeurs de tag, consultez la section Supprimer des tags.

Étape suivante