![Free-eBooks.net](/resources/img/logo-nfe.png)
![All New Design](/resources/img/allnew.png)
En mode sécurité Windows :
Avec du code T-SQL, la syntaxe de création d’une connexion SQL Server est la suivante :
(pour rappel, les noms de groupes ou les utilisateurs doivent être les mêmes que sous
Windows).
136
CREATE LOGIN nom_connexion
FROM WINDOWS
WITH DEFAULT_DATABASE=Master
DEFAULT_LANGUAGE=langue
L’instruction CREATE LOGIN permet d’annoncer à SQL Server que nous allons créer une
connexion. Il est nécessaire de donner le nom de la connexion Windows associée. La clause
FROM WINDOWS, permet de dire que le login existe dans le système d’exploitation
Windows. Les deux options suivantes permettent quant à elles de choisir, et la base par
défaut de la connexion, et la langue par défaut de cette même connexion.
Il est important de noter que les instructions UPDATE et DELETE peuvent être appliquées
dans le cas d’un changement de propriété de connexion ou d’une suppression de connexion.
Exemple :
Création d’un compte intégré SQL Server pour l’utilisateur Windows Util2 de la machine locale
ou du domaine 03112-375 (les options de stratégie ne peuvent être définies, car elles sont
définies au niveau Windows) sur la base master.
CREATE LOGIN [03112-375\Util2]
FROM WINDOWS
WITH DEFAULT_DATABASE = master
Idem, mais sur la base Papyrus :
CREATE LOGIN [03112-375\Util2]
FROM WINDOWS
WITH DEFAULT_DATABASE = Papyrus
En mode de sécurité mixte :
L’instruction CREATE LOGIN annonce à SQL Server qu’une nouvelle connexion va être créée.
On donne impérativement un nom à cette connexion.
CREATE LOGIN nom_connexion
FROM PASSWORD='monmotdepasse'
Motdepasse HASHED MUST_CHANGED,
DEFAULT_DATABASE=Master,
DEFAULT_LANGUAGE=langue,
CHECK_EXPIRATION=ON,
CHECK_POLICY=ON,
CREDENTIAL=Nom
La clause FROM permet de donner plusieurs propriétés à cette connexion, qui sont les
suivantes :
- PASSWORD : Permet de préciser un mot de passe. L’option HASHED, permet de hacher le
mot de passe lors de son stockage en fonction de la chaîne de caractères précisée avant de
mot clé.
- DEFAULT_DATABASE : Permet de préciser le nom de la base de données par default.
- DEFAULT_LANGUAGE : Permet de préciser un langage par défaut.
137
- CHECK_EXPIRATION : À OFF par défaut. Il n’est possible d’activer cette option que si
CHECK_POLICY est aussi activé. Elle permet d’appliquer la politique de changement des
mots de passe défini sur le serveur.
- CHECK_POLICY : A ON par défaut, cette option permet de récupérer au niveau serveur,
les options définies pour la politique de sécurité.
- CREDENTIAL : Permet de relier la connexion à un credential créé auparavant. Nous verrons
par la suite ce qu’est un credential.
On peut également utiliser la procédure stockée sp_addlogin qui permet à un utilisateur de
se connecter à une instance de SQL Server à l'aide de l'authentification SQL Server.
EXEC sp_addlogin 'Utilisateur', 'motdepasse', 'basededonnees'
Exemple : Nous créons l’« Utilisateur1 » avec le mot de passe « pwd » sur la base de données
« papyrus ».
EXEC sp_addlogin 'Utilisateur1', 'pwd', 'Papyrus'
Modification des connexions à SQL Server
Vous pouvez modifier les connexions par l’interface avec les écrans vus précédemment ou en
utilisant du code T-SQL :
Activation d'une connexion désactivée. L'exemple suivant active la connexion Mary5.
ALTER LOGIN Mary5 ENABLE;
Modification du mot de passe d'une connexion. L'exemple suivant remplace le mot de passe
de la connexion Mary5 par un mot de passe fort.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
Modification du nom d'une connexion. L'exemple suivant remplace le nom de connexion Mary5
par John2.
ALTER LOGIN Mary5 WITH NAME = John2;
Mappage d'une connexion sur une information d'identification. L'exemple suivant mappe la
connexion John2 aux informations d'identification Custodian04.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
Mappage d'une connexion à des informations d'identification EKM (Extensible Key
Management). L'exemple suivant mappe la connexion Mary5 aux informations d'identification
EKM EKMProvider1.
ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO
Déverrouillage d'une connexion. Pour déverrouiller une connexion SQL Server, exécutez
l'instruction suivante, en remplaçant * * * * par le mot de passe de compte souhaité.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO
138
Pour déverrouiller une connexion sans modifier le mot de passe, désactivez la stratégie de
contrôle, puis réactivez-la.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
Modification du mot de passe d'une connexion à l'aide de HASHED. L'exemple suivant modifie
le mot de passe de la connexion TestUser en une valeur déjà hachée.
ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Suppression des connexions à SQL Server
Vous pouvez modifier les connexions par l’interface avec les écrans vus précédemment ou en
utilisant du code T-SQL.
Gestion des utilisateurs de base de données
Après avoir créé un compte (identité de serveur) pour la connexion au serveur SQL, il
convient de lui accorder des droits d’accès à une ou plusieurs bases de données. Une
connexion ne pourra exécuter des opérations sur une base que s’il existe un compte
utilisateur défini sur cette base, associé à la connexion.
En utilisant l’interface
Développez alors le nœud Sécurité et placez-vous sur le nœud Utilisateurs. Cliquez droit sur
l’utilisateur puis « Propriétés ».
Dans l’onglet « Mappage de l’utilisateur », définissez les bases de données où l’utilisateur
aura accès. Il est, entre autres, possible d’attacher des schémas à cet utilisateur ainsi que des
rôles de base de données.
139