Présentation d'IAM

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