Dépannage de la protection étendue (Reporting Services)

Utilisez cette rubrique pour résoudre des problèmes que vous rencontrez lors de l'utilisation de la protection étendue avec SQL Server 2008 R2 Reporting Services. Cette rubrique peut également être utile pour les problèmes relatifs à l'authentification générale, car la configuration de la protection étendue peut être à l'origine de ces problèmes. Pour plus d'informations sur les développements les plus récents de la protection étendue, consultez les informations mises à jour relatives à la protection étendue

Common issues and support scenarios

Error messages

Error states

Problèmes courants et scénarios de support technique

Comment vérifier les paramètres actuels de la protection étendue ?

library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: Initializing RSWindowsExtendedProtectionLevel to 'Off' as specified in Configuration file.

library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: Initializing RSWindowsExtendedProtectionScenario to 'Proxy' as specified in Configuration file.

Comment savoir que la protection étendue a provoqué l'échec de l'authentification ?

Le fichier de journal des traces de service du serveur de rapports contient des entrées similaires aux suivantes :

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Authentication failed with error state: 46

Recherchez le numéro de l'erreur et des informations supplémentaires dans la liste d'error states à la fin de cette rubrique.

Comment puis-je m'assurer que les contrôles de protection étendue ont été effectués ?

Activez l'option de journalisation détaillée en mettant à jour le fichier de configuration reportingservicesservice.exe.config. Dans la section <RStrace>, définissez :

<add name=”Components” value=”all:4” /> 
  • Redémarrez le service.

  • Si l'option de journalisation détaillée est activée, l'authentification écrit des lignes similaires aux lignes suivantes, en indiquant si la vérification de la liaison de canal, la liaison de service ou les deux vérifications ont été effectuées :

http!rshost!ec0!12/29/2009-11:01:37:: v VERBOSE : vérification de la liaison de canal en tant que proxy.

http!rshost!7b0!12/29/2009-11:26:23:: v VERBOSE : vérification de la liaison de service.

Pour plus d'informations, consultez Fichier de configuration ReportingServicesService.

Catalogue du serveur de rapports

Microsoft SQL Client n'a pas été mis à jour pour prendre en charge la protection étendue au moment de la publication de la version finale de SQL Server 2008 R2. SQL Client est utilisé pour se connecter aux sources de données SQL Server et à la base de données du catalogue Reporting Services. Cette limitation du client SQL affecte Reporting Services des façons suivantes :

  • La protection étendue ne peut être activée sur le serveur SQL Server qui exécute la base de données du catalogue Reporting Services et le serveur de rapports ne parvient pas à se connecter à la base de données de catalogue et renvoie des erreurs d'authentification.

  • Tous les serveurs SQL Server utilisés comme sources de données de rapport Reporting Services ne peuvent bénéficier de la protection étendue ou tentant, par le biais du serveur de rapports, de se connecter à la source de données de rapport échouent et retournent des erreurs d'authentification. Une manière de contourner ce problème consiste à modifier les sources de données Reporting Services pour utiliser des fournisseurs natifs au lieu du client SQL. Par exemple, configurez les sources de données pour le pilote ODBC ; le client SQL natif est alors utilisé, car il prend en charge la protection étendue.

Que se passe-t-il lorsque j'active la protection étendue sans configurer SSL ?

Le comportement dépend du paramètre du RSWindowsExtendedProtectionScenario dans le fichier de configuration rsreportserver.config.

Si RSWindowsExtendedProtectionScenario est configuré sur Direct et que la connexion SSL est absente

Lorsque le RSWindowsExtendedProtectionScenario est Direct et qu'il n'existe aucune réservation d'URL SSL pour le serveur de rapports ou le Gestionnaire de rapports, le serveur de rapports ou le Gestionnaire de rapports apparaît habituellement dans une fenêtre vide du Gestionnaire de rapports.

En effet, en l'absence de configuration SSL et du fait de la définition du RSWindowsExtendedProtectionScenario sur Direct, le serveur de rapports désactive les types d'authentification <RSWindowsNTLM />, <RSWindowsNegotiate /> et <RSWindowsKerberos />. Par conséquent, aucun type d'authentification n'est activé et le serveur de rapports ne répond pas aux demandes. C'est la raison pour laquelle des fenêtres vides s'affichent.

Le fichier de journal des traces contient des messages d'erreur similaires aux messages suivants :

configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: SSL is required on Report Server connections when ExtendedProtectionScenario is set to Direct

configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: SSL is required on Report Manager connections when ExtendedProtectionScenario is set to Direct

Si RSWindowsExtendedProtectionScenario est configuré sur Proxy et que la connexion SSL est absente

Lorsque RSWindowsExtendedProtectionScenario a pour valeur Proxy et que SSL ne fait pas partie de l'environnement, l'affichage du serveur de rapports ou du Gestionnaire de rapports se traduit par l'affichage d'une page demandant à l'utilisateur ses informations d'identification, ce qui n'aboutit jamais à l'authentification. Si SSL est configuré sur le serveur de rapports, l'ajout d'un « s » à l'URL utilisée dans le navigateur pour le serveur de rapports ou le Gestionnaire de rapports corrige ce problème. Par exemple, https://<uri> corrige le problème de la boîte de dialogue d'authentification dialogue qui s'affiche si l'origine du problème est lié au champ RSWindowsExtendedProtectionSscenario ayant pour valeur proxy.

Le fichier de journal des traces du serveur de rapports inclut des messages similaires aux messages suivants :

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: vérification de la liaison de canal en tant que proxy

http!rshost!76c!12/29/2009-10:26:12:: i INFO: Authentication failed with error state: 45

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: vérification de la liaison de canal en tant que proxy

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: Authentication failed with error state: 46

Après avoir activé la protection étendue, je peux me connecter à Internet Explorer, mais ne peux pas me connecter à l'aide de Report Builder, de Management Studio ou de tout autre client .NET

Ce scénario s'applique seulement aux systèmes d'exploitation antérieurs à Windows 7 et Windows 2008 R2. Les versions antérieures de Windows n'ont pas été mises sur le marché avec la fonctionnalité de protection étendue. Par conséquent, un ordinateur équipé d'un ancien système d'exploitation risque de ne pas disposer de toutes les mises à jour liées à la protection étendue, notamment la mise à jour de protection étendue concernant .NET Framework.

Lorsque RSWindowsExtendedProtectionLevel est Allow ou Require, une application cliente qui fonctionne sur un système d'exploitation prenant en charge la protection étendue doit fournir la liaison de canal et parfois la liaison de service. Exemple :

  • Internet Explorer a été mis à jour dans le cadre de la mise à jour de protection étendue Windows.

  • Cependant, .NET Framework n'a pas été corrigé. L'infrastructure .NET Framework est obligatoire pour les clients .NET tels que le Générateur de rapports et Management Studio.

Pour diagnostiquer ce problème, désactivez la protection étendue et vérifiez que l'application cliente .NET peut se connecter. Pour désactiver la protection étendue :

  1. Définissez RSWindowsExtendedProtectionLevel sur Off dans le fichier RSReportServer.config.

  2. Redémarrez le service Report Server.

La solution consiste à télécharger toutes les mises à jour concernant .NET Framework.

Pourquoi les connexions locales réussissent-elles l'authentification lorsque la protection étendue est activée, mais pas les connexions distantes ?

En cas d'authentification par bouclage, le système d'exploitation ignore le mécanisme d'authentification et n'applique pas la liaison de canal.

Par conséquent, avec une connexion HTTP et les paramètres de configuration suivants :

  • RSWindowsExtendedProtectionLevel a pour valeur Require

    AND

  • RSWindowsExtendedProtectionScenario a pour valeur Proxy

La connexion locale réussit, mais les connexions distantes échouent.

Selon l'URL utilisée pour établir la connexion locale et les réservations d'URL configurées sur le serveur de rapports, il est encore possible que la connexion locale échoue en cas d'échec de liaison de service si le SPN créé à partir de la réservation d'URL ne correspond pas à un SPN figurant dans la liste des SPN valides.

La connexion distante continue d'échouer si vous établissez une connexion HTTP alors qu'aucune passerelle ne réside entre le client et le serveur de rapports configurés pour établir la connexion SSL.

Erreur 401 non autorisée lors de l'utilisation d'un en-tête de l'hôte

Ce scénario est spécifique à un déploiement avec montée en puissance parallèle de Reporting Services et se produit si le Gestionnaire de rapports et le serveur de rapports figurent sur le même ordinateur et utilisent l'un comme l'autre les en-têtes d'hôtes et l'authentification Windows. Ainsi, si vous essayez d'accéder au Gestionnaire de rapports à l'adresse http://<lenom>/reports, la liste de rapports ou de dossiers attendue n'apparaît pas. À sa place, vous obtenez le message d'erreur de « HTTP 401 (non autorisé) ».

Le <nom> de référence ne désigne pas le nom physique de l'ordinateur et est considéré comme un « en-tête d'hôte». Il s'agit d'un nom de remplacement pour l'ordinateur sur lequel Reporting Services est installé. Les en-têtes d'hôtes sont également utilisés comme source des SPN valides lorsque Reporting Services compile la liste des SPN valides dans le cadre de la protection étendue.

Pour empêcher l'erreur 401 non autorisée, vous devrez insérer le nom NetBIOS et le FQDN (nom de domaine complet) du <nom> dans la liste des noms BackConnectionHostNames stockée dans le Registre Windows. Redémarrez l'ordinateur après avoir apporté la modification dans le Registre.

Pour plus d'informations sur la façon de modifier le Registre, consultez la section « Méthode 2 : Spécification des noms d'hôte » dans l'article  896861 de la Base de connaissances Microsoft, Vous recevez une erreur 401.1 lorsque vous visitez un site Web qui utilise l'authentification intégrée et qui est hébergé sur IIS 5.1 ou une version ultérieure.

Messages d'erreur

La liste suivante de messages peut apparaître dans le fichier journal des traces du service du serveur de rapports.

Message d'erreur

Type

Cause

Étapes de dépannage

Paramètre ExtendedProtectionScenario absent ou incorrect

Erreur

  • RSWindowsExtendedProtectionScenario ne figure pas dans le fichier rsreportserver.config.

  • Mettez à jour le fichier de configuration selon les valeurs par défaut.

  • La valeur par défaut du paramètre RSWindowsExtendedProtectionLevel est Off.

  • La valeur par défaut du paramètre RSWindowsExtendedProtectionScenario est Proxy.

SSL est obligatoire pour les connexions du serveur de rapports lorsque ExtendedProtectionScenario a pour valeur Direct

Erreur

  • RSWindowsExtendedProtectionScenario a pour valeur Direct.

  • L'option Direct requiert une connexion SSL.

  • Procurez-vous un certificat SSL et configurez une URL SSL pour le serveur de rapports et le Gestionnaire de rapports. Il en va de même pour l'administration centrale de SharePoint avec Reporting Services en mode intégré SharePoint.

  • Définissez RSWindowsExtendedProtectionLevel sur Off jusqu'à ce qu'un certificat SSL soit obtenu et configuré.

  • Définissez RSWindowsExtendedProtectionScenario sur Any si aucun certificat SSL n'est configuré, mais qu'un niveau de protection est souhaité.

Le trafic HTTP vers le serveur de rapports échoue l'authentification NTLM, Kerberos et Negotiate

Avertissement

  • RSWindowsExtendedProtectionScenario a pour valeur Direct.

  • Le scénario direct requiert une connexion SSL.

  • Une réservation d'URI HTTP est configurée. L'authentification sur cette réservation d'URL échoue.

  • Utilisez HTTPS pour communiquer avec le serveur de rapports.

  • Supprimez la réservation d'URL HTTP à l'aide du Gestionnaire de configuration Reporting Services.

SSL est obligatoire pour les connexions du Gestionnaire de rapports lorsque ExtendedProtectionScenario a pour valeur Direct

Erreur

  • RSWindowsExtendedProtectionScenario a pour valeur Direct.

  • Direct requiert SSL.

  • Le Gestionnaire de rapports n'a pas d'URI SSL configurée.

  • Procurez-vous un certificat SSL et configurez une URL SSL pour le serveur de rapports et le Gestionnaire de rapports. Il en va de même pour l'administration centrale de SharePoint avec Reporting Services en mode intégré SharePoint.

  • Définissez RSWindowsExtendedProtectionLevel sur Off jusqu'à ce qu'un certificat SSL soit obtenu et configuré.

  • Définissez RSWindowsExtendedProtectionScenario sur Any si aucun certificat SSL n'est configuré, mais qu'un niveau de protection est souhaité.

L'authentification NTLM, Kerberos et Negotiate échoue pour les connexions directes au serveur de rapports

Avertissement

  • RSWindowsExtendedProtectionScenario a pour valeur Proxy ; aucune URL SSL n'est configurée pour le Gestionnaire de rapports.

  • Avec cette configuration , l'utilisateur doit établir une connexion sur un canal SSLavec le PROXY. Un périphérique proxy peut mettre fin à la connexion. Si une connexion directe est établie avec le serveur SSRS sans canal SSL, l'authentification échoue.

  • Vérifiez que les clients utilisent HTTPS uniquement.

  • Vérifiez qu'un proxy est configuré pour lequel un arrêt SSL est configuré.

  • Vérifiez que tous les ordinateurs (locaux et distants) sont configurés pour utiliser le proxy dans le cadre des connexions au serveur de rapports et au Gestionnaire de rapports. Des mises à jour DNS, des mises à jour du proxy du navigateur ou l'ajout d'entrées de fichier HOSTS personnalisées sur l'ordinateur local peuvent s'avérer nécessaires.

  • Configurez une URL SSL sur le serveur Reporting Servicespour le serveur de rapports, le Gestionnaire de rapports ou l'administration centrale de SharePoint lorsque vous utilisez Reporting Services en mode intégré SharePoint. Toutes les connexions locales doivent utiliser l'URL SSL. Cela suppose qu'aucun proxy n'a été configuré pour être arrêté.

  • Définissez explicitement l'URL du Gestionnaire de rapports pour utiliser l'URL de proxy avec SSL.

Le trafic HTTP vers le serveur de rapports peut échouer l'authentification NTLM, Kerberos et Negotiate

Avertissement

  • ExtendedProtectionScenario a pour valeur Proxy et une URI SSL est configurée pour le Gestionnaire de rapports.

  • Avec cette configuration, les utilisateurs ayant accès par le biais d'un proxy s'attendent à réussir l'authentification, même si la connexion du proxy au Gestionnaire de rapports ne s'effectue pas par un canal SSL.

  • Les connexions locales au Gestionnaire de rapports doivent utiliser SSL.

  • Vérifiez que les clients utilisent HTTPS uniquement (canal SSL).

  • Vérifiez qu'un proxy est configuré pour lequel un arrêt SSL est configuré.

  • Vérifiez que tous les ordinateurs (locaux et distants) sont configurés pour utiliser le proxy dans le cadre des connexions au serveur de rapports et au Gestionnaire de rapports. Des mises à jour DNS, des mises à jour du proxy du navigateur ou l'ajout d'entrées de fichier HOSTS personnalisées sur l'ordinateur local peuvent s'avérer nécessaires.

  • Configurez une URL SSL pour le serveur Reporting Services pour le serveur de rapports et le Gestionnaire de rapports. Toutes les connexions locales doivent utiliser l'URL SSL. Cela suppose qu'aucun proxy n'a été configuré pour être arrêté.

  • Définissez explicitement l'URL du Gestionnaire de rapports pour utiliser l'URL de proxy avec SSL.

États d'erreurs

Cette section inclut les noms et les descriptions des codes d'erreur qui s'affichent éventuellement dans le journal des traces de service du serveur de rapports liés à la protection étendue. Pour plus d'informations, consultez Journal des traces du service Report Server.

code

Nom de l'état de l'erreur

Description

44

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NOTSUPPORTED

Le système d'exploitation ne prend pas en charge les liaisons de canal, mais le serveur de rapports est configuré pour utiliser la protection étendue. Mettez à jour le système d'exploitation ou désactivez la protection étendue.

45

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_EMPTYORWRONG

Les liaisons de canal du client ne correspondent pas au canal de protocole TLS établi. Le service peut faire l'objet d'attaques ou le fournisseur de données doit être mis à niveau pour prendre en charge la protection étendue. La connexion a été fermée.

46

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NULLOREMPTYORWRONG

Les liaisons de canal de ce client sont absentes ou ne correspondent pas au canal de protocole TLS établi. Le service peut faire l'objet d'attaques ou le fournisseur de données ou le système d'exploitation du client doivent être mis à niveau pour prendre en charge la protection étendue. La connexion a été fermée.

48

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_UNSUPPORTED

Le système d'exploitation ne prend pas en charge les liaisons de service, mais le serveur est configuré pour utiliser la protection étendue. Mettez à jour le système d'exploitation ou désactivez la protection étendue.

49

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_QUERYCONTEXTATTRIBUTES

QueryContextAttributes n'a pas pu extraire les liaisons de service. Le code d'erreur Windows indique la raison de l'échec.

51

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_NULL

Le niveau de protection étendue du serveur est autorisé ou obligatoire et le client n'a pas fourni de nom de principal de service (SPN). Pour se connecter, ce client doit prendre en charge la protection étendue. Vous serez peut-être amené à installer le service pack du système d'exploitation qui autorise la liaison de service et de canal.

52

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_EMPTY

Le niveau de protection étendue du serveur est autorisé ou obligatoire et le client n'a pas fourni de SPN. Pour se connecter, ce client doit prendre en charge la protection étendue.

53

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_SERVICECLASSMISMATCH

L'élément Classe de service du SPN reçu n'est pas valide.

54

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_IPADDRESSMISMATCH

L'élément Adresse IP du SPN reçu n'est pas valide.

55

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_HOSTNAMEMISMATCH

L'élément Hôte du SPN reçu n'est pas valide.

56

SNIAUTH_ERRST_SSPIHANDSHAKE_OOM

Une allocation de mémoire a échoué en validant le SPN reçu.

57

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_WSASTRINGTOADDRESSFAILEDFORIPV6

WSAStringToAddress n'a pas réussi à convertir l'élément Adresse IP du SPN reçu en une structure d'adresse. Le code d'erreur Windows indique la raison de l'échec.