Accorder et révoquer des privilèges sur les jeux de données
Si vous voulez permettre à d'autres utilisateurs de la base de données d'afficher ou de modifier le contenu des données dans une base de données, vous devez leur accorder les privilèges correspondants.
Vous pouvez utiliser la boîte de dialogue Privilèges dans ArcGIS for Desktop pour préciser les privilèges dont un utilisateur ou un groupe dispose sur un jeu de données spécifique. Vous pouvez accorder uniquement des privilèges SELECT, c'est-à-dire que l'utilisateur peut lire et sélectionner, mais ne peut pas modifier le contenu d'un jeu de données. Vous pouvez également accorder des privilèges de sélection, mise à jour, insertion et suppression (SELECT, UPDATE, INSERT et DELETE) qui permettent à l'utilisateur de lire et de modifier le contenu d'un jeu de données.
Les règles suivantes s'appliquent à l'accord et à la révocation de privilèges sur les données d'une base de données ou d'une géodatabase :
- Seul le propriétaire de la table peut en modifier les privilèges.
- Seul le propriétaire de la table peut la supprimer ou modifier sa définition ; par conséquent, même si des privilèges d'insertion, de mise à jour et de suppression ont été accordés à un autre utilisateur sur un jeu de données, cet utilisateur ne peut pas modifier la structure.
- Si vous comptez accorder des privilèges d'insertion, de mise à jour ou de suppression à un utilisateur, vous devez également accorder le privilège de sélection ; l'utilisateur doit être en mesure de lire le jeu de données avant de le modifier.
- Le nom d'utilisateur ou de groupe saisi peut nécessiter de spécifier également le nom de domaine ou d'ordinateur, selon le type de SGBD dans lequel le jeu de données est stocké et le type d'authentification à utiliser par l'utilisateur pour se connecter à cette géodatabase. Par exemple, si la connexion au système d'exploitation a été créée pour inclure le préfixe du domaine ou de l'ordinateur, vous devez spécifier le nom de domaine ou d'ordinateur avec une barre oblique inverse avant le nom d'utilisateur :
BARNYARD\user1
- Les rôles db_owner et dbo n'apparaissent pas dans la liste Utilisateur/Rôle pour les bases de données SQL Server. Ces utilisateurs bénéficient automatiquement des privilèges complets sur toutes les données, et vous ne pouvez pas révoquer ces privilèges.
- Les rôles ou groupes de connexion PostgreSQL qui disposent de privilèges de super-utilisateur dans la base de données n'apparaissent pas dans la liste Utilisateur/Rôle. Ces utilisateurs bénéficient automatiquement des privilèges complets sur toutes les données, et vous ne pouvez pas révoquer ces privilèges.
- Vous ne pouvez modifier les privilèges d'un utilisateur que sur un seul jeu de données à la fois avec la boîte de dialogue Privilèges. Pour modifier les privilèges sur plusieurs jeux de données à la fois, utilisez à la place l'outil de géotraitement Modifier les privilèges.
- La révocation des privilèges nécessite un verrouillage exclusif sur le jeu de données. Par conséquent, si un autre utilisateur est connecté au jeu de données, vous ne pouvez pas révoquer les privilèges des utilisateurs sur le jeu de données.
- Toutes les classes d'entités contenues dans un jeu de données d'entité doivent disposer des mêmes privilèges utilisateur.
- Avec ArcGIS 10.1, si de nouvelles classes d'entités sont ajoutées à un jeu de données d'entité, ou si une topologie ou un réseau est intégré au jeu de données d'entité, les privilèges utilisateur existants sont accordés automatiquement à la nouvelle classe d'entités, au réseau ou à la topologie pour refléter les privilèges accordés sur le jeu de données d'entité.
- Lorsque des privilèges sont accordés à une classe ou table d'entités qui participe à une classe de relations, les privilèges doivent être accordés à la classe de destination et à la classe d’origine. Si les classes d'entités d’origine et de destination se trouvent dans le même jeu de classes d'entités, ils ont le même ensemble de privilèges, puisque ces derniers sont accordés au niveau du jeu de classes d'entités. Toutefois, lorsque les classes d’origine et de destination ne sont pas dans le même jeu de classes d'entités, vous devez vous assurer que les classes d’origine et de destination bénéficient des privilèges appropriés. Si la classe de relations est associée à la valeur Attribué ou à la cardinalité Plusieurs vers plusieurs, les privilèges sont automatiquement propagés à la table intermédiaire, dans laquelle vous attribuez les privilèges à la classe d'origine.
- Si le jeu de données n'est pas versionné, vous pouvez accorder et révoquer individuellement les privilèges de mise à jour, d'insertion et de suppression. Par exemple, vous pouvez accorder à un utilisateur des privilèges de sélection et de mise à jour, qui lui permettent de se connecter au jeu de données et de modifier des entités existantes, mais qui ne lui permettent pas d'ajouter de nouvelles entités ou de supprimer des entités existantes.
- Si le jeu de données est inscrit comme versionné, les privilèges qui permettent à un utilisateur de modifier un jeu de données (mise à jour, insertion et suppression) doivent être accordés et révoqués en tant que groupe.
- Si le jeu de données est inscrit comme versionné, l'administrateur de géodatabase doit disposer des privilèges complets sur ce jeu de données. Par conséquent, vous ne pouvez pas révoquer les privilèges de l'administrateur de géodatabase sur les jeux de données versionnés.
Ces règles s'appliquent pour accorder et révoquer des privilèges sur les données dans une géodatabase.
- Toutes les classes d'entités contenues dans un jeu de données d'entité doivent disposer des mêmes privilèges utilisateur.
- Avec ArcGIS 10.1, si de nouvelles classes d'entités sont ajoutées à un jeu de données d'entité, ou si une topologie ou un réseau est intégré au jeu de données d'entité, les privilèges utilisateur existants sont accordés automatiquement à la nouvelle classe d'entités, au réseau ou à la topologie pour refléter les privilèges accordés sur le jeu de données d'entité.
- Lorsque des privilèges sont accordés à une classe ou table d'entités qui participe à une classe de relations, les privilèges doivent être accordés à la classe de destination et à la classe d’origine. Si les classes d'entités d’origine et de destination se trouvent dans le même jeu de classes d'entités, ils ont le même ensemble de privilèges, puisque ces derniers sont accordés au niveau du jeu de classes d'entités. Toutefois, lorsque les classes d’origine et de destination ne sont pas dans le même jeu de classes d'entités, vous devez vous assurer que les classes d’origine et de destination bénéficient des privilèges appropriés. Si la classe de relations est associée à la valeur Attribué ou à la cardinalité Plusieurs vers plusieurs, les privilèges sont automatiquement propagés à la table intermédiaire, dans laquelle vous attribuez les privilèges à la classe d'origine.
- La révocation des privilèges nécessite un verrouillage exclusif sur le jeu de données. Par conséquent, si un autre utilisateur est connecté au jeu de données, vous ne pouvez pas révoquer les privilèges des utilisateurs sur le jeu de données.
- Si le jeu de données n'est pas versionné, vous pouvez accorder et révoquer individuellement les privilèges de mise à jour, d'insertion et de suppression. Par exemple, vous pouvez accorder à un utilisateur des privilèges de sélection et de mise à jour, qui lui permettent de se connecter au jeu de données et de modifier des entités existantes, mais qui ne lui permettent pas d'ajouter de nouvelles entités ou de supprimer des entités existantes.
- Si le jeu de données est inscrit comme versionné, les privilèges qui permettent à un utilisateur de modifier un jeu de données (mise à jour, insertion et suppression) doivent être accordés et révoqués en tant que groupe.
- Si le jeu de données est inscrit comme versionné, l'administrateur de géodatabase doit disposer des privilèges complets sur ce jeu de données. Par conséquent, vous ne pouvez pas révoquer les privilèges de l'administrateur de géodatabase sur les jeux de données versionnés.
- Démarrez ArcMap, ouvrez la fenêtre Catalogue, puis double-cliquez sur le dossier Connexions aux bases de données dans l'arborescence du catalogue.
-
Connectez-vous à la base de données ou géodatabase qui contient les données pour lesquelles vous souhaitez modifier les privilèges.
Veillez à vous connecter en tant que propriétaire des données.
-
Cliquez avec le bouton droit sur le jeu de données, pointez sur Organiser, puis cliquez sur Privilèges.
La boîte de dialogue Privilèges s'affiche.
-
Si l'utilisateur ou le rôle dont vous souhaitez modifier les privilèges figure déjà dans la liste, cochez ou décochez les cases pour accorder ou révoquer les privilèges voulus.
Remarque :
Si vous décochez toutes les cases des privilèges, l'utilisateur ou le rôle est supprimé de la liste.
- Si l'utilisateur ou le rôle ne figure pas encore dans la liste, procédez comme suit :
- Cliquez sur Ajouter pour ouvrir la boîte de dialogue Utilisateur/Rôle.
- Si vous possédez les privilèges dans la base de données permettant d'afficher la table système qui répertorie tous les utilisateurs et rôles de la base de données, vous pouvez choisir les utilisateurs ou rôles de la base de données que vous souhaitez ajouter dans la liste en cochant la case figurant en regard de leurs noms. Sinon, saisissez le nom de l'utilisateur de base de données, le rôle de base de données, la session de système d'exploitation ou le groupe Windows auquel vous souhaitez accorder des privilèges. Pour saisir plusieurs utilisateurs ou groupes, séparez les noms par des virgules (sans espace).
- Cliquez sur OK pour fermer la boîte de dialogue Utilisateur/Rôle.
- Cochez les cases des privilèges que vous souhaitez accorder à chaque nouvel utilisateur ou rôle et cliquez sur OK.