Inscrire un nom de principal du service (SPN) pour un serveur de rapports
Si vous déployez Reporting Services dans un réseau qui utilise le protocole Kerberos pour l’authentification mutuelle, vous devez créer un nom de principal de service (SPN) pour le service Report Server. Vous devez créer le nom si vous le configurez pour qu'il s'exécute en tant que compte d'utilisateur de domaine.
À propos des noms principaux de service
Un nom principal de service est un identificateur unique pour un service sur un réseau qui utilise l'authentification Kerberos. Il est composé d’une classe de service, d’un nom d’hôte et parfois d’un port. Les noms de principal du service HTTP ne nécessitent pas de port. Sur un réseau qui utilise l'authentification Kerberos, un nom principal de service pour le serveur doit être inscrit sous un compte d'ordinateur prédéfini (tel que NetworkService ou LocalSystem) ou un compte d'utilisateur. Les noms principaux de service sont enregistrés automatiquement pour les comptes intégrés. Toutefois, lorsque vous exécutez un service sous un compte d'utilisateur de domaine, vous devez inscrire manuellement le nom principal de service pour le compte que vous souhaitez utiliser.
Pour créer un SPN, vous pouvez utiliser l’utilitaire de ligne de commande SetSPN . Pour plus d’informations, consultez l’article suivant :
Vous devez être administrateur de domaine pour exécuter l'utilitaire sur le contrôleur de domaine.
Syntaxe
Lorsque vous manipulez des noms SPN avec le SetSPN
, le SPN doit être saisi dans le bon format. Le format d’un nom SPN HTTP est le suivant http/host
. La syntaxe de commande pour utiliser l'utilitaire SetSPN
afin de créer un SPN pour le serveur de rapports ressemble à l'exemple suivant :
Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
SetSPN
est disponible dans Windows Server. L'argument -s
ajoute un SPN après avoir vérifié qu'aucun doublon n'existe.
Remarque
-s
est disponible dans Windows Server depuis Windows Server 2008.
HTTP
est la classe de service. Le service Web Report Server s'exécute dans HTTP.SYS
. L'une des conséquences de la création d'un SPN pour HTTP
est que des tickets sont accordés à toutes les applications Web sur le même ordinateur qui s'exécutent dans HTTP.SYS
(notamment les applications hébergées dans les services Internet (IIS)) en fonction du compte d'utilisateur de domaine. Si ces services s'exécutent sous un compte différent, les demandes d'authentification échouent. Pour éviter ce problème, assurez-vous de configurer toutes les applications HTTP pour qu'elles s'exécutent sous le même compte ou envisagez la création d'en-têtes d'hôtes pour chaque application puis la création de noms principaux de service distincts pour chaque en-tête d'hôte. Lorsque vous configurez des en-tête de l'hôte, les modifications de DNS sont requises indépendamment de la configuration Reporting Services .
Les valeurs que vous spécifiez pour <computername>
et <domainname>
identifient l’adresse réseau unique de l’ordinateur qui héberge le serveur de rapports. Cette valeur peut être un nom d'hôte local ou un nom de domaine complet (FQDN). Si vous n’avez qu’un seul domaine, vous n’avez pas besoin de spécifier <domainname>
dans votre ligne de commande. <domain-user-account>
est le compte d’utilisateur sous lequel le service Report Server s’exécute et pour lequel le nom de principal du service doit être inscrit.
Inscrire un SPN pour un service de serveur de rapports qui s'exécute en tant qu'utilisateur de domaine
Installez Reporting Services et configurez le service Report Server pour qu’il s’exécute en tant que compte d’utilisateur de domaine. Les utilisateurs ne sont pas en mesure de se connecter au serveur de rapports tant que vous n'aurez pas terminé les étapes suivantes.
Connectez-vous au contrôleur de domaine en tant qu'administrateur de domaine.
Ouvrez une invite de commandes.
Copiez la commande suivante, en remplaçant les valeurs d'espaces réservés par des valeurs réelles valides pour votre réseau :
Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
Par exemple :
Setspn -s http/MyReportServer.MyDomain.com MyDomainUser
Exécutez la commande.
Ouvrez le fichier
RsReportServer.config
et recherchez la section<AuthenticationTypes>
.Ajoutez
<RSWindowsNegotiate>
comme première entrée de cette section pour activer Kerberos.