Authentification Kerberos pour SQL OLTP (SharePoint Server 2010)
S’applique à : SharePoint Server 2010
Dernière rubrique modifiée : 2016-11-30
Dans ce scénario, nous allons examiner le processus de configuration de l’authentification Kerberos pour le cluster SQL Server dans notre exemple d’environnement. Une fois le processus achevé, nous validerons le fait que les services SharePoint Server sont authentifiés auprès du cluster au moyen du protocole Kerberos.
Dans ce scénario, vous allez effectuer les opérations suivantes :
configurer un cluster SQL Server 2008 R2 existant de façon à utiliser l’authentification Kerberos ;
vérifier que le client peut s’authentifier auprès du cluster à l’aide de l’authentification Kerberos ;
créer une base de données test et des exemples de données qui seront utilisés dans des scénarios ultérieurs.
Notes
Il n’est pas obligatoire d’utiliser l’authentification Kerberos pour SQL Server pour les services de données principaux SharePoint Server (par exemple, les connexions aux bases de données de plateforme). L’exemple d’environnement possède un seul cluster SQL Server qui héberge des exemples de bases de données supplémentaires utilisés dans des scénarios ultérieurs. Pour que la délégation fonctionne correctement dans ces scénarios, le cluster SQL Server doit accepter les connexions authentifiées par Kerberos.
Notes
Si vous effectuez une installation sur Windows Server 2008, vous devrez peut-être installer le correctif logiciel suivant pour l’authentification Kerberos :
Une authentification Kerberos échoue avec le code d’erreur 0X80090302 ou 0x8009030f sur un ordinateur qui exécute Windows Server 2008 ou Windows Vista lorsque l’algorithme AES est utilisé (https://support.microsoft.com/kb/969083/fr)
Liste de vérification de configuration
Domaine de configuration | Description |
---|---|
Configurer le système DNS |
Créer des enregistrements d’hôtes DNS (A) pour l’adresse IP de cluster SQL Server |
Configurer Active Directory |
Créer des noms de principaux du service pour le service SQL Server |
Vérifier la configuration Kerberos de SQL Server |
Utiliser SQL Server Management Studio pour interroger les métadonnées de connexion SQL afin de s’assurer que le protocole d’authentification Kerberos est utilisé |
Détails concernant l’environnement du scénario
Ce scénario présente une batterie SharePoint Server configurée de façon à utiliser un alias SQL pour une connexion à un cluster SQL Server configuré de façon à utiliser l’authentification Kerberos.
Instructions de configuration pas à pas
Configurer le système DNS
Configurez le système DNS pour le cluster SQL Server dans votre environnement. Dans cet exemple, nous avons un cluster SQL Server, MySqlCluster.vmlab.local, qui s’exécute sur le port 1433 à l’adresse IP de cluster 192.168.8.135/4. Le cluster est Actif/Passif avec le moteur de base de données SQL Server exécuté sur l’instance par défaut du premier nœud.
Pour obtenir des informations générales sur la façon de configurer le système DNS, voir Gestion des enregistrements DNS (éventuellement en anglais).
Dans cet exemple, nous avons configuré un enregistrement DNS (A) pour le cluster SQL Server.
Notes
Techniquement, étant donné que les noms principaux du service SQL Server incluent un nom d’instance (si vous utilisez la deuxième instance nommée sur le même ordinateur), vous pouvez enregistrer l’hôte DNS pour le cluster en tant qu’alias CNAME et éviter le problème lié à CNAME décrit dans l’Annexe A.Problèmes connus de configuration Kerberos (SharePoint Server 2010). Cependant, si vous choisissez CNAME, vous devez inscrire un SPN avec le nom d’hôte de l’enregistrement DNS pour les alias CNAME.
Configurer Active Directory
Pour que SQL Server authentifie les clients à l’aide de l’authentification Kerberos, vous devez enregistrer un nom principal du service sur le compte de service qui exécute SQL Server. Les noms principaux du service pour le moteur de base de données SQL Server utilisent le format suivant pour les configurations qui utilisent l’instance par défaut et non une instance nommée de SQL Server :
MSSQLSvc/<nom_domaine_complet>:port
Pour plus d’informations sur l’enregistrement de noms principaux du service pour SQL Server 2008, voir Enregistrement d’un nom principal de service.
Dans notre exemple, nous avons configuré le nom principal du service SQL Server sur le compte de service du moteur de base de données SQL Server (vmlab\svcSQL) avec la commande SetSPN suivante :
SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL
Instances nommées de SQL Server
Si vous utilisez des instances nommées de SQL Server au lieu de l’instance par défaut, vous devez enregistrer des noms principaux du service spécifiques à l’instance de SQL Server et pour le service SQL Server Browser. Pour plus d’informations sur la configuration de l’authentification Kerberos pour des instances nommées, voir les articles suivants :
Alias SQL
En guise de meilleure pratique, lors de la création de votre batterie il convient d’utiliser des alias SQL pour les connexions à votre ordinateur SQL Server. Si vous choisissez d’utiliser des alias SQL, le format de nom principal du service Kerberos pour ces connexions ne change pas. Vous continuez à utiliser le nom d’hôte DNS enregistré (enregistrement A) dans le nom principal du service pour SQL Server. Par exemple, si vous enregistrez un alias « SPFARMSQL » pour « MySQLCluster.vmlab.local », le nom principal du service demeure « MSSQLSVC/MySQLCluster.vmlab.local:1433 » lorsque vous vous connectez à SPFarmSQL.
Vérifier la configuration Kerberos de SQL Server
Lorsque le système DNS et les noms principaux du service sont configurés, vous pouvez redémarrer les ordinateurs qui exécutent SharePoint Server et vérifier que les services SharePoint Server s’authentifient désormais auprès de SQL Server à l’aide de l’authentification Kerberos.
Pour vérifier la configuration du cluster
Redémarrez les ordinateurs qui exécutent SharePoint Server — Cette action redémarre tous les services et les force à se reconnecter et à se réauthentifier à l’aide de l’authentification Kerberos.
Ouvrez SQL Server Management Studio et exécutez la requête suivante :
Select s.session_id, s.login_name, s.host_name, c.auth_scheme from sys.dm_exec_connections c inner join sys.dm_exec_sessions s on c.session_id = s.session_id
Cette requête renvoie des métadonnées sur chaque session et connexion. Les données de session aident à identifier la source de connexion et les informations de session révèlent le modèle d’authentification utilisée pour la connexion.
Vérifiez que les services SharePoint Server s’authentifient à l’aide de l’authentification Kerberos. Si l’authentification Kerberos est configurée correctement, Kerberos s’affiche dans la colonne auth_scheme des résultats de requête.
Créer et tester une base de données SQL Server et tester la table
Pour tester la délégation sur les différentes applications de service SharePoint Server traitées dans les scénarios de ce document, vous devez configurer une source de données test accessible par ces services. Lors de l’étape finale de ce scénario, vous allez configurer une base de données test nommée « Test » et une table test nommée « Sales » à utiliser ultérieurement.
Dans SQL Server Management Studio, créez une base de données nommée « Test ». Conservez les paramètres par défaut lors de la création de cette base de données.
Dans la base de données Test, créez une table avec le schéma suivant :
Nom de colonne Type de données Autorise les valeurs Null Region
nvarchar(10)
Non
Year
nvarchar(4)
Non
Amount
money
Non
RowId
int
Non
Enregistrez la table sous le nom « Sales ».
Dans Management Studio, remplissez la table avec des données test. Les données proprement dites importent peu et n’affectent pas la fonction des scénarios ultérieurs. Quelques lignes de données suffisent.