SQL Server et Active Directory



Documents pareils
Les Utilisateurs dans SharePoint

Créer un rapport pour Reporting Services

Sauvegarde des bases SQL Express

La réplication sous SQL Server 2005

Connexion à SQL server

Utiliser Reporting Services pour des NewsLetter

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Reporting Services - Administration

La double authentification dans SharePoint 2007

Integration à un domaine AD SOMMAIRE

Microsoft Application Center Test

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Configuration d'un annuaire LDAP

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Déploiement d'une base SQL Express

Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:

Création d'un site web avec identification NT

Gestion des utilisateurs : Active Directory

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole :

Corrigé de l'atelier pratique du module 6 : Transfert de données

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

SQL Express face à la concurrence

eps Network Services Alarmes IHM

AD FS avec Office 365 Guide d'installation e tape par e tape

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Connaître la version de SharePoint installée

Mysql avec EasyPhp. 1 er mars 2006

L Authentification de Librex dans Active Directory (Kerberos)

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Paginer les données côté serveur, mettre en cache côté client

TP Bases de données réparties

Préparer la synchronisation d'annuaires


et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Olivier Mondet

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Nous avons utilisé plusieurs Script :

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

LES ACCES ODBC AVEC LE SYSTEME SAS

Business Sharepoint Contenu

Installation de GFI FAXmaker

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Configuration de Outlook Express 6 pour utilisation avec belgacom.net

TWS guide d administration 4.1

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Fiche Produit Global Directory pour Jabber

2 Serveurs OLAP et introduction au Data Mining

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Rafraichissement conditionné d'une page en.net

DirXML License Auditing Tool version Guide de l'utilisateur

Sommaire 1 CONFIGURER SA MESSAGERIE 2 2 CONSULTER VOS MAILS SUR INTERNET (WEBMAIL) 7 3 PROBLEMES POSSIBLES 8

Administration Centrale : Opérations

Synchronisation d'annuaire Active Directory et de base LDAP

Host Integration Server 2000

Guide de l utilisateur. Synchronisation de l Active Directory

Active Directory est un service d'annuaire utilisé pour stocker des informations relatives aux ressources réseau sur un domaine.

Installation 1K-Serveur

Le Langage SQL version Oracle

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Sécurité des applications web. Daniel Boteanu

Description de la maquette fonctionnelle. Nombre de pages :

Solutions informatiques

Configuration du moteur de recherche de SharePoint Foundation 2013

Le Client/Serveur avec Enterprise Miner version 4

Windows serveur 2012 : Active Directory

Authentification unique Eurécia

Logiciel Enterprise Guide Version 1.3 Windows

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

SAGE Financements Notice de mise à jour via internet

HYPERPLANNING EST UN LOGICIEL INDEX EDUCATION

Pour valider les pré-requis nécessaires, avant d'aborder le TP, répondez aux questions ciaprès

Installation du point d'accès Wi-Fi au réseau

CREATION WEB DYNAMIQUE

PHP 5. La base de données MySql. A. Belaïd 1

Business Intelligence avec SQL Server 2012

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

Encryptions, compression et partitionnement des données

Guide de prise en mains du User Center

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Gestion de stock pour un magasin

Installation d'un serveur DHCP sous Windows 2000 Serveur

WDpStats Procédure d installation

Symantec Backup Exec Remote Media Agent for Linux Servers

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Accès à un coupleur/contrôleur Ethernet via une liaison téléphonique

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Installation d'un serveur RADIUS

Transcription:

SQL Server et Active Directory Comment requêter AD depuis SQL Server Comment exécuter des requêtes de sélection sur un Active Directory depuis SQL Server? L'utilisation du principe des serveurs liés adapté à cette question nous permet d'y répondre. Introduction Un grand classique lors de la mise en place d'un annuaire est la récupération des informations issues de l'active Directory interne. En effet, on y retrouve des informations de base comme le login ou l'adresse Mail (si on a aussi un Exchange), mais aussi des informations qui ont déjà été entrées telles que le Numéro de téléphone ou le Fax. Bref, on voudrait donc bien mettre en place une solution de récupération de ces informations directement depuis le serveur SQL, ce qui permet de se faire des vues et des jointures utilisable facilement par la suite. Présentation Pour faire cela, il faut donc passer par la solution des Serveurs Liés. SQL Server permet en effet de lier un serveur SQL Server (2000 ou 2005) avec d'autres serveurs ou sources de données. Dans notre cas, nous utiliserons le connecteur "Active Directory Services 2.5" sur un moteur SQL Server 2000. Nous verrons donc comment effectuer cette mise en place et créer une vue récupérant des informations sur les utilisateurs. Attention, il est impossible de lier MSDE avec Active Directory, car cette version de SQL Server 2000 ne possède pas les pilotes de connexion ADSI.

Mise en place du serveur lié La meilleure solution pour effectuer cette liaison est de coupler deux parties : Un script SQL de création La modification du paramètre de login Il est aussi conseillé de mettre en place de serveur lié avec le compte de service qui sera utilisé pour SQL Server. En effet, afin de permettre à tous les utilisateurs SQL Server d'effectuer une requête sur ce serveur lié, il faut que le contexte de sécurité soit suffisant. Nous prendrons donc un exemple avec le compte de service utilisé pour le moteur SQL Server et SQL Agent : ServiceSQLServerAccount Script SQL -- Ajoute AD dans les serveurs liés --- EXEC sp_addlinkedserver 'MONSERVEURLIEAD', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource' GO -- Ajoute le Login de connexion pour les requettes AD EXEC sp_addlinkedsrvlogin 'MONSERVEURLIEAD', false, 'Domain\ServiceSQLServerAccount', 'CN=ServiceSQLServerAccount,DC=ServerControler,DC=Domain,DC=net', 'PasswordSQLServerAccount' Ce script nous permet de dire que les requêtes exécutées par le compte "ServiceSQLS erveraccount" vont renvoyer des résultats. En revanche, toutes les requêtes des autres comptes ne passeront pas et renverront le message : Serveur : Msg 7399, Niveau 16, État 1, Ligne 1 OLE DB provider 'ADSDSOObject' reported an error. The provider indicates that the user did not have the permission to perform the operation. OLE DB error trace [OLE/DB Provider 'ADSDSOObject' ICommandPrepare::Prepare returned 0x80040e09: The provider indicates that the user did not have the permission to perform the operation.]. Ce message indique donc que le login courant n'a pas le droit d'exécuter cette requête sur l'ad et que le moteur SQL ne peut donc pas retourner les résultats. Dans le cas présent, une requête de sélection fonctionnera si vous êtes connecté sur SQL Server avec le login "ServiceSQLServerAccount". En revanche si vous êtes connecté avec un autre compte, cela provoquera la même erreur signalée juste au dessus. Il faut donc pour corriger cela, modifier le paramètre d'authentification sur le serveur lié.

La modification du paramètre de login Nous devons maintenant utiliser SQL Server Enterprise Manager pour effectuer cette modification. Une fois connecté sur le serveur SQL depuis Enterprise Manager, nous devons ouvrir : [Serveur] > Sécurité > Serveurs Liés On trouvera alors le nom qui a été donné [MONSERVEURLIEAD]. On doit alors cliquer avec le bouton droit sur lui et choisir "Propriétés". On ouvre alors les paramètres de connexion pour ce serveur lié. On doit prendre alors l'onglet "Sécurité". Dans le cas ou des données sont renseignées dans la première ligne de mappage, il faut tout supprimer. Cette ligne permet simplement de faire une liaison entre un compte local SQL Server et le compte adapté sur le serveur lié. La capture montre justement un exemple avec deux mappages différents pour cette connexion. Cela fonctionne donc bien pour un compte donné mais si on souhaite permettre de faire une vue exécutable par tous les comptes, il est plus simple de forcer l'identification avec un compte donné. Pour cela, il faut supprimer ces lignes de mappage et sélectionner la ligne : Etre effectué avec ce contexte de sécurité Dans la case dessous, il faut donc ajouter les paramètres du compte : Connexion distante : Domain\ServiceSQLServerAccount Avec mot de passe : PasswordSQLServerAccount On clique alors sur OK. Dès ce moment, quelle que soit le compte connecté sur le serveur SQL, il pourra exécuter des requêtes sur le serveur Active Directory.

Utilisation du serveur lié Nous pouvons dès lors exécuter des requêtes telles que : Liste des groupes NT du domaine FROM OPENQUERY(MONSERVEURLIEAD, ' cn FROM ''LDAP://DC=ServerControler,DC=Domain,DC=net'' WHERE objectcategory=''group''') Liste des utilisateurs du domaine FROM OPENQUERY(MONSERVEURLIEAD, ' title, displayname, samaccountname, givenname, telephonenumber, facsimiletelephonenumber, sn FROM ''LDAP://DC=ServerControler,DC=Domain,DC=net'' where objectclass = ''User''') Liste des compte commençant par R FROM OPENQUERY( MONSERVEURLIEGEAD, ' ADsPath, cn FROM ''LDAP://OU=GE,DC=gmgead,DC=vdge,DC=net'' WHERE objectcategory=''person'' AND objectclass=''user'' AND sn = ''R'' ORDER BY sn') On peut donc imaginer de nombreuses solutions basées sur cette idée, en faisant des vues ou des procédures stockées basées ou inspirées de ces exemples.

Conclusion Nous pouvons donc imaginer des solutions en corrélation avec l'active Directory, cela permet de ne pas passer par un outil intermédiaire stockant les données de l'ad dans une base de données. Il faut tout de même faire attention à la charge des contrôleurs de domaine. En effet, les performances de l'ad sont moins rapides que celles du moteur relationnel. Voici quelques liens utiles si cet article vous a intéressé : Create a SQL Server View of your AD Users (US) How to link different data sources together (US) Distributed Query (US) SQL Dialect (US) Search Filter Syntax (US) En vous souhaitant de bons projets de développement. Romelard Fabrice (alias F ) Consultant Technique ilem SA