Partager via


Enregistrement SPN pour une instance Analysis Services

Un nom de principal de service (SPN) identifie de façon unique une instance de service dans un domaine Active Directory lorsque Kerberos est utilisé pour authentifier mutuellement les identités client et de service. Un SPN est associé au compte d’ouverture de session sous lequel l’instance de service s’exécute.

Pour les applications clientes qui se connectent à Analysis Services via l’authentification Kerberos, les bibliothèques clientes Analysis Services construisent un SPN à l’aide du nom d’hôte à partir de la chaîne de connexion et d’autres variables connues, telles que la classe de service, qui sont corrigées dans une version donnée d’Analysis Services.

Pour que l’authentification mutuelle se produise, les SPN construits par le client doivent correspondre à un objet SPN correspondant sur un contrôleur de domaine Active Directory (DC). Cela signifie que vous devrez peut-être inscrire plusieurs SPN pour une instance Analysis Services unique pour couvrir toutes les façons dont un utilisateur peut spécifier le nom d’hôte sur une chaîne de connexion. Par exemple, vous avez probablement besoin de deux SPN pour gérer à la fois le nom de domaine complet (FQDN) d’un serveur, ainsi que le nom d’ordinateur court. L’inscription correcte du SPN Analysis Services est essentielle pour une connexion réussie. Si le SPN n’est pas existant, mal formé ou dupliqué, la connexion échoue.

L’inscription SPN est une tâche manuelle effectuée par l’administrateur des Analysis Services. Contrairement au moteur de base de données SQL Server, Analysis Services n’inscrit jamais automatiquement son SPN au démarrage du service. L’inscription manuelle est requise lorsque Analysis Services s’exécute sous le compte virtuel par défaut, un compte d’utilisateur de domaine ou un compte intégré, y compris un SID par service.

L’inscription spN n’est pas nécessaire si le service s’exécute sous un compte de service managé prédéfini créé par un administrateur de domaine. Notez que, selon le niveau fonctionnel de votre domaine, l’inscription d’un SPN peut nécessiter des autorisations d’administrateur de domaine.

Conseil / Astuce

Microsoft pour SQL Server est un outil de diagnostic qui permet de dépanner les problèmes de connexion que rencontre Kerberos avec SQL Server. Pour plus d'informations, consultez Gestionnaire de configuration de Microsoft Kerberos pour SQL Server.

Conseil / Astuce

Microsoft pour SQL Server est un outil de diagnostic qui permet de dépanner les problèmes de connexion que rencontre Kerberos avec SQL Server. Pour plus d'informations, consultez Gestionnaire de configuration de Microsoft Kerberos pour SQL Server.

Cette rubrique contient les sections suivantes :

Quand l’inscription spN est requise

Format SPN pour Analysis Services

Enregistrement SPN pour un compte virtuel

Inscription spN pour un compte de domaine

Enregistrement SPN pour un compte intégré

Inscription spN pour une instance nommée

Enregistrement SPN pour un cluster SSAS

Inscription spN pour les instances SSAS configurées pour l’accès HTTP

Inscription SPN pour les instances SSAS écoutant sur les ports fixes

Quand l’inscription spN est requise

Toute connexion cliente qui spécifie « SSPI=Kerberos » sur la chaîne de connexion introduit les exigences d’inscription spN pour une instance Analysis Services.

L’inscription SPN est requise dans les circonstances suivantes. Pour plus d’informations, consultez Configurer Analysis Services pour la délégation Kerberos contrainte.

  • La délégation d’identité est nécessaire pour transmettre l’identité de l’utilisateur de l’application cliente ou du service de niveau intermédiaire vers Analysis Services. La délégation d’identité est généralement utilisée lorsque des autorisations ou des filtres par utilisateur sont définis sur des objets spécifiques.

    Un scénario courant impliquant la délégation d’identité consiste à configurer des services de niveau intermédiaire, tels que Excel Services ou Reporting Services, pour la délégation contrainte, afin d’imiter l’identité d’un utilisateur lors de la récupération de données dans Analysis Services. Pour prendre en charge ce comportement, vous devez fournir un SPN Analysis Services en tant que service de destination lors de la configuration d’Excel Services ou de Reporting Services pour la délégation contrainte.

  • Analysis Services délègue une identité utilisateur lors de la récupération de données relationnelles SQL Server pour les bases de données tabulaires en mode DirectQuery. Il s’agit du seul scénario dans lequel Analysis Services déléguera l’identité de l’utilisateur à un autre service.

Format SPN pour Analysis Services

Utilisez setspn pour inscrire un SPN. Sur les systèmes d’exploitation plus récents, setspn est installé en tant qu’utilitaire système. Pour plus d’informations, consultez SetSPN.

Le tableau suivant décrit chaque partie d’un SPN Analysis Services.

Élément Descriptif
Classe Service MSOLAPSvc.3 identifie le service en tant qu’instance Analysis Services. Le .3 est une référence à la version du protocole XMLA-over-TCP/IP utilisé dans les transmissions Analysis Services. Elle n’est pas liée à la version du produit. Par conséquent, MSOLAPSvc.3 est la classe de service correcte pour SQL Server 2005, 2008, 2008 R2, 2012 et toute version future d’Analysis Services jusqu’à ce que le protocole lui-même soit révisé.
Nom d’hôte Identifie l’ordinateur sur lequel le service est en cours d’exécution. Il peut s’agir d’un nom de domaine complet ou d’un nom NetBIOS. Vous devez inscrire un SPN pour chacun d'eux.

Lors de l’inscription d’un SPN pour le nom NetBIOS d’un serveur, veillez à utiliser SetupSPN -S pour vérifier l’inscription en double. Les noms NetBIOS ne sont pas garantis comme étant uniques dans une forêt, et le fait d’avoir une inscription SPN en double entraîne l’échec de la connexion.

Pour les clusters à charge équilibrée Analysis Services, le nom d’hôte doit être le nom virtuel affecté au cluster.

Ne créez jamais de SPN à l’aide de l’adresse IP. Kerberos utilise les fonctionnalités de résolution DNS du domaine. La spécification d’une adresse IP contourne cette fonctionnalité.
Numéro de port Bien que le numéro de port fait partie de la syntaxe SPN, vous ne spécifiez jamais de numéro de port lors de l’inscription d’un SPN Analysis Services. Le caractère deux-points ( : ) généralement utilisé pour fournir un numéro de port dans la syntaxe SPN standard est utilisé par Analysis Services pour spécifier le nom de l’instance. Pour une instance Analysis Services, le port est supposé être le port par défaut (TCP 2383) ou un port attribué par le service SQL Server Browser (TCP 2382).
Nom de l’instance Analysis Services est un service réplicable qui peut être installé plusieurs fois sur le même ordinateur. Chaque instance est identifiée par le biais de son nom d’instance.

Le nom de l'instance est précédé d’un deux-points (:). Par exemple, étant donné un ordinateur hôte nommé SRV01 et une instance nommée de SSAS-Tabulaire, le SPN doit être SRV01 :SSAS-Tabulaire.

Notez que la syntaxe de spécification d’une instance Analysis Services nommée diffère de celle utilisée par d’autres instances SQL Server. D’autres services utilisent une barre oblique inverse (\) pour ajouter le nom de l’instance dans un SPN.
Compte de service Il s’agit du compte de démarrage du service Windows MSSQLServerOLAPService . Il peut s’agir d’un compte d’utilisateur de domaine Windows, d’un compte virtuel, d’un compte de service managé (MSA) ou d’un compte intégré tel qu’un SID par service, NetworkService ou LocalSystem. Un compte d’utilisateur de domaine Windows peut être mis en forme en tant que domaine\utilisateur ou user@domain.

Enregistrement SPN pour un compte virtuel

Les comptes virtuels sont le type de compte par défaut pour les services SQL Server. Le compte virtuel est NT Service\MSOLAPService pour une instance par défaut et NT Service\MSOLAP$<instance-name> pour une instance nommée.

Comme le nom l’indique, ces comptes n’existent pas dans Active Directory. Un compte virtuel existe uniquement sur l’ordinateur local. Lors de la connexion à des services externes, des applications ou des appareils, la connexion est établie à l’aide du compte d’ordinateur local. Pour cette raison, une inscription SPN pour Analysis Services exécutée sous un compte virtuel est en fait une inscription SPN pour le compte d’ordinateur.

Exemple de syntaxe pour une instance par défaut s’exécutant en tant que service NT\MSOLAPService

Cet exemple montre la syntaxe setpn pour l’instance analysis Services par défaut s’exécutant sous le compte virtuel par défaut. Dans cet exemple, le nom d’hôte de l’ordinateur est AW-SRV01. Comme indiqué, l’inscription spN doit spécifier le compte d’ordinateur au lieu du compte virtuel, NT Service\MSOLAPService.

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Remarque

N’oubliez pas de créer deux inscriptions SPN, une pour le nom d’hôte NetBIOS et une seconde pour un nom de domaine complet de l’hôte. Différentes applications clientes utilisent différentes conventions de nom d’hôte lors de la connexion à Analysis Services. Le fait d’avoir deux inscriptions SPN garantit que les deux versions du nom d’hôte sont prises en compte.

Exemple de syntaxe pour une instance nommée exécutée en tant que service NT\MSOLAP$<instance-name>

Cet exemple montre la syntaxe setpn d’une instance nommée s’exécutant sous le compte virtuel par défaut. Dans cet exemple, le nom d’hôte de l’ordinateur est AW-SRV02 et le nom de l’instance est AW-FINANCE. Là encore, c’est le compte machine qui est spécifié pour le SPN, plutôt que le compte virtuel NT Service\MSOLAP$<nom-de-instance>.

Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02  

Inscription spN pour un compte de domaine

L’utilisation d’un compte de domaine pour exécuter une instance Analysis Services est une pratique courante.

Pour les instances Analysis Services qui s’exécutent dans un cluster à charge matérielle ou réseau équilibrée, un compte de domaine est requis, chaque instance du cluster s’exécutant sous le même compte de domaine.

Exemple de syntaxe pour une instance par défaut s’exécutant en tant qu’utilisateur de domaine

Cet exemple montre la syntaxe setpn pour l’instance Analysis Services par défaut s’exécutant sous un compte d’utilisateur de domaine, SSAS-Service, dans le domaine AdventureWorks.

Setspn -s msolapsvc.3\AW-SRV01.Adventureworks.com AdventureWorks\SSAS-Service  

Conseil / Astuce

Vérifiez si le SPN a été créé pour le serveur Analysis Services en cours d’exécution Setspn -L <domain account> ou Setspn -L <machinename>, selon la façon dont le SPN a été inscrit. Vous devez voir MSOLAPSVC.3/<hostname> dans la liste.

Inscription spN pour un compte intégré

Bien que cette pratique ne soit pas recommandée, les anciennes installations Analysis Services sont parfois configurées pour s’exécuter sous des comptes intégrés tels que le service réseau, le service local ou le système local.

Exemple de syntaxe pour une instance par défaut exécutée sous un compte intégré

L'inscription de SPN pour un service exécuté sous un compte intégré ou un SID par service est équivalente à la syntaxe SPN utilisée pour le compte virtuel. Au lieu du nom du compte, utilisez le compte d’ordinateur :

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Enregistrement SPN pour une instance nommée

Les instances nommées d’Analysis Services utilisent des affectations de ports dynamiques détectées par le service SQL Server Browser. Lors de l’utilisation d’une instance nommée, inscrivez un SPN pour le service SQL Server Browser et l’instance nommée Analysis Services. Pour plus d’informations, consultez Un SPN pour le service SQL Server Browser est requis lorsque vous établissez une connexion à une instance nommée de SQL Server Analysis Services ou de SQL Server.

Exemple de syntaxe SPN pour le service SQL Browser s’exécutant en tant que LocalService

La classe de service est MSOLAPDisco.3. Par défaut, ce service s’exécute en tant que NT AUTHORITY\LocalService, ce qui signifie que l’inscription SPN est définie pour le compte d’ordinateur. Dans cet exemple, le compte d’ordinateur est AW-SRV01, correspondant au nom de l’ordinateur.

Setspn -S MSOLAPDisco.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Enregistrement SPN pour un cluster SSAS

Pour les clusters de basculement de services d'analyse, le nom d'hôte doit être le nom virtuel affecté au cluster. Il s’agit du nom de réseau SQL Server, spécifié lors de l’installation de SQL Server lorsque vous avez installé Analysis Services sur un cluster WSFC existant. Vous trouverez ce nom dans Active Directory. Vous pouvez également le trouver dans l’onglet du Gestionnaire de cluster de basculement | Rôle | Ressources. Le nom du serveur dans l'onglet Ressources est celui qui doit être utilisé comme « nom virtuel » dans la commande SPN.

Syntaxe SPN pour un cluster Analysis Services

Setspn -s msolapsvc.3/<virtualname.FQDN > <domain user account>  

Rappelez-vous que les nœuds d’un cluster Analysis Services doivent utiliser le port par défaut (TCP 2383) et s’exécuter sous le même compte d’utilisateur de domaine afin que chaque nœud ait le même SID. Pour plus d'informations, consultez Comment regrouper SQL Server Analysis Services.

Inscription SPN pour les instances SSAS configurées pour l’accès HTTP

Selon les exigences de la solution, vous avez peut-être configuré Analysis Services pour l’accès HTTP. Si votre solution inclut IIS en tant que composant de niveau intermédiaire et que l’authentification Kerberos est une exigence de solution, vous devrez peut-être inscrire manuellement un SPN pour IIS. Pour plus d’informations, consultez « Configurer les paramètres sur l’ordinateur exécutant IIS » dans Comment configurer SQL Server 2008 Analysis Services et SQL Server 2005 Analysis Services pour utiliser l’authentification Kerberos.

En termes d’inscription spN pour l’instance Analysis Services, il n’existe aucune différence entre une instance configurée pour TCP ou HTTP. La connexion à Analysis Services à partir d’IIS, à l’aide de l’extension ISAPI MSMDPUMP, est toujours TCP.

Cela signifie que vous pouvez utiliser les instructions des sections précédentes pour l’instance par défaut ou nommée pour inscrire le SPN. Lorsque vous spécifiez le nom d’hôte, veillez à utiliser le nom d’hôte que vous avez spécifié dans le fichier msmdpump.ini lorsque vous avez configuré le service pour l’accès HTTP.

Pour plus d’informations sur l’accès HTTP, consultez Configurer l’accès HTTP à Analysis Services sur Internet Information Services (IIS) 8.0.

Inscription SPN pour les instances SSAS utilisant des ports fixes

Vous ne pouvez pas spécifier un numéro de port sur une inscription SPN Analysis Services. Si vous avez installé Analysis Services comme instance par défaut et configuré pour écouter sur un port fixe, vous devez maintenant le configurer pour écouter sur le port par défaut (TCP 2383). Pour les instances nommées, vous devez utiliser le service SQL Server Browser et les affectations de ports dynamiques.

Une instance Analysis Services ne peut écouter qu’un seul port. L’utilisation de plusieurs ports n’est pas prise en charge. Pour plus d’informations sur la configuration du port, consultez Configurer le Pare-feu Windows pour autoriser l’accès à Analysis Services.

Voir aussi

Authentification et délégation d’identité Microsoft BI
Authentification mutuelle à l’aide de Kerberos
Comment configurer SQL Server 2008 Analysis Services et SQL Server 2005 Analysis Services pour utiliser l’authentification Kerberos
Syntaxe de SetSPN des Noms de Principal de Service (SPN) (Setspn.exe)
Quel SPN dois-je utiliser et comment y arrive-t-il ?
SetSPN
Guide pas à pas des comptes de service
Configurer les comptes de service Windows et les autorisations
Comment utiliser des SPN lorsque vous configurez des applications web hébergées sur Internet Information Services
nouveautés des comptes de service
Configurer l’authentification Kerberos pour les produits SharePoint 2010 (livre blanc)