0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Création d'utilisateurs SQL Server

Le document décrit les étapes pour créer une connexion et un utilisateur dans SQL Server, ainsi que la gestion des droits d'accès via les commandes GRANT, DENY et REVOKE. Il explique également l'utilisation des rôles pour simplifier l'attribution des droits à plusieurs utilisateurs. Enfin, des exemples de syntaxe SQL sont fournis pour illustrer chaque opération.

Transféré par

pouica poi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues4 pages

Création d'utilisateurs SQL Server

Le document décrit les étapes pour créer une connexion et un utilisateur dans SQL Server, ainsi que la gestion des droits d'accès via les commandes GRANT, DENY et REVOKE. Il explique également l'utilisation des rôles pour simplifier l'attribution des droits à plusieurs utilisateurs. Enfin, des exemples de syntaxe SQL sont fournis pour illustrer chaque opération.

Transféré par

pouica poi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Créer une connexion

Syntaxe SQL Server

CREATE LOGIN <login> WITH PASSWORD = ’<Mot de passe>’;

Exemple avec SQL Server

Création de la connexion SQL au serveur à partir de la base ’master’ qui est une base système :

USE master;
GO
CREATE LOGIN ASMITH
WITH PASSWORD = ’Infogestion’;

Créer un utilisateur
Les utilisateurs sont souvent créés par l’administrateur de la base selon des règles de sécurité propres à chaque
entreprise. La commande de création d’un user est assez simple. Avec SQL Server, l’utilisateur est créé à partir
de la connexion.

Syntaxe SQL Server

CREATE ’<user>’ FROM LOGIN <login>

Exemple avec SQL Server

USE RESAHOTEL;
GO
CREATE USER ASMITH FROM LOGIN ASMITH;

La création d’un utilisateur ne lui permet pas d’accéder aux tables et de faire des sélections. Il faut ensuite lui
attribuer des droits spécifiques en fonction de son profil.

Changer le mot de passe d’un utilisateur


Pour des raisons de sécurité, il peut être nécessaire de modifier le mot de passe d’un utilisateur. Dans la plupart
des systèmes, c’est le DBA qui peut utiliser cette commande.

Syntaxe SQL Server

ALTER LOGIN <user> WITH PASSWORD=’mypass’;

Exemple SQL Server

USE [master];
GO
ALTER LOGIN ASMITH WITH PASSWORD=’@Smith.50’;

1
Attribuer des droits (GRANT)

1. Attribuer des droits sur la manipulation d’une table

À partir de ces quelques tables d’exemples, nous allons pouvoir attribuer les droits aux utilisateurs avec les
ordres GRANT et REVOKE.

L’attribution des droits est réservée aux créateurs de la table, néanmoins l’administrateur de la base peut donner
l’autorisation à un autre user la possibilité de gérer les droits sur les tables.

La commande GRANT permet d’attribuer par utilisateur de la base de données des accès sur une ou plusieurs
tables.

Les droits les plus couramment utilisés sont :

 SELECT : autorise la sélection de données.


 UPDATE : autorise la modification de données.
 DELETE : autorise la suppression de données.
 INSERT : autorise l’insertion de données.

La syntaxe est la suivante

GRANT <droit1>, <droit2>, ...


ON TABLE <nom table>
TO <user1>, <user2> ...
[ WITH GRANT OPTION]

Pour attribuer tous les droits, il faut utiliser la syntaxe suivante :

Exemple SQL Server

ALTER AUTHORIZATION ON SCHEMA::[db_owner] TO [ASMITH]

Interdire l’accès (DENY)

1. Interdire l’accès à certains objets de la base

Avec SQL Server, il est possible d’interdire l’accès à certains objets de la base avec l’ordre DENY.

Exemple SQL Server

Interdit à M. Peroc de modifier la table ATTRIB_DROITS :

DENY ALTER ON ATTRIB_DROITS TO GPEROC

Interdit tout à M. Peroc sur la table ATTRIB_DROITS :

DENY VIEW DEFINITION ON ATTRIB_DROITS TO GPEROC


DENY VIEW CHANGE TRACKING ON ATTRIB_DROITS TO GPEROC
DENY CONTROL ON ATTRIB_DROITS TO GPEROC
DENY INSERT ON ATTRIB_DROITS TO GPEROC
DENY UPDATE ON ATTRIB_DROITS TO GPEROC

2
DENY ALTER ON ATTRIB_DROITS TO GPEROC
DENY TAKE OWNERSHIP ON ATTRIB_DROITS TO GPEROC
DENY REFERENCES ON ATTRIB_DROITS TO GPEROC
DENY SELECT ON ATTRIB_DROITS TO GPEROC
DENY DELETE ON ATTRIB_DROITS TO GPEROC

Supprimer des droits (REVOKE)

1. Supprimer des droits sur la manipulation d’une table

Une fois les droits attribués, il faut pouvoir les enlever si l’utilisateur quitte l’entreprise par exemple ou change de
service. Pour ceci, nous utiliserons l’ordre REVOKE.

Pour enlever les droits de lecture de la table UTILISATEURS à Mr SMITH par exemple :

REVOKE SELECT ON UTILISATEURS FROM ASMITH;

Pour enlever tous les droits à Mr Smith :

REVOKE ALL PRIVILEGES ON UTILISATEURS FROM ASMITH;

De la même façon que le GRANT, si on ajoute le mot PUBLIC, on supprime les droits sur cette table pour tous les
utilisateurs de la base de données.

REVOKE ALL PRIVILEGES ON UTILISATEURS FROM PUBLIC;

Exemple Oracle

REVOKE CREATE TABLE, ALTER ANY TABLE, DROP ANY TABLE FROM ...

Utilisation des rôles


Un rôle est un groupe auquel on va attribuer les mêmes droits. Au lieu d’attribuer les droits individuellement à
chaque utilisateur, on peut créer des groupes qui auront des droits et ensuite affecter les utilisateurs dans un
groupe.

Pour SQL Server

GRANT UPDATE ON FOURNISSEUR TO CONTROLE_GESTION

Il faut ensuite attribuer ce rôle aux utilisateurs :

GRANT CONTROLE_GESTION TO ASMITH;


GRANT CONTROLE_GESTION TO BMARTIN;
etc ...

exec sp_addrolemember [CONTROLE_GESTION], ASMITH;

La notion de rôle est assez intéressante dans les sites avec beaucoup d’utilisateurs, elle permet de simplifier la
gestion des différents profils.

Il faut bien définir en amont les différents rôles dans l’utilisation de la base de données et dans les applications
existantes et ensuite classer les utilisateurs par rôle. À chaque nouvel arrivant, il suffit de créer son user et de lui
attribuer un rôle.

3
Il existe également ...

Vous aimerez peut-être aussi