Procédure : inscrire un nom de principal du service (SPN) pour Report Server

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 du service (SPN) pour le service Report Server si vous le configurez pour s'exécuter en tant que compte d'utilisateur de domaine. De plus, lorsque vous configurez un utilisateur de domaine en tant que compte de service, le serveur de rapports doit être configuré de manière à utiliser l'authentification NTLM.

À 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 d'un 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 Vue d'ensemble de Setspn (page éventuellement en anglais) sur Microsoft Windows Server TechCenter.

Vous devez être administrateur de domaine pour exécuter l'utilitaire sur le contrôleur de domaine.

Syntaxe

La syntaxe de commande pour utiliser l'utilitaire SetSPN en vue de créer un SPN pour le serveur de rapports ressemble à ce qui suit :

Setspn -a http/<computername>.<domainname>:<port> <domain-user-account>

SetSPN est disponible avec le pack d'outils de support Windows Server 2003 Service Pack 1, que vous devez télécharger séparément. L'argument -a est utilisé pour inscrire un nom de principal du service auprès d'un compte particulier.

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 nom principal de service pour HTTP est que des tickets seront accordés à toutes les applications Web sur le même ordinateur qui s'exécutent dans HTTP.SYS (y compris 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 <nom_ordinateur>, <nom_domaine> et <port> identifient l'adresse réseau unique de l'ordinateur qui héberge le serveur de rapports. Ce peut être un nom d'hôte local ou un nom de domaine complet (FQDN). Si vous n'avez qu'un seul domaine et que vous utilisez le port 80, vous pouvez omettre <nom_domaine> et <port> de votre ligne de commande. <compte_utilisateur_domaine> est le compte d'utilisateur qu'exécute le service Report Server et pour lequel le SPN est inscrit.

Notes

REMARQUE : si vous utilisez Internet Explorer et l'authentification Kerberos, il est recommandé de ne pas spécifier le port dans le cadre de la ligne de commande. Pour plus d'informations, consultez Internet Explorer ne peut pas utiliser le protocole d'authentification Kerberos pour se connecter à un site Web (page éventuellement en anglais)

Inscrire un SPN pour un compte d'utilisateur de domaine

Pour inscrire un SPN pour un service Report Server qui s'exécute en tant qu'utilisateur de domaine

  1. Installez Reporting Services et configurez le service Report Server pour qu'il s'exécute en tant que compte d'utilisateur de domaine. Notez que les utilisateurs ne seront pas en mesure de se connecter au serveur de rapports tant que vous n'aurez pas terminé les étapes suivantes.

  2. Téléchargez et installez les Outils de support de Windows Server 2003 Service Pack 1 à partir du Centre de téléchargement.

  3. Ouvrez une session sur le contrôleur de domaine en tant qu'administrateur de domaine.

  4. Ouvrez une fenêtre d'invite de commandes.

  5. 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 -a http/<computer-name>.<domain-name>:<port> <domain-user-account>
    
  6. Exécutez la commande.

  7. Ouvrez le fichier RsReportServer.config et recherchez la section <AuthenticationTypes>. Ajoutez <RSWindowsNegotiate/> comme première entrée de cette section pour activer NTLM.