Privilèges pour les géodatabases dans SQL Server

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.

Vous pouvez utiliser des outils SQL Server ou des instructions Transact SQL pour gérer les privilèges de bases de données accordés aux utilisateurs.

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.

Remarque :

Sur les bases de données, le privilège CONNECT est accordé par défaut au rôle de base de données public. Si vous révoquez ce privilège du rôle public, vous devez accorder explicitement le privilège CONNECT sur les bases de données à des rôles et/ou des identifiants de connexion spécifiques.

Privilèges minimaux

Type d’utilisateurPrivilèges de base de donnéesPrivilèges de jeu de donnéesRemarques

Consultation de données

SELECT

Si vous êtes autorisé à lire toutes les tables de la base de données, vous pouvez attribuer le rôle de la base de données db_datareader à des utilisateurs. Dans le cas contraire, accordez le droit SELECT à des tables et vues spécifiques.

Mise à jour de données

  • SELECT, INSERT, UPDATE et DELETE sur les jeux de données d’autres utilisateurs
  • EXECUTE sur les procédures stockées associées aux données à modifier

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.

Création de données

  • CREATE TABLE
  • CREATE PROCEDURE
  • CREATE VIEW

Les utilisateurs qui créent les données doivent posséder une structure par défaut du même nom que celui de l'utilisateur de base de données. Par exemple, le nom de structure par défaut doit être simon pour le nom d'utilisateur simon. Sinon, l'utilisateur ne peut pas créer d'objet tels que des classes d'entités.

Administrateur de géodatabase

Si l'administrateur de géodatabase est un utilisateur nommé sde et si cet utilisateur n'est pas destiné à posséder les données de la géodatabase en dehors des objets système, l'utilisateur sde doit seulement être en mesure de se connecter à la géodatabase une fois celle-ci créée.

Opérations SELECT, INSERT, UPDATE et DELETE sur des jeux de données versionnés

Des privilèges supplémentaires sont requis pour mettre à niveau la géodatabase ou pour autoriser l’utilisateur sde à supprimer ou afficher toutes les connexions.

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

Le tableau ci-dessous indique les privilèges nécessaires à attribuer à certains utilisateurs pour créer ou mettre à niveau des géodatabases dans SQL Server.

Type de géodatabaseUtilisateur et privilèges pour créer une géodatabaseUtilisateur et privilèges pour mettre à niveau une géodatabase

Géodatabase de structure sde

L'utilisateur sde a besoin des privilèges suivants :

  • CREATE FUNCTION
  • CREATE PROCEDURE
  • CREATE TABLE
  • CREATE VIEW

L'utilisateur sde doit être ajouté au rôle db_owner dans la base de données à mettre à niveau.

La mise à niveau peut également être exécutée par un utilisateur (autre que sde) qui appartient au rôle de base de données db_owner ou au rôle de serveur fixe sysadmin.

Structure dbo

L'utilisateur dbo dispose déjà des privilèges requis pour créer une géodatabase dans une base de données.

L'utilisateur dbo dispose déjà des privilèges requis pour mettre à niveau une géodatabase.

La mise à niveau peut également être exécutée par un utilisateur associé au rôle de base de données db_owner.

Privilèges supplémentaires

Des privilèges supplémentaires sont requis pour les fonctionnalités suivantes dans la géodatabase :

  • L'administrateur de géodatabase (utilisateur sde) dans une géodatabase de structure sde doit être ajouté au rôle de serveur fixe processadmin et obtenir des privilèges VIEW DEFINITION sur la base de données pour supprimer les connexions à une géodatabase. L'outil de géotraitement Créer la géodatabase d'entreprise octroie ce rôle et ces privilèges à l'utilisateur sde. Vous pouvez révoquer ces privilèges et supprimer l'utilisateur du rôle processadmin une fois la géodatabase créée mais, dans ce cas, l'utilisateur sde ne pourra pas déconnecter les utilisateurs de la géodatabase.
  • Les utilisateurs qui possèderont une colonne XML doivent disposer des privilèges REFERENCES sur le catalogue de texte intégral pour indexer le contenu de cette colonne.
  • Si vous modifiez la configuration de la géodatabase pour utiliser des tables de fichiers journaux partagés dans la géodatabase, tous les utilisateurs doivent disposer des privilèges CREATE TABLE dans la base de données.