Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Gestion des accès serveur dans SQL Server 2008

Publié le par Marius LOWE

La sécurité est un domaine important dans les bases de données. Sans sécurité, nos données sont exposées à des risques d’altération de tous types, le plus souvent à cause des utilisateurs finaux, ou d’une mauvaise politique de gestion des bases. Il existe dans SQL Server 2008, trois types d’objets qui vont nous permettre de sécuriser nos bases et donc garantir une plus grande chance d’intégrités pour nos données. Ces trois types sont :
- Les entités de sécurité : compte de sécurité qui dispose d’un accès au serveur de données SQL.
- Les sécurisables : objets gérés par le serveur. Nous avons vu précédemment ce qu’était un objet dans une base de données ou dans un serveur.
- Les autorisations : celles-ci sont accordées aux entités de sécurité afin de pouvoir travailler avec les sécurisables.
Ces éléments de sécurité ont une organisation de type hiérarchique. Cette hiérarchie va nous permettre de mettre en place une politique sure, afin de maintenir l’intégrité de nos données, en faisant en sorte que cette gestion des droits d’accès soit simple, mais efficace. Par exemple, de façon hiérarchique, on pourra accorder l’autorisation « SELECT », à un sécurisable, par exemple un schéma, pour permettre à l’entité de sécurité qui reçoit cette autorisation d’effectuer l’opération SELECT sur tous les objets contenus dans le schéma définit. Parlons rapidement des schémas. Il en existe trois types définis. Les schémas de niveau serveur, qui vont s’appliquer à toutes les bases de données implantés sur le serveur. Les schémas de niveau base de données, actifs seulement sur la base de données ou il est définit. Et enfin les rôles d’application, définis sur la base de données utilisateur et qui vont permettre le bon fonctionnement d’une application cliente. Nous parlerons plus amplement des schémas dans la suite de ce chapitre. D’autres sécurisables existent, par exemple les utilisateurs simples, les groupes… Leur organisation vis-à-vis des autres éléments de sécurité ce fait aussi de manière hiérarchique, comme pour les schémas.Il est possible d’obtenir un catalogue complet des utilisateurs et de leurs privilèges, grâce aux vues système. Voici quelques une de ces vues :
- Sys.server_permissions : Liste des permissions au niveau serveur et de leurs bénéficiaires.
- Sys.server_principals : Entités de sécurité définis au niveau serveur.
- Sys.sql_logins : Liste des connexions au niveau serveur.
- Sys.Server_role_members : Liste des bénéficiaires d’un rôle au niveau serveur.
- Sys.database_permissions : Liste des permissions et de leurs bénéficiaires au niveau base de données.
- Sys.database_principals : Entités de sécurité au niveau base de données.
- Sys.database_role_members : Liste des bénéficiaires d’un rôle de base de données.
Apprenons maintenant toutes les manières de préserver l’intégrité des données de nos bases, en mettant en place une politique de sécurité efficace.

 

Gestion des accès serveur:Avant de pouvoir commencer à travailler avec les données de nos bases, il est impératif de se logger sur le serveur SQL. Cette étape permet de s’identifier au niveau du serveur SQL, afin de pouvoir exploiter les droits qui ont étés attribués à notre connexion. Dans SQL Server, il existe plusieurs modes d’authentification que nous allons définir dans cette partie.

Mode de sécurité Windows:

  • En général:Dans ce mode de sécurité, SQL Server s’appui sur les fonctionnalités de Windows. En effet, il se sert de la sécurité de Windows (login et mot de passe) pour créer des connexions aux instances et donc aux bases de données. Puisque le mode de sécurité Windows se sert de la sécurité du système sur lequel SQL Server est installé, la gestion des groupes est aussi possible. Il est donc plus facile d’administrer des connexions aux bases de données, de manière plus souple qu’utilisateur par utilisateur.
  • En détail:En réalité, seuls les login sont sauvegardés dans l’instance, de façon à permettre l’accès aux bases par la suite. Le mot de passe de chaque utilisateur est détenu par Windows. Vous comprendrez aisément qu’il est bien plus sécurisé de ne pas stocker le mot de passe d’un utilisateur directement dans une base système. De plus, la politique d’administration et de sécurité qui énonce la règle suivante : un mot de passe par utilisateur, est bien plus simple à mettre en place.

Mode de sécurité Mixte:

  • En général:Le mode de sécurité mixte repose sur une double authentification : l’authentification Windows puis l’authentification SQL Server. C’est le mode le plus connu pour la sécurité des bases de données. Dans le principe, c’est SQL Server qui ce charge de vérifier que l’utilisateur existe et qu’il possède le bon mot de passe. Cela signifie que les utilisateurs sont entièrement gérés par SQL Server, autant les login que les mots de passe. Ce type d’identification est bien adapté pour une gestion des utilisateurs qui ne passent pas par une authentification Windows à la base.
  • En détail:Il est faux de penser que toute la sécurité du serveur est gérée par le serveur de base de données. Le fonctionnement mixte est basé sur un principe de vérification simple. Le système Windows vérifie si l’utilisateur existe et possède les droits de se connecter au serveur. Si c’est le cas, l’utilisateur sera connecté. Si ce n’est pas le cas, une erreur est levée, énonçant que l’utilisateur n’existe pas sur le système. Le serveur de base de données est alors chargé de demander le login et le mot de passe de la connexion.

Choisir son mode de sécurité:On peut directement choisir le mode de sécurité de SQL Server de deux manières différentes : lors de l’installation de l’instance SQL Server, ou bien directement dans SSMS, sans passer par l’assistant d’installation de SQL Server. Découvrons les différentes manières de changer de mode de sécurité.Les utilisateurs, les groupes et les rôles

  • Avec l’assistant d’installation:Lors de l’installation d’une instance de SQL Server, il vous sera demandé de préciser quel mode de sécurité vous désirez mettre en place. Choisissez bien entendue le mode qui vous convient.
  • Avec SSMS: il va falloir vous rendre directement dans les propriétés de votre instance afin de modifier le mode de sécurité.Dans le menu Sécurité, dans la partie Authentification du Server, choisissez simplement le mode de sécurité à mettre en place. Cliquez sur OK pour valider votre choix.                                                  
Commenter cet article