Dans Microsoft SQL Server, les administrateurs de base de données ajoutent des identifiants de connexion à l’instance SQL Server et une correspondance est établie entre ces identifiants de connexion et les utilisateurs de bases de données individuelles de l’instance SQL Server. Les utilisateurs de bases de données qui doivent créer des tables et des classes d’entités doivent bénéficier des privilèges nécessaires pour créer ces objets dans la base de données et posséder une structure dans laquelle 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 à partir d’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 via un identifiant de connexion qui détient des privilèges sysadmin sur l’instance SQL Server pour exécuter l’outil Créer un utilisateur de base de données ou la fonction management.CreateDatabaseUser.
Pour créer un utilisateur de base de données pour un identifiant de connexion Microsoft Windows, ce dernier doit exister afin que vous puissiez exécuter l’outil ou la fonction.
Utiliser l’outil Créer un utilisateur de base de données
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, procédez comme suit :
- Démarrez ArcGIS Pro.
- Connectez-vous à la base de données ou à la géodatabase avec un identifiant de connexion doté de 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. Par défaut, les instances SQL Server utilisent uniquement l’authentification Windows. Si votre instance n’est pas configurée pour utiliser SQL Server et l’authentification Windows, vous ne pouvez pas choisir 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.
- 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 qui apparaît 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 doté de 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.CreateDatabaseUser_management(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.CreateDatabaseUser_management(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1") - Enregistrez le fichier avec l’extension .py.
- Exécutez le script à partir d’un ordinateur sur lequel ArcGIS Pro (Standard ou Advanced) ou ArcGIS Server est installé.
Pour plus d’informations sur l’exécution de Python à partir d’une machine ArcGIS Server, reportez-vous à la rubrique 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 connexions 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 SQL Server individuels pour simplifier la création et la gestion des identifiants de connexion Windows. 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 une structure dans la base de données lorsqu’un membre du groupe génère 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. Pour obtenir des informations sur les privilèges requis, reportez-vous à la rubrique Privilèges pour les géodatabases dans SQL Server.
Vous trouverez des instructions d’utilisation des outils SQL Server pour créer des connexions, des utilisateurs et des structures dans la documentation Microsoft SQL Server.
Les nouveaux utilisateurs peuvent se connecter à la base de données. Les utilisateurs dotés des privilèges de création d’objets peuvent créer des tables ainsi que des classes d’entités et accorder à d’autres utilisateurs des privilèges sur celles-ci. 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.
Vous avez un commentaire à formuler concernant cette rubrique ?