Comparaison entre propriétaires de géodatabase dans SQL Server

Les géodatabases sont des ensembles de tables, de vues, de fonctions et de procédures stockées figurant à l’intérieur d’une base de données. Dans les géodatabases d’une base de données Microsoft SQL Server, cet ensemble d’objets peut être la propriété d’un utilisateur de base de données nommé sde ou d’un utilisateur de base de données dbo. L’utilisateur qui possède la géodatabase est considéré comme l’administrateur de géodatabase. Étant donné que les noms d’utilisateur et de structure doivent correspondre dans une géodatabase, les géodatabases appartenant à l’utilisateur sde sont appelées géodatabases de structure sde et les géodatabases détenues par dbo sont désignées comme des géodatabases de structure dbo.

Remarque :

Vous devez impérativement comprendre le mode de gestion des accès aux données ou autres objets adopté par SQL Server. De ce fait, si vous ne connaissez pas bien le modèle de sécurité de SQL Server, commencez par lire la documentation Microsoft SQL Server le concernant. SQL Server authentifie une connexion au niveau de l’instance, puis autorise l’utilisateur correspondant au niveau de la base de données. Les différents privilèges accordés peuvent porter sur l’instance dans son ensemble, sur une ou plusieurs bases de données spécifiques, ou sur des données au sein d’une base de données. Ce paramètre peut influer sur la sélection du type de propriétaire de géodatabase à utiliser.

L’identifiant utilisé pour la connexion lors de la création de la géodatabase détermine l’identité de l’utilisateur de base de données auquel appartiendra la géodatabase. Si l’identifiant du système d’exploitation ou l’identifiant SQL Server utilisé pour la connexion est apparié à l’utilisateur dbo dans la base de données, une géodatabase de schéma dbo est créée. Si l’identifiant du système d’exploitation ou l’identifiant SQL Server est apparié à un utilisateur appelé sde dans la base de données, une géodatabase de structure sde est créée.

Utilisateur sde

Dans une base de données, l’utilisateur sde peut être associé à un identifiant SQL Server, un identifiant authentifié ou encore un identifiant authentifié par le système d’exploitation. L’utilisateur sde doit avoir la haute main sur une structure appelée sde, qui doit correspondre à la structure par défaut de l’utilisateur sde. Dans la base de données, cet utilisateur doit bénéficier de privilèges lui permettant de créer et d'administrer la géodatabase.

Utilisateur dbo

L’utilisateur dbo et la structure par défaut associée sont créés automatiquement dans toutes les bases de données. Les identifiants peuvent correspondre à dbo dans une base de données. Il existe deux méthodes :

  • via la création ou l'association d'un utilisateur à une base de données spécifique, en tant que propriétaire ;
  • via l'association d'un utilisateur au rôle de serveur fixe sysadmin, en tant que membre.

Les identifiants appariés à l’utilisateur dbo dans une base de données spécifique bénéficient des privilèges les plus élevés au sein de cette base de données. Ces privilèges sont suffisants pour la création et l’administration de la géodatabase. Les identifiants appariés à l’utilisateur dbo dans une base de données spécifique ne bénéficient d’aucun privilège avancé dans l’instance SQL Server ou d’autres bases de données, sauf si ces privilèges sont accordés de manière explicite à l’identifiant.

Les identifiants relatifs à des membres du rôle de serveur fixe sysadmin sont appariés à dbo dans chaque base de données sur l’instance SQL Server ; ils bénéficient des privilèges les plus élevés dans l’ensemble de l’instance SQL Server. Ces privilèges permettent la création et l'administration de la géodatabase, ainsi que la création, la modification, la suppression et l'administration d'autres éléments sécurisables au sein de l'instance.

Tous les objets de base de données appartenant à l’utilisateur dbo sont stockés dans le schéma dbo.

Identification de l'utilisateur auquel la géodatabase doit appartenir

Il n’y a aucune différence en termes de performances ou de fonctionnalité entre les deux types de schéma de géodatabase. Chacun d’eux possède ses avantages et ses inconvénients. Sélectionnez l'utilisateur (et, partant, la structure) correspondant le mieux au système et au modèle de sécurité adopté.

Voici une comparaison des deux types de structure, selon le type d'authentification utilisé :

StructureAuthentificationAvantagesInconvénients

Dbo (membre du groupe sysadmin)

Identifiant du système d’exploitation ou identifiant SQL Server

  • Si l’administrateur de base de données joue également le rôle d’administrateur de géodatabase SQL Server, il peut s’avérer utile d’utiliser un schéma dbo, afin d’éviter qu’une même personne utilise deux identifiants différents pour effectuer différentes tâches.
  • S'il vous faut plusieurs administrateurs de géodatabase, vous pouvez ajouter plusieurs identifiants au rôle de serveur fixe sysadmin.
  • L’identifiant est associé à des privilèges avancés sur l’ensemble des éléments sécurisables de l’instance SQL Server.
  • Cet identifiant doit être créé et ajouté au rôle sysadmin avant l’exécution de l’outil Créer une géodatabase d’entreprise.
  • Si vous utilisez un identifiant local et non un identifiant de domaine, cet identifiant existe uniquement sur le serveur hébergeant SQL Server. De ce fait, les clients ArcGIS doivent être installés sur le même serveur et toutes les tâches d'administration de la géodatabase doivent être exécutées par le biais de l'identifiant local sur ce serveur.
  • Les géodatabases de structure dbo ne sont pas prises en charge dans Amazon Relational Database Service (RDS) for SQL Server.

Dbo (apparié à dbo dans une base de données spécifique)

Identifiant du système d’exploitation ou identifiant SQL Server

  • L'administrateur de géodatabase peut effectuer l'administration des géodatabases et bases de données dans la base de données spécifique indiquée.
  • Les privilèges avancés se limitent à cette base de données.
  • S'il vous faut d'autres administrateurs de géodatabase, il est possible d'associer d'autres identifiants au rôle de serveur fixe sysadmin, ce qui leur permet de bénéficier également de privilèges dbo dans cette base de données.
  • L'utilisateur bénéficie de privilèges avancés dans la base de données.
  • Vous devez créer l’identifiant et la base de données avant d’exécuter l’outil Créer une géodatabase d’entreprise ; cet identifiant doit être défini en tant que propriétaire de la base de données.
  • Si vous utilisez un identifiant local et non un identifiant de domaine, cet identifiant existe uniquement sur le serveur hébergeant SQL Server. De ce fait, les clients ArcGIS doivent être installés sur le même serveur et toutes les tâches d'administration de la géodatabase doivent être exécutées par le biais de l'identifiant local sur ce serveur.
  • Les géodatabases de structure dbo ne sont pas prises en charge dans Amazon RDS for SQL Server.

ArcSDE

Identifiant de connexion SQL Server

  • L'utilisateur sde nécessite seulement quelques permissions relatives aux instructions dans une base de données spécifique pour pouvoir administrer la géodatabase.
  • Il est possible de créer un identifiant SQL Server, un utilisateur de base de données et une structure sde avec l’outil Créer une géodatabase d’entreprise lors de la création de la géodatabase dans la base de données. L’administrateur de base de données peut également créer la base de données, l’utilisateur sde (avec les privilèges requis) et une structure sde, puis laisser l’utilisateur sde créer la géodatabase à l’aide de l’outil Activer la géodatabase d’entreprise.
  • Un identifiant SQL Server sde permet de créer une géodatabase dans Amazon RDS for SQL Server.
  • Un seul identifiant peut être apparié à l'utilisateur sde.
  • L’instance SQL Server doit autoriser l’authentification en mode mixte.
  • L’outil Créer une géodatabase d’entreprise doit être exécuté par l’administrateur de base de données.

ArcSDE

Identifiant de connexion du système d’exploitation

  • L’utilisateur sde nécessite seulement quelques permissions relatives aux instructions dans une base de données spécifique pour créer et administrer la géodatabase. L’administrateur de base de données peut créer la base de données, l’utilisateur sde (avec les privilèges requis) et une structure sde, puis laisser l’utilisateur sde créer la géodatabase à l’aide de l’outil Activer la géodatabase d’entreprise.
  • Vous pouvez apparier un identifiant de domaine existant à l’utilisateur sde.
  • Un identifiant sde authentifié par le système d’exploitation peut être exploité sur les sites où l’instance SQL Server autorise uniquement l’authentification par le système d’exploitation.
  • Il peut s’avérer nécessaire de créer et de gérer un identifiant de système d’exploitation qui n’est pas associé directement à une personne spécifique.*
  • Vous devez créer la base de données et l’identifiant, l’utilisateur et la structure sde avant d’exécuter l’outil Créer une géodatabase d’entreprise.
  • Un seul identifiant peut être apparié à l'utilisateur sde.
  • Vous devez être connecté à Windows via l’identifiant sde pour pouvoir exécuter l’outil Créer une géodatabase d’entreprise.
  • Si vous utilisez un identifiant local et non un identifiant de domaine, cet identifiant existe uniquement sur le serveur hébergeant SQL Server. De ce fait, les clients ArcGIS doivent être installés sur le même serveur et toutes les tâches d'administration de la géodatabase doivent être exécutées par le biais de l'identifiant local sur ce serveur.

*La plupart des identifiants de connexion du système d’exploitation (notamment les identifiants de domaine) appartiennent à une personne spécifique. Cette personne utilise l’identifiant pour se connecter à son ordinateur et accéder aux applications, notamment à SQL Server. De ce fait, cette personne accède systématiquement à la géodatabase en tant qu’utilisateur sde. Si la même personne fait office d’administrateur de géodatabase et crée les données de la géodatabase, vous pouvez être amené à créer un autre identifiant de système d’exploitation et l’associer à un autre utilisateur détenant moins de privilège dans la base de données afin d’attribuer deux identifiants à cette personne. Cela signifie que la personne doit passer d’un identifiant à l’autre sur l’ordinateur selon la tâche qu’elle souhaite réaliser dans la géodatabase. De nombreux sites préfèrent ne pas créer plusieurs identifiants pour une même personne afin d’éviter les risques de sécurité que cela implique et de ne pas compliquer outre mesure la gestion des identifiants. Pour ces raisons, un utilisateur sde authentifié par le système d’exploitation n’est pas une solution adéquate si la même personne joue plusieurs rôles dans la géodatabase.