Ajouter des identifiants de connexion et des utilisateurs à SQL Server
Dans Microsoft SQL Server, les administrateurs de base de données ajoutent des identifiants de connexion à l’instance SQL Server, et ces identifiants de connexion sont appariés à des utilisateurs dans des bases de données individuelles dans l’instance SQL Server. Les utilisateurs de base de données qui doivent créer des tables et des classes d’entités doivent disposer des privilèges nécessaires pour créer ces objets dans la base de données ainsi que d’un schéma dans lequel ils peuvent les créer. Lorsque vous utilisez ArcGIS, cette structure doit avoir le même nom que l’utilisateur de la base de données.
Pour effectuer les opérations suivantes, l’administrateur de base de données peut utiliser l’outil de géotraitement Créer un utilisateur de base de données ou un script Python qui appelle la fonction ArcPy management.CreateDatabaseUser :
Créer ou ajouter un identifiant de connexion à l’instance SQL Server
Créer un utilisateur associé à l’identifiant de connexion spécifié
Créer une structure correspondante pour l’utilisateur dans la base de données spécifiée
Accorder des privilèges à l’utilisateur pour créer des tables, des classes d’entités et des vues dans la base de données spécifiée
Utiliser le géotraitement pour ajouter un utilisateur qui peut créer des données
Exécutez l’outil Créer un utilisateur de base de données depuis ArcGIS Pro ou appelez la fonction ArcPy management.CreateDatabaseUser dans un script Python pour créer un utilisateur de base de données qui peut créer des tables, des classes d’entités et des vues.
Vous devez être connecté à la base de données avec un identifiant de connexion disposant des privilèges sysadmin dans l’instance SQL Server afin d’exécuter l’outil Créer un utilisateur de base de données ou la fonction management.CreateDatabaseUser.
Si vous créez un utilisateur de base de données pour un identifiant de connexion Microsoft Windows, ce dernier doit exister avant que vous n’exécutiez l’outil ou la fonction.
Utiliser l’outil Créer un utilisateur de base de données
Procédez comme suit pour créer un utilisateur de base de données dans SQL Server à l’aide de l’outil Créer un utilisateur de base de données :
Démarrez ArcGIS Pro.
Connectez-vous à la base de données ou à la géodatabase avec un identifiant de connexion disposant des privilèges sysadmin dans l’instance SQL Server.
Ouvrez l’outil Créer un utilisateur de base de données.
Il se trouve dans le jeu d’outils Administration de géodatabase de la boîte à outils Gestion des données.
Identifiez la connexion à la base de données pour la Connexion à la base de données en entrée.
Créez un identifiant de connexion authentifié par SQL Server ou utilisez un identifiant de connexion authentifié par Windows existant.
Laissez l’option Create Operating System Authenticated User (Créer un utilisateur authentifié par le système d’exploitation) désélectionnée pour créer un identifiant de connexion authentifié par SQL Server. Notez que, par défaut, les instances SQL Server utilisent uniquement l’authentification Windows. Si votre instance n’est pas configurée pour utiliser l’authentification SQL Server et l’authentification Windows, vous ne pourrez pas créer d’identifiant de connexion authentifié par la base de données.
Sélectionnez l’option Create Operating System Authenticated User (Créer un utilisateur authentifié par le système d’exploitation) pour utiliser un identifiant de connexion authentifié par Windows existant.
Attribuez un nom à l’utilisateur de base de données que l’outil va créer.
Si vous choisissez de créer un identifiant de connexion authentifié par SQL Server, le nom que vous saisissez ici sera également attribué à l’identifiant de connexion.
Fournissez un mot de passe pour l’utilisateur de base de données.
Si vous disposez déjà d’un rôle de base de données auquel vous souhaitez ajouter cet utilisateur, indiquez le rôle.
Cliquez sur Run (Exécuter).
Exécuter un script Python
Pour générer un script de création d’utilisateur, procédez comme suit :
Créez un fichier texte sur l’ordinateur d’un client ArcGIS, puis copiez-y un des blocs de code suivants.
Modifiez le code pour utiliser les informations spécifiques de votre site.
Les exemples supposent que vous disposez d’un fichier de connexion à une base de données existant qui vous permet de vous connecter en tant qu’utilisateur disposant des privilèges sysadmin dans l’instance SQL Server. Si vous ne disposez pas d’un fichier de connexion, créez-en un avant d’exécuter le script.
# Name: createdatabaseuser_exampleW.py # Description: Uses existing database connection file # on a Windows computer to create a database user in SQL Server. # Import arcpy module import arcpy # Provide a database connection file for the system administrator user. connection = "C:\\ArcGIS\connection_files\<Connection file>.sde" # Process: Create database user that can create data for an existing operating system login. arcpy.management.CreateDatabaseUser(connection, "OPERATING_SYSTEM_USER", "NETWORKNAME\\username")# Name: createdatabaseuser_exampleL.py # Description: Uses existing database connection file # on a Linux computer to create a database user in SQL Server. # Import arcpy module import arcpy # Provide a database connection file for the system administrator user. connection = "<user>/connections/<Connection_file>.sde" # Process: Create a new database login and user that can create data. arcpy.management.CreateDatabaseUser(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1")Enregistrez le fichier avec l’extension
.py.Exécutez le script depuis un ordinateur sur lequel ArcGIS Pro (Standard ou Advanced) ou ArcGIS Server est installé.
Conseil :
Pour des informations sur l’exécution de Python depuis une machine ArcGIS Server, voir ArcGIS Server et ArcPy.
La base de données compte désormais un utilisateur qui peut créer des tables et des classes d’entités.
Le nouvel utilisateur propriétaire des données peut se connecter à la base de données et créer des tables et des classes d’entités. Le propriétaire des données peut ensuite accorder à d’autres utilisateurs des privilèges sur ses tables et ses classes d’entités. Pour obtenir des instructions, reportez-vous à la rubrique Octroyer et supprimer des privilèges sur le jeu de données dans des bases de données et des géodatabases d’entreprise.
Créer des identifiants de connexion et des utilisateurs avec des outils SQL Server
L’administrateur de base de données peut également utiliser les outils SQL Server pour créer des identifiants de connexion et des utilisateurs. Par exemple, utilisez SQL pour créer des utilisateurs dotés de privilèges différents de ceux qui ont été octroyés par l’outil Créer un utilisateur de base de données ou auxquels aucun privilège n’a été accordé directement. Voici certains points à prendre en compte lorsque vous utilisez SQL pour créer des connexions et des utilisateurs à utiliser avec ArcGIS :
Tous les utilisateurs qui vont créer des données doivent disposer d’une structure dans la base de données. Le nom de cette structure et celui de l’utilisateur doivent être identiques.
Vous pouvez accorder un accès à un groupe Windows plutôt qu’à des identifiants de connexion Windows individuels pour simplifier la création et la gestion des identifiants de connexion. Tous les membres du groupe Windows peuvent se connecter à SQL Server. Les privilèges accordés à un groupe sur le serveur, la base de données et les jeux de données sont automatiquement appliqués à chaque membre du groupe. Toutefois, vous ne pouvez pas créer une structure unique pour stocker les données créées par les membres de groupe. Chaque membre du groupe qui crée des données dans la géodatabase doit disposer de sa propre structure pour stocker les données. SQL Server crée un utilisateur et un schéma dans la base de données lorsqu’un membre du groupe crée des données pour la première fois. Cet événement est automatique ; ne créez aucune structure et aucun utilisateur manuellement.
Vous pouvez accorder aux utilisateurs des privilèges de base de données directement ou par l’intermédiaire de rôles. Reportez-vous à la rubrique Privilèges pour les géodatabases dans SQL Server pour des informations sur les privilèges requis.
Pour des instructions relatives à l’utilisation des outils SQL Server afin de créer des identifiants de connexion, des utilisateurs et des schémas, consultez la documentation de Microsoft SQL Server.
Les nouveaux utilisateurs peuvent se connecter à la base de données. Les utilisateurs qui disposent de privilèges permettant de créer des objets peuvent créer des tables et des classes d’entités et accorder à d’autres utilisateurs des privilèges sur leurs objets. Pour obtenir des instructions, reportez-vous à la rubrique Octroyer et supprimer des privilèges sur le jeu de données dans des bases de données et des géodatabases d’entreprise.