Identity and Access Management (IAM) vous permet de contrôler l'accès des utilisateurs aux ressources Spanner Omni. Par exemple, un utilisateur peut avoir le contrôle total d'une base de données spécifique, mais ne peut pas créer ni modifier d'autres bases de données dans votre déploiement. L'utilisation d'IAM vous permet d'accorder une autorisation à un utilisateur sans avoir à modifier une à une les autorisations associées aux bases de données Spanner Omni.
Ce document porte sur les autorisations IAM pertinentes pour Spanner Omni et sur les rôles IAM qui permettent d'octroyer ces autorisations. Pour obtenir une description détaillée d'IAM et de ses fonctionnalités, consultez le guide du développeur sur Identity and Access Management.
Autorisations
Les autorisations permettent aux utilisateurs d'effectuer des actions spécifiques sur les ressources Spanner Omni. Par exemple, l'autorisation spanner.databases.read permet à un utilisateur de lire dans une base de données à l'aide de l'API de lecture de Spanner Omni, tandis que l'autorisation spanner.databases.export lui permet d'exporter une base de données Spanner Omni.
Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez des rôles prédéfinis auxquels sont associées une ou plusieurs autorisations.
Les tableaux suivants répertorient les autorisations IAM associées à Spanner Omni. Certaines autorisations sont partagées avec Spanner, tandis que d'autres ne sont utilisées que par Spanner Omni.
Bases de données
Les autorisations suivantes s'appliquent aux bases de données Spanner Omni.
| Nom de l'autorisation pour la base de données | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
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.get |
Obtenir les métadonnées d'une base de données | ✔ | |
spanner.databases.getIamPolicy |
Obtenir la stratégie IAM d'une base de données | ✔ | |
spanner.databases.list |
Répertorier les bases de données | ✔ | |
spanner.databases.read |
Lire dans une base de données à l'aide de l'API de lecture | ✔ | |
spanner.databases.setIamPolicy |
Définir la stratégie IAM d'une base 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.write |
Écrire dans une base de données | ✔ | |
spanner.databases.compact |
Compresse les tables d'une base de données | ✔ | |
spanner.databases.export |
Exporte une base de données Spanner Omni | ✔ | |
spanner.databases.import |
Importer une base de données Spanner Omni | ✔ | |
spanner.databases.addSplitPoints |
Ajoute des points de fractionnement à une base de données. | ✔ |
Opérations de base de données
Les autorisations suivantes s'appliquent aux opérations de base de données Spanner Omni.
| Nom de l'autorisation relative aux opérations de base de données | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.databaseOperations.cancel |
Annuler une opération de base de données | ✔ | |
spanner.databaseOperations.delete |
Supprimer une opération de base de données | ✔ | |
spanner.databaseOperations.get |
Obtenir une opération de base de données | ✔ | |
spanner.databaseOperations.list |
Répertorier les opérations de base de données et les restaurer | ✔ |
Sauvegardes
Les autorisations suivantes s'appliquent aux sauvegardes Spanner Omni.
| Nom de l'autorisation de sauvegarde | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.backups.copy |
Copier une sauvegarde | ✔ | |
spanner.backups.create |
Créer une sauvegarde (nécessite également spanner.databases.createBackup sur la base de données source) |
✔ | |
spanner.backups.createDatabaseFromBackup |
Créez une base de données à partir d'une sauvegarde. | ✔ | |
spanner.backups.delete |
Supprimer une sauvegarde | ✔ | |
spanner.backups.get |
Obtenir une sauvegarde | ✔ | |
spanner.backups.getIamPolicy |
Obtenir la stratégie IAM d'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. |
✔ | |
spanner.backups.setIamPolicy |
Définir la stratégie IAM d'une sauvegarde | ✔ | |
spanner.backups.update |
Mettre à jour une sauvegarde | ✔ | |
spanner.backups.import |
Importer une sauvegarde depuis un espace de stockage externe | ✔ |
Opérations de sauvegarde
Les autorisations suivantes s'appliquent aux opérations de sauvegarde Spanner Omni.
| Nom de l'autorisation de l'opération de sauvegarde | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.backupOperations.cancel |
Annuler une opération de sauvegarde. | ✔ | |
spanner.backupOperations.get |
Obtenir une opération de sauvegarde spécifique. | ✔ | |
spanner.backupOperations.list |
Répertorier les opérations de sauvegarde. | ✔ |
Planifications de sauvegarde
Les autorisations suivantes s'appliquent aux programmations de sauvegarde Spanner Omni.
| Nom de l'autorisation de programmation de sauvegarde | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.backupSchedules.create |
Créez un planning de sauvegarde. (nécessite également spanner.databases.createBackup sur la base de données source) |
✔ | |
spanner.backupSchedules.delete |
Supprimer une planification de sauvegarde. | ✔ | |
spanner.backupSchedules.get |
Obtenez un planning de sauvegarde. | ✔ | |
spanner.backupSchedules.list |
Répertorier les programmations de sauvegarde. | ✔ | |
spanner.backupSchedules.update |
Mettre à jour un planning de sauvegarde | ✔ | |
spanner.backupSchedules.getIamPolicy |
Obtenir la stratégie IAM d'un calendrier de sauvegarde | ✔ | |
spanner.backupSchedules.setIamPolicy |
Définir la stratégie IAM d'un calendrier de sauvegarde | ✔ |
Descripteurs de sauvegarde
Les autorisations suivantes s'appliquent aux descripteurs de sauvegarde Spanner Omni.
| Nom de l'autorisation du descripteur de sauvegarde | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.backupDescriptors.import |
Importe une sauvegarde à partir d'un descripteur de sauvegarde | ✔ | |
spanner.backupDescriptors.list |
Répertorier les descripteurs de sauvegarde. | ✔ |
Sessions
Les autorisations suivantes s'appliquent aux sessions Spanner Omni.
| Nom de l'autorisation relative aux sessions | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.sessions.create |
Créer une session | ✔ | |
spanner.sessions.delete |
Supprimer une session | ✔ | |
spanner.sessions.get |
Obtenir une session | ✔ | |
spanner.sessions.list |
Répertorier les sessions | ✔ |
Emplacement et zones
Les autorisations suivantes s'appliquent aux emplacements et aux zones Spanner Omni.
| Nom de l'autorisation | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.locations.create |
Créer un emplacement Spanner Omni | ✔ | |
spanner.locations.delete |
Supprimer un emplacement Spanner Omni | ✔ | |
spanner.locations.get |
Obtenir un emplacement Spanner Omni | ✔ | |
spanner.locations.list |
Lister les emplacements Spanner Omni | ✔ | |
spanner.locationDistances.create |
Créer une distance de localisation Spanner Omni | ✔ | |
spanner.locationDistances.delete |
Supprimer une distance de localisation Spanner Omni | ✔ | |
spanner.locationDistances.get |
Obtenir la distance d'un emplacement Spanner Omni | ✔ | |
spanner.locationDistances.list |
Lister les distances des emplacements Spanner Omni | ✔ | |
spanner.locationDistances.update |
Mettre à jour la distance d'un emplacement Spanner Omni | ✔ | |
spanner.zones.create |
Créer une zone Spanner Omni | ✔ | |
spanner.zones.delete |
Supprimer une zone Spanner Omni | ✔ | |
spanner.zones.get |
Obtenir une zone Spanner Omni | ✔ | |
spanner.zones.list |
Lister les zones Spanner Omni | ✔ |
Serveurs
Les autorisations suivantes s'appliquent aux serveurs Spanner Omni.
| Nom de l'autorisation du serveur | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.servers.create |
Crée un serveur Spanner Omni | ✔ | |
spanner.servers.delete |
Supprime un serveur Spanner Omni | ✔ | |
spanner.servers.get |
Obtient un serveur Spanner Omni | ✔ | |
spanner.servers.list |
Liste les serveurs Spanner Omni | ✔ |
Utilisateurs et rôles
Les autorisations suivantes s'appliquent aux utilisateurs et aux rôles Spanner Omni.
| Nom de l'autorisation | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.users.create |
Crée un utilisateur Spanner Omni | ✔ | |
spanner.users.delete |
Supprime un utilisateur Spanner Omni | ✔ | |
spanner.users.get |
Obtenir un utilisateur Spanner Omni | ✔ | |
spanner.users.list |
Lister les utilisateurs Spanner Omni | ✔ | |
spanner.users.update |
Met à jour un utilisateur Spanner Omni | ✔ | |
spanner.roles.get |
Obtient un rôle Spanner Omni | ✔ | |
spanner.roles.list |
Liste les rôles Spanner Omni | ✔ |
Stockage externe
Les autorisations suivantes s'appliquent au stockage externe Spanner Omni.
| Nom de l'autorisation de stockage externe | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.externalStorages.create |
Crée un espace de stockage externe | ✔ | |
spanner.externalStorages.delete |
Supprime un stockage externe. | ✔ | |
spanner.externalStorages.get |
Obtenir le stockage externe | ✔ | |
spanner.externalStorages.getIamPolicy |
Obtient la stratégie IAM d'un stockage externe. | ✔ | |
spanner.externalStorages.list |
Liste les espaces de stockage externes | ✔ | |
spanner.externalStorages.setIamPolicy |
Définit la stratégie IAM d'un espace de stockage externe | ✔ |
Système de fichiers et descripteurs
Les autorisations suivantes s'appliquent au système de fichiers Spanner Omni.
| Nom de l'autorisation | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.filesystem.cat |
Imprime les fichiers dans le système de fichiers Spanner Omni. | ✔ | |
spanner.filesystem.ls |
Liste les fichiers du système de fichiers Spanner Omni | ✔ | |
spanner.descriptors.print |
Affiche les descripteurs dans le système de fichiers Spanner Omni | ✔ |
Autres autorisations d'administrateur
Les autorisations suivantes s'appliquent aux autres tâches d'administrateur Spanner Omni.
| Nom de l'autorisation | Description | Spanner et Spanner Omni | Spanner Omni uniquement |
|---|---|---|---|
spanner.chubby.list |
Liste les cellules Chubby | ✔ | |
spanner.chubby.print |
Affiche le contenu des cellules Chubby | ✔ | |
spanner.deployment.get |
Obtenir le déploiement Spanner Omni | ✔ | |
spanner.diagnostics.create |
Collecte les artefacts des serveurs Spanner Omni pour le débogage | ✔ | |
spanner.internal-tables.sql |
Exécute des requêtes SQL sur des tables internes | ✔ | |
spanner.logs.copy |
Copie les journaux d'un serveur Spanner Omni | ✔ | |
spanner.tablet.move |
Déplace une tablette d'un serveur Spanner Omni à un autre | ✔ | |
spanner.workflows.delete |
Supprime un workflow dans une base de données | ✔ | |
spanner.groups.compact |
Regroupe les tablettes compactes | ✔ | |
spanner.directories.compact |
Compacter les tablettes dans un répertoire | ✔ |
Rôles prédéfinis
Un rôle prédéfini correspond à un ensemble contenant une ou plusieurs autorisations. Spanner Omni est compatible avec les rôles prédéfinis suivants :
| Rôle | Description |
|---|---|
roles/spanner.admin |
Offre un accès complet à toutes les ressources Spanner Omni. Inclut toutes les autorisations. |
roles/spanner.backupAdmin |
Offre un accès complet aux sauvegardes et aux opérations de sauvegarde Spanner Omni. |
roles/spanner.backupWriter |
Peut créer des sauvegardes, mais ne peut pas les mettre à jour ni les supprimer. |
roles/spanner.databaseAdmin |
Offre un accès complet à toutes les bases de données Spanner Omni d'un projet. |
roles/spanner.databaseReader |
Peut lire la base de données Spanner Omni et afficher le schéma. |
roles/spanner.databaseUser |
Peut lire et écrire dans la base de données Spanner Omni. |
roles/spanner.editor |
Rôle d'éditeur pour Spanner Omni. |
roles/spanner.restoreAdmin |
Peut restaurer une base de données à partir d'une sauvegarde. |
roles/spanner.viewer |
Peut afficher toutes les ressources Spanner Omni, mais pas les modifier. Inclut les autorisations en lecture seule. |
Spanner Omni présente d'autres limites notables :
- Aucun rôle personnalisé.
- Aucun contrôle précis des accès.
- Aucune condition IAM
Étapes suivantes
- Apprenez-en plus sur IAM.
- En savoir plus sur l'authentification et l'autorisation dans Spanner Omni