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

Diagramme de l’infrastructure de 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

  1. 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.

  2. 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.

  3. 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.

  1. 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.

  2. 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

  3. Enregistrez la table sous le nom « Sales ».

  4. 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.