Privilèges pour les géodatabases dans PostgreSQL

Les privilèges déterminent les opérations qu'une personne est autorisée à réaliser avec les données et la base de données. Les privilèges doivent être attribués selon le type de travail que la personne effectue au sein de l'organisation. Cette personne a-t-elle un rôle dans l'administration de la géodatabase ? Doit-elle modifier ou créer des données ? Ou cette personne a-t-elle seulement besoin d'effectuer des requêtes sur les données ?

Les privilèges utilisateur sont définis à différents niveaux. Cette rubrique présente les privilèges de bases de données et de jeux de données requis pour les types courants d'utilisateurs : visualiseurs de données, éditeurs de données, créateurs de données et administrateur de géodatabase.

Les utilisateurs de base de données individuels dans PostgreSQL sont connus sous le nom de rôles de connexion. Pour regrouper des rôles de connexion en fonction des tâches courantes effectuées par les utilisateurs, vous pouvez créer des rôles de groupe, ajouter les rôles de connexion aux rôles de groupe, puis attribuer des privilèges aux rôles de groupe.

Remarque :

Les privilèges de base de données CONNECT et TEMPORARY sont accordés par défaut au rôle de groupe public. Si vous révoquez ces privilèges du rôle de groupe public, vous devez accorder explicitement les privilèges CONNECT et TEMPORARY sur les bases de données à des rôles de connexion ou de groupe spécifiques.

Vous pouvez utiliser l’une des applications d’administration qui se connectent aux bases de données PostgreSQL, telles que pgAdmin, pour gérer les privilèges utilisateur. ou vous pouvez utiliser les instructions SQL pour accorder et révoquer des privilèges.

Les privilèges sur les jeux de données dans des géodatabases doivent être accordés ou révoqués à l’aide de clients ArcGIS. Le propriétaire du jeu de données doit se charger de cette opération.

Les privilèges présentés dans cette page s’appliquent aux rôles de connexion dans PostgreSQL et aux PostgreSQL qu’ArcGIS prend en charge.

Privilèges minimaux

Le tableau suivant répertorie les privilèges à accorder à chacun des trois groupes communs : visualiseurs de données, éditeurs de données et créateurs de données et les privilèges nécessaires à l’administrateur de géodatabase (le rôle de connexion sde) pour effectuer ses opérations quotidiennes.

Type d’utilisateurPrivilèges requisObjet

Visualiseur de données

Accordez USAGE sur la structure sde.

Ce privilège permet d’accéder à la géodatabase.

Accordez USAGE sur toutes les autres structures contenant des données auxquelles les visualiseurs de données ont besoin d’accéder.

Ce privilège permet d’accéder aux données dans différentes structures.

Si votre base de données utilise le type géométrique PostGIS pour le stockage des données spatiales, les rôles requièrent des privilèges SELECT dans la table spatial_ref_sys et la vue geometry_columns PostGIS.

Ce privilège est requis pour accéder aux données géométriques PostGIS.

Si votre base de données utilise le type géographique PostGIS pour le stockage des données spatiales, les rôles requièrent des privilèges SELECT dans la table spatial_ref_sys et la vue geography_columns PostGIS.

Ce privilège est requis pour accéder aux données géographiques PostGIS.

Accordez SELECT sur des jeux de données spécifiques.

Le propriétaire des données doit accorder les privilèges SELECT sur les tables et les classes d’entités d’une géodatabase aux utilisateurs dotés du rôle de consultation des données de telle sorte qu’ils puissent accéder aux données.

Editeur de données

Les éditeurs de données nécessitent les mêmes privilèges que les visualiseurs de données, plus ces privilèges supplémentaires.

SELECT, INSERT, UPDATE et DELETE sur les jeux de données détenus par d’autres utilisateurs.

Lorsque vous utilisez ArcGIS pour accorder les privilèges SELECT, INSERT, UPDATE et DELETE sur une table ou une classe d’entités inscrite pour le versionnement traditionnel, ces privilèges sont automatiquement accordés sur la vue versionnée associée. Pour effectuer une mise à jour avec une vue versionnée et SQL, l’utilisateur doit détenir ces privilèges.

Les propriétaires des données doivent accorder aux éditeurs les privilèges requis pour la mise à jour des données dans une géodatabase. Les propriétaires des données peuvent accorder n’importe quelle combinaison de ces privilèges aux éditeurs.

Créateur de données

Les créateurs de données requièrent les mêmes privilèges que les visualiseurs de données, plus le privilège supplémentaire ci-après.

Chaque rôle de connexion qui crée des données requiert le privilège AUTHORIZATION sur sa propre structure. Notez que le nom de la structure doit correspondre au nom du rôle de connexion et que les rôles de groupe ne peuvent pas partager une structure.

AUTHORIZATION fait en sorte que tous les objets créés dans le schéma sont possédés par cet utilisateur.

Administrateur de géodatabase (rôle de connexion sde)

Le privilège AUTHORIZATION sur sa propre structure nommée sde.

Le rôle de connexion sde requiert USAGE sur toutes les autres structures d’utilisateur.

Les tables systèmes, les fonctions et les procédures de la géodatabase sont stockées dans la structure sde.

Le privilège USAGE sur les autres structures d’utilisateur est requis pour que l’utilisateur sde puisse compresser et mettre à niveau la géodatabase.

Table des privilèges PostgreSQL

Privilèges requis pour créer ou mettre à niveau une géodatabase

Les privilèges requis par la connexion sde pour créer ou mettre à niveau une géodatabase, ainsi que les privilèges requis pour réaliser d’autres tâches administratives facultatives, sont décrits dans la table suivante. La table répertorie les privilèges pour chaque type d’implémentation PostgreSQL prise en charge par ArcGIS.

Créer une géodatabaseMettre à niveau une géodatabaseAutres opérations de l’administrateur
PostgreSQL

Connexion et statut de superutilisateur

Le statut de superutilisateur permet d’accéder à toutes les autres structures d’utilisateur et dispose des privilèges SELECT sur tous les jeux de données de la géodatabase.

L’utilisateur sde doit détenir le statut de superutilisateur dans PostgreSQL pour supprimer des connexions à la base de données à l’aide d’outils ArcGIS. Si vous ne souhaitez pas que l’utilisateur sde supprime des connexion, vous pouvez révoquer le statut de superutilisateur de sde après la création ou la mise à niveau de la géodatabase.

Amazon Relational Database Service (RDS) for PostgreSQL

Connexion et statut rds_superuser

Connexion et statut rds_superuser

L’utilisateur sde doit également se voir accorder tous les rôles possédant des données dans la géodatabase.

Par exemple, si les rôles gisdata1 et gisdata2 possèdent des données dans la géodatabase, vous devez accorder ces rôles à sde avant de procéder à la mise à niveau.

grant gisdata1 to sde;

grant gisdata2 to sde;

Révoquez les rôles de sde une fois la géodatabase mise à niveau.

Vous pouvez révoquer rds_superuser de sde une fois que l’utilisateur sde a créé ou mis à niveau la géodatabase.

Si vous voulez toutefois utiliser l’outil de géotraitement Créer un utilisateur de base de données pour créer des propriétaires de données dans la base de données, ne révoquez pas rds_superuser de sde et exécutez cet outil de géotraitement en tant qu’utilisateur sde.

Amazon Aurora (PostgreSQL-compatible edition)

Connexion et statut rds_superuser

Connexion et statut rds_superuser

Vous pouvez révoquer rds_superuser de sde une fois que l’utilisateur sde a créé ou mis à niveau la géodatabase.

Si vous voulez toutefois utiliser l’outil de géotraitement Créer un utilisateur de base de données pour créer des propriétaires de données dans la base de données, ne révoquez pas rds_superuser de sde et exécutez cet outil de géotraitement en tant qu’utilisateur sde.

Microsoft Azure Database for PostgreSQL

Connexion

GRANT pgazureadmin TO sde;

Connexion

GRANT pgazureadmin TO sde;

Vous pouvez révoquer rpgazureadmin de sde une fois que l’utilisateur sde a créé ou mis à niveau la géodatabase.

Google Cloud SQL for PostgreSQL

L’utilisateur sde doit obtenir le privilège cloudsqlsuperuser.

L’utilisateur sde doit obtenir le privilège cloudsqlsuperuser.

Vous pouvez révoquer cloudsqlsuperuser de sde une fois que l’utilisateur sde a créé ou mis à niveau la géodatabase.