Présentation d'IAM

Identity and Access Management (IAM) vous permet de contrôler l'accès des utilisateurs et des groupes aux ressources Spanner au niveau du projet, de l'instance Spanner et de la base de données Spanner. Par exemple, vous pouvez accorder à un utilisateur le contrôle total d'une base de données déterminée dans une instance spécifique de votre projet, mais sans l'autoriser à créer, modifier ou supprimer des instances dans ce projet. L'utilisation du contrôle des accès avec IAM vous permet d'accorder une autorisation à un utilisateur ou à un groupe sans avoir à modifier individuellement chaque instance ou autorisation de base de données Spanner.

Ce document porte sur les autorisations IAM pertinentes pour Spanner et les rôles IAM qui accordent ces autorisations. Pour obtenir une description détaillée des services IAM et de leurs fonctionnalités, consultez le guide du développeur sur Identity and Access Management. en particulier la section sur la gestion des stratégies IAM.

Autorisations

Les autorisations permettent aux utilisateurs de réaliser des actions spécifiques sur les ressources Spanner. Par exemple, l'autorisation spanner.databases.read permet à un utilisateur de lire des données dans une base de données à l'aide de l'API de lecture de Spanner, tandis que spanner.databases.select lui permet d'exécuter une instruction SQL "select" dans une base de données. Vous n'accordez pas directement d'autorisations aux utilisateurs, mais vous leur attribuez des rôles prédéfinis ou des rôles personnalisés auxquels sont associées une ou plusieurs autorisations.

Les tableaux suivants répertorient les autorisations IAM associées à Spanner.

Configurations d'instance

Les autorisations suivantes s'appliquent aux configurations d'instances Spanner. Pour en savoir plus, consultez la documentation de référence sur la configuration d'instance pour les API REST et RPC.

Nom de l'autorisation relative aux configurations d'instance Description
spanner.instanceConfigs.create Créer une configuration d'instance personnalisée
spanner.instanceConfigs.delete Supprimer une configuration d'instance personnalisée
spanner.instanceConfigs.get Obtenir une configuration d'instance
spanner.instanceConfigs.list Répertorier l'ensemble des configurations d'instance
spanner.instanceConfigs.update Mettre à jour une configuration d'instance personnalisée

Opérations de configuration d'instance

Les autorisations suivantes s'appliquent aux opérations de configuration de l'instance Spanner. Pour en savoir plus, consultez la documentation de référence sur les instances pour les API REST et RPC.

Nom de l'autorisation pour l'opération de configuration de l'instance Description
spanner.instanceConfigOperations.list Lister les opérations de configuration d'instance
spanner.instanceConfigOperations.get Obtenir une opération de configuration d'instance spécifique
spanner.instanceConfigOperations.cancel Annuler une opération de configuration d'instance
spanner.instanceConfigOperations.delete Supprimer une opération de configuration d'instance

Instances

Les autorisations suivantes s'appliquent aux instances Spanner. Pour en savoir plus, consultez la documentation de référence sur les instances pour les API REST et RPC.

Nom de l'autorisation de l'instance Description
spanner.instances.create Créer une instance
spanner.instances.list Répertorier les instances
spanner.instances.get Obtenir la configuration d'une instance spécifique
spanner.instances.getIamPolicy Obtenir la stratégie IAM d'une instance
spanner.instances.update Mettre à jour une instance
spanner.instances.setIamPolicy Définir la stratégie IAM d'une instance
spanner.instances.delete Supprimer une instance

Opérations d'instance :

Les autorisations suivantes s'appliquent aux opérations sur les instances Spanner. Pour en savoir plus, consultez la documentation de référence sur les instances pour les API REST et RPC.

Nom de l'autorisation relative aux opérations sur les instances Description
spanner.instanceOperations.list Répertorier les opérations sur les instances
spanner.instanceOperations.get Obtenir une opération sur une instance
spanner.instanceOperations.cancel Annuler une opération sur une instance
spanner.instanceOperations.delete Supprimer une opération sur une instance

Bases de données

Les autorisations suivantes s'appliquent aux bases de données Spanner. Pour en savoir plus, consultez la documentation de référence de la base de données pour les API REST et RPC.

Nom de l'autorisation pour la base de données Description
spanner.databases.beginPartitionedDmlTransaction

Exécuter une instruction LMD (langage de manipulation de données)

spanner.databases.create Créer une base de données
spanner.databases.createBackup Créer une sauvegarde à partir de la base de données. Nécessite également spanner.backups.create pour créer la ressource de sauvegarde.
spanner.databases.list Répertorier les bases de données
spanner.databases.update

Mettre à jour les métadonnées d'une base de données

spanner.databases.updateDdl Mettre à jour le schéma d'une base de données
spanner.databases.get Obtenir les métadonnées d'une base de données
spanner.databases.getDdl Obtenir le schéma d'une base de données
spanner.databases.getIamPolicy Obtenir la stratégie IAM d'une base de données
spanner.databases.setIamPolicy Définir la stratégie IAM d'une base de données
spanner.databases.beginReadOnlyTransaction Commencer une transaction en lecture seule sur une base de données Spanner
spanner.databases.beginOrRollbackReadWriteTransaction Commencer ou effectuer un rollback d'une transaction en lecture/écriture sur une base de données Spanner
spanner.databases.read Lire dans une base de données à l'aide de l'API de lecture
spanner.databases.select Exécuter une instruction SQL "SELECT" sur une base de données
spanner.databases.write Écrire dans une base de données
spanner.databases.drop Supprimer une base de données
spanner.databases.useRoleBasedAccess Mettez en place un contrôle précis des accès.
spanner.databases.useDataBoost Utilisez les ressources de calcul de Spanner Data Boost pour traiter les requêtes partitionnées.

Rôles de base de données

Les autorisations suivantes s'appliquent aux rôles de base de données Spanner. Pour en savoir plus, consultez la documentation de référence sur les bases de données pour les API REST et RPC.

Nom de l'autorisation associée au rôle de base de données Description
spanner.databaseRoles.list Lister les rôles de base de données
spanner.databaseRoles.use Utilisez un rôle de base de données spécifié.

Opérations de base de données

Les autorisations suivantes s'appliquent aux opérations de base de données Spanner. Pour en savoir plus, consultez la documentation de référence sur les bases de données pour les API REST et RPC.

Nom de l'autorisation relative aux opérations de base de données Description
spanner.databaseOperations.list Répertorier les opérations de base de données et les restaurer
spanner.databaseOperations.get Obtenir une opération de base de données
spanner.databaseOperations.cancel Annuler une opération de base de données

Sauvegardes

Les autorisations suivantes s'appliquent aux sauvegardes Spanner. Pour en savoir plus, consultez la documentation de référence sur les sauvegardes pour les API REST et RPC.

Nom de l'autorisation de sauvegarde Description
spanner.backups.create Créer une sauvegarde (nécessite également spanner.databases.createBackup sur la base de données source)
spanner.backups.get Obtenir une sauvegarde
spanner.backups.update Mettre à jour une sauvegarde
spanner.backups.delete Supprimer une sauvegarde
spanner.backups.list Répertorier des sauvegardes
spanner.backups.restoreDatabase Restaurer la base de données à partir d'une sauvegarde. Nécessite également spanner.databases.create pour créer la base de données restaurée sur l'instance cible.
spanner.backups.getIamPolicy Obtenir la stratégie IAM d'une sauvegarde
spanner.backups.setIamPolicy Définir la stratégie IAM d'une sauvegarde

Opérations de sauvegarde

Les autorisations suivantes s'appliquent aux opérations de sauvegarde Spanner. Pour en savoir plus, consultez la documentation de référence de la base de données pour les API REST et RPC.

Nom de l'autorisation de l'opération de sauvegarde Description
spanner.backupOperations.list Répertorier les opérations de sauvegarde.
spanner.backupOperations.get Obtenir une opération de sauvegarde spécifique.
spanner.backupOperations.cancel Annuler une opération de sauvegarde.

Sessions

Les autorisations suivantes s'appliquent aux sessions Spanner. Pour en savoir plus, consultez la documentation de référence de la base de données pour les API REST et RPC.

Nom de l'autorisation relative aux sessions Description
spanner.sessions.create Créer une session
spanner.sessions.get Obtenir une session
spanner.sessions.delete Supprimer une session
spanner.sessions.list Répertorier les sessions

Rôles prédéfinis

Un rôle prédéfini correspond à un ensemble contenant une ou plusieurs autorisations. Par exemple, le rôle prédéfini roles/spanner.databaseUser contient les autorisations spanner.databases.read et spanner.databases.write. Il existe deux types de rôles prédéfinis pour Spanner:

  • Rôles de personne : ces rôles sont attribués à des utilisateurs ou à des groupes afin de leur permettre d'effectuer des actions sur les ressources de votre projet.
  • Rôles de machine : ces rôles sont attribués à des comptes de service, et permettent aux machines exécutées sous ces comptes de service d'effectuer des actions sur les ressources de votre projet.

Le tableau suivant présente le contrôle des accès avec les rôles prédéfinis IAM, ainsi que les autorisations associées à chaque rôle:

Role Permissions

(roles/spanner.admin)

Has complete access to all Spanner resources in a Google Cloud project. A principal with this role can:

  • Grant and revoke permissions to other principals for all Spanner resources in the project.
  • Allocate and delete chargeable Spanner resources.
  • Issue get/list/modify operations on Cloud Spanner resources.
  • Read from and write to all Cloud Spanner databases in the project.
  • Fetch project metadata.

Lowest-level resources where you can grant this role:

  • Project

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.*

  • spanner.backupOperations.cancel
  • spanner.backupOperations.get
  • spanner.backupOperations.list
  • spanner.backups.copy
  • spanner.backups.create
  • spanner.backups.delete
  • spanner.backups.get
  • spanner.backups.getIamPolicy
  • spanner.backups.list
  • spanner.backups.restoreDatabase
  • spanner.backups.setIamPolicy
  • spanner.backups.update
  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.delete
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list
  • spanner.databaseRoles.list
  • spanner.databaseRoles.use
  • spanner.databases.beginOrRollbackReadWriteTransaction
  • spanner.databases.beginPartitionedDmlTransaction
  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.create
  • spanner.databases.createBackup
  • spanner.databases.drop
  • spanner.databases.get
  • spanner.databases.getDdl
  • spanner.databases.getIamPolicy
  • spanner.databases.list
  • spanner.databases.partitionQuery
  • spanner.databases.partitionRead
  • spanner.databases.read
  • spanner.databases.select
  • spanner.databases.setIamPolicy
  • spanner.databases.update
  • spanner.databases.updateDdl
  • spanner.databases.updateTag
  • spanner.databases.useDataBoost
  • spanner.databases.useRoleBasedAccess
  • spanner.databases.write
  • spanner.instanceConfigOperations.cancel
  • spanner.instanceConfigOperations.delete
  • spanner.instanceConfigOperations.get
  • spanner.instanceConfigOperations.list
  • spanner.instanceConfigs.create
  • spanner.instanceConfigs.delete
  • spanner.instanceConfigs.get
  • spanner.instanceConfigs.list
  • spanner.instanceConfigs.update
  • spanner.instanceOperations.cancel
  • spanner.instanceOperations.delete
  • spanner.instanceOperations.get
  • spanner.instanceOperations.list
  • spanner.instances.create
  • spanner.instances.createTagBinding
  • spanner.instances.delete
  • spanner.instances.deleteTagBinding
  • spanner.instances.get
  • spanner.instances.getIamPolicy
  • spanner.instances.list
  • spanner.instances.listEffectiveTags
  • spanner.instances.listTagBindings
  • spanner.instances.setIamPolicy
  • spanner.instances.update
  • spanner.instances.updateTag
  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.backupAdmin)

A principal with this role can:

  • Create, view, update, and delete backups.
  • View and manage a backup's allow policy.

This role cannot restore a database from a backup.

Lowest-level resources where you can grant this role:

  • Instance

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.backupOperations.*

  • spanner.backupOperations.cancel
  • spanner.backupOperations.get
  • spanner.backupOperations.list

spanner.backups.copy

spanner.backups.create

spanner.backups.delete

spanner.backups.get

spanner.backups.getIamPolicy

spanner.backups.list

spanner.backups.setIamPolicy

spanner.backups.update

spanner.databases.createBackup

spanner.databases.get

spanner.databases.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

(roles/spanner.backupWriter)

This role is intended to be used by scripts that automate backup creation. A principal with this role can create backups, but cannot update or delete them.

Lowest-level resources where you can grant this role:

  • Instance

spanner.backupOperations.get

spanner.backupOperations.list

spanner.backups.copy

spanner.backups.create

spanner.backups.get

spanner.backups.list

spanner.databases.createBackup

spanner.databases.get

spanner.databases.list

spanner.instances.get

(roles/spanner.databaseAdmin)

A principal with this role can:

  • Get/list all Spanner instances in the project.
  • Create/list/drop databases in an instance.
  • Grant/revoke access to databases in the project.
  • Read from and write to all Cloud Spanner databases in the project.

Lowest-level resources where you can grant this role:

  • Instance

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.delete
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databaseRoles.*

  • spanner.databaseRoles.list
  • spanner.databaseRoles.use

spanner.databases.beginOrRollbackReadWriteTransaction

spanner.databases.beginPartitionedDmlTransaction

spanner.databases.beginReadOnlyTransaction

spanner.databases.create

spanner.databases.drop

spanner.databases.get

spanner.databases.getDdl

spanner.databases.getIamPolicy

spanner.databases.list

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.setIamPolicy

spanner.databases.update

spanner.databases.updateDdl

spanner.databases.updateTag

spanner.databases.useDataBoost

spanner.databases.useRoleBasedAccess

spanner.databases.write

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.getIamPolicy

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseReader)

A principal with this role can:

  • Read from the Spanner database.
  • Execute SQL queries on the database.
  • View schema for the database.

Lowest-level resources where you can grant this role:

  • Database

spanner.databases.beginReadOnlyTransaction

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseRoleUser)

In conjunction with the IAM role Cloud Spanner Fine-grained Access User, grants permissions to individual Spanner database roles. Add a condition for each desired Spanner database role that includes the resource type of `spanner.googleapis.com/DatabaseRole` and the resource name ending with `/YOUR_SPANNER_DATABASE_ROLE`.

spanner.databaseRoles.use

(roles/spanner.databaseUser)

A principal with this role can:

  • Read from and write to the Spanner database.
  • Execute SQL queries on the database, including DML and Partitioned DML.
  • View and update schema for the database.

Lowest-level resources where you can grant this role:

  • Database

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.delete
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databases.beginOrRollbackReadWriteTransaction

spanner.databases.beginPartitionedDmlTransaction

spanner.databases.beginReadOnlyTransaction

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.updateDdl

spanner.databases.updateTag

spanner.databases.write

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.fineGrainedAccessUser)

Grants permissions to use Spanner's fine-grained access control framework. To grant access to specific database roles, also add the `roles/spanner.databaseRoleUser` IAM role and its necessary conditions.

spanner.databaseRoles.list

spanner.databases.useRoleBasedAccess

(roles/spanner.restoreAdmin)

A principal with this role can restore databases from backups.

If you need to restore a backup to a different instance, apply this role at the project level or to both instances. This role cannot create backups.

Lowest-level resources where you can grant this role:

  • Instance

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.backups.get

spanner.backups.list

spanner.backups.restoreDatabase

spanner.databaseOperations.cancel

spanner.databaseOperations.get

spanner.databaseOperations.list

spanner.databases.create

spanner.databases.get

spanner.databases.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

(roles/spanner.viewer)

A principal with this role can:

  • View all Spanner instances (but cannot modify instances).
  • View all Spanner databases (but cannot modify or read from databases).

For example, you can combine this role with the roles/spanner.databaseUser role to grant a user with access to a specific database, but only view access to other instances and databases.

This role is recommended at the Google Cloud project level for users interacting with Cloud Spanner resources in the Google Cloud console.

Lowest-level resources where you can grant this role:

  • Project

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.databases.list

spanner.instanceConfigs.get

spanner.instanceConfigs.list

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

Rôles de base

Les rôles de base sont des rôles antérieurs à IAM qui sont attribués au niveau du projet. Pour en savoir plus, consultez la section Rôles de base.

Bien que Spanner soit compatible avec les rôles de base suivants, nous vous conseillons, dans la mesure du possible, d'utiliser l'un des rôles prédéfinis présentés précédemment. Les rôles de base incluent des autorisations étendues qui s'appliquent à toutes vos ressources Google Cloud. En revanche, les rôles prédéfinis de Spanner incluent des autorisations ultraprécises qui ne s'appliquent qu'à Spanner.

Rôle de base Description
roles/viewer Permet de répertorier et d'obtenir les métadonnées des schémas et des instances. Permet également de lire dans une base de données et de l'interroger via SQL.
roles/editor Permet d'effectuer toutes les opérations autorisées par le rôle roles/viewer. Permet également de créer des instances et des bases de données, ainsi que d'écrire des données dans une base de données.
roles/owner Permet d'effectuer toutes les opérations autorisées par le rôle roles/editor. Permet également de modifier l'accès aux bases de données et aux instances.

Rôles personnalisés

Si les rôles prédéfinis pour Spanner ne répondent pas aux besoins de votre entreprise, vous pouvez définir vos propres rôles personnalisés en leur associant les autorisations de votre choix.

Avant de créer un rôle personnalisé, vous devez déterminer les tâches que vous avez besoin d'effectuer. Vous pouvez ensuite identifier les autorisations requises pour chaque tâche et ajouter celles-ci au rôle personnalisé.

Rôles personnalisés pour les tâches de compte de service

Pour la plupart des tâches, les autorisations que vous devez ajouter à votre rôle personnalisé sont évidentes. Par exemple, si vous souhaitez que votre compte de service puisse créer une base de données, ajoutez l'autorisation spanner.databases.create à votre rôle personnalisé.

Toutefois, lorsque vous lisez ou écrivez des données dans une table Spanner, vous devez ajouter plusieurs autorisations différentes à votre rôle personnalisé. Le tableau suivant indique les autorisations requises pour la lecture et l'écriture de données.

Tâche de compte de service Autorisations requises
Lire des données spanner.databases.select
spanner.sessions.create
spanner.sessions.delete
Insérer, mettre à jour ou supprimer des données spanner.databases.beginOrRollbackReadWriteTransaction
spanner.databases.write
spanner.sessions.create
spanner.sessions.delete
Créer une sauvegarde spanner.backups.create
spanner.databases.createBackup
Restaurer une base de données spanner.databases.create
spanner.backups.restoreDatabase

Rôles personnalisés pour les tâches Google Cloud Console

Pour identifier la liste des autorisations dont vous avez besoin pour une tâche donnée dans la console Google Cloud, vous devez déterminer le workflow correspondant et compiler les autorisations correspondantes. Par exemple, pour afficher les données d'une table, procédez comme suit dans la console Google Cloud:

Step Autorisations
1. Accéder au projet resourcemanager.projects.get
2. Afficher la liste des instances spanner.instances.list
3. Sélectionner une instance spanner.instances.get
4. Afficher la liste des bases de données spanner.databases.list
5. Sélectionner une base de données et une table spanner.databases.getDdl
6. Afficher les données d'une table spanner.databases.select, spanner.sessions.create, spanner.sessions.delete

Dans cet exemple, les autorisations requises sont les suivantes :

  • resourcemanager.projects.get
  • spanner.databases.getDdl
  • spanner.databases.list
  • spanner.databases.select
  • spanner.instances.get
  • spanner.instances.list
  • spanner.sessions.create
  • spanner.sessions.delete

Le tableau suivant répertorie les autorisations requises pour les actions effectuées dans la console Google Cloud.

Action Autorisations
Afficher la liste des instances sur la page "Instances"

resourcemanager.projects.get
spanner.instances.list

Afficher la liste présente dans l'onglet "Autorisations" de la page "Instances"

spanner.instances.getIamPolicy

Ajouter des comptes principaux dans l'onglet "Autorisations" de la page "Instances"

spanner.instances.setIamPolicy

Sélectionner une instance dans la liste des instances pour afficher la page "Détails de l'instance"

spanner.instances.get

Créer une instance

spanner.instanceConfigs.list
spanner.instanceOperations.get
spanner.instances.create

Supprimer une instance

spanner.instances.delete

Modifier une instance

spanner.instanceOperations.get
spanner.instances.update

Afficher les graphiques présents dans l'onglet "Surveillance" de la page "Détails de l'instance" ou de la page "Détails de la base de données"

monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.timeSeries.list
spanner.instances.get

Afficher la liste des bases de données présente sur la page "Détails de l'instance"

spanner.databases.list

Afficher la liste présente dans l'onglet "Autorisations" de la page "Détails de la base de données"

spanner.databases.getIamPolicy

Ajouter des comptes principaux dans l'onglet "Autorisations" de la page "Détails de la base de données"

spanner.databases.setIamPolicy

Sélectionner une base de données dans la liste et afficher son schéma sur la page "Détails de la base de données"

spanner.databases.get
spanner.databases.getDdl

Créer une base de données

spanner.databases.create

Supprimer une base de données

spanner.databases.drop

Créer une table

Mettre à jour le schéma d'une table

spanner.databaseOperations.get
spanner.databaseOperations.list
spanner.databases.updateDdl

Afficher les données présentes dans l'onglet "Données" de la page "Détails de la base de données"

Créer et exécuter une requête

spanner.databases.select
spanner.sessions.create
spanner.sessions.delete

Modifier des données dans une table

spanner.databases.beginOrRollbackReadWriteTransaction
spanner.databases.select
spanner.databases.write
spanner.sessions.create
spanner.sessions.delete

Afficher la page "Sauvegarde/Restauration"

spanner.backups.list
spanner.backups.get

Afficher la liste des opérations de sauvegarde

spanner.backupOperations.list

Afficher la liste des opérations de restauration

spanner.databaseOperations.list

Créer une sauvegarde

spanner.backups.create
spanner.databases.createBackup
spanner.databases.list1
spanner.backupOperations.list1

Restaurer une base de données à partir d'une sauvegarde

spanner.instanceConfigs.list
spanner.instances.get
spanner.backups.get
spanner.backups.restoreDatabase
spanner.instances.list
spanner.databases.create

Mettre à jour une sauvegarde

spanner.backups.update

Supprimer une sauvegarde

spanner.backups.delete

1 Obligatoire si vous créez une sauvegarde à partir de la page **Sauvegarde/Restauration** au niveau de l'instance et non au niveau de la base de données.

Gestion des stratégies IAM Spanner

Vous pouvez obtenir, définir et tester des stratégies IAM à l'aide des API REST ou RPC sur les instances, la base de données et les ressources de sauvegarde Spanner.

Instances

API REST API RPC
projects.instances.getIamPolicy GetIamPolicy
projects.instances.setIamPolicy SetIamPolicy
projects.instances.testIamPermissions TestIamPermissions

Bases de données

API REST API RPC
projects.instances.databases.getIamPolicy GetIamPolicy
projects.instances.databases.setIamPolicy SetIamPolicy
projects.instances.databases.testIamPermissions TestIamPermissions

Sauvegardes

API REST API RPC
projects.instances.backups.getIamPolicy GetIamPolicy
projects.instances.backups.setIamPolicy SetIamPolicy
projects.instances.backups.testIamPermissions TestIamPermissions

Étapes suivantes