Partager via


Configurer l’authentification de base sur le serveur de rapports

Par défaut, Reporting Services accepte les demandes qui spécifient l’authentification Negotiate et NTLM. Si votre déploiement inclut des applications clientes ou des navigateurs qui utilisent l’authentification de base, vous devez ajouter l’authentification de base à la liste des types pris en charge. En outre, si vous souhaitez utiliser le Générateur de rapports, vous devez activer l’accès anonyme aux fichiers du Générateur de rapports.

Pour configurer l’authentification de base sur le serveur de rapports, vous modifiez des éléments et des valeurs XML dans le fichier RSReportServer.config. Vous pouvez copier et coller les exemples de cette rubrique pour remplacer les valeurs par défaut.

Avant d’activer l’authentification de base, vérifiez que votre infrastructure de sécurité la prend en charge. Sous Authentification de base, le service web Report Server transmet les informations d’identification à l’autorité de sécurité locale. Si les informations d’identification spécifient un compte d’utilisateur local, l’utilisateur est authentifié par l’autorité de sécurité locale sur l’ordinateur du serveur de rapports et l’utilisateur obtient un jeton de sécurité valide pour les ressources locales. Les informations d’identification pour les comptes d’utilisateur de domaine sont transférées et authentifiées par un contrôleur de domaine. Le ticket résultant est valide pour les ressources réseau.

Le chiffrement de canal, tel que SSL (Secure Sockets Layer), est requis si vous souhaitez atténuer le risque d’intercepter les informations d’identification lors du transit vers un contrôleur de domaine de votre réseau. À lui seul, l'authentification de base transmet le nom d'utilisateur en texte clair et le mot de passe en base 64. L’ajout du chiffrement de canal rend le paquet non lisible. Pour plus d’informations, consultez Configurer des connexions SSL sur un serveur de rapports en mode natif.

Après avoir activé l’authentification de base, sachez que les utilisateurs ne peuvent pas sélectionner l’option de sécurité intégrée Windows lors de la définition des propriétés de connexion à une source de données externe qui fournit des données à un rapport. L’option est grisée dans les pages de propriétés de la source de données.

Remarque

Les instructions suivantes sont destinées à un serveur de rapports en mode natif. Si le serveur de rapports est déployé en mode intégré SharePoint, vous devez utiliser les paramètres d’authentification par défaut qui spécifient la sécurité intégrée De Windows. Le serveur de rapports utilise des fonctionnalités internes dans l’extension d’authentification Windows par défaut pour prendre en charge le serveur de rapports en mode intégré SharePoint.

Pour configurer un serveur de rapports pour utiliser l’authentification de base

  1. Ouvrez RSReportServer.config dans un éditeur de texte.

    Le fichier se trouve sur <le lecteur> :\Program Files\Microsoft SQL Server\MSRS12. MSSQLSERVER\Reporting Services\ReportServer.

  2. Rechercher <Authentication>.

  3. Copiez l’une des structures XML suivantes qui répondent le mieux à vos besoins. La première structure XML fournit des espaces réservés pour spécifier tous les éléments, qui sont décrits dans la section suivante :

    <Authentication>  
          <AuthenticationTypes>  
                 <RSWindowsBasic>  
                       <LogonMethod>3</LogonMethod>  
                       <Realm></Realm>  
                       <DefaultDomain></DefaultDomain>  
                 </RSWindowsBasic>  
          </AuthenticationTypes>  
          <EnableAuthPersistence>true</EnableAuthPersistence>  
    </Authentication>  
    

    Si vous utilisez des valeurs par défaut, vous pouvez copier la structure d’élément minimale :

          <AuthenticationTypes>  
                 <RSWindowsBasic/>  
          </AuthenticationTypes>  
    
  4. Collez-le sur les entrées existantes pour <Authentication>.

    Si vous utilisez plusieurs types d’authentification, ajoutez simplement l’élément RSWindowsBasic , mais ne supprimez pas les entrées pour RSWindowsNegotiate, RSWindowsNTLMou RSWindowsKerberos.

    Pour prendre en charge le navigateur Safari, vous ne pouvez pas configurer le serveur de rapports pour utiliser plusieurs types d’authentification. Vous devez spécifier uniquement RSWindowsBasic et supprimer les autres entrées.

    Notez que vous ne pouvez pas utiliser Custom avec d’autres types d’authentification.

  5. Remplacez les valeurs vides pour <Realm> ou <DefaultDomain> par des valeurs valides pour votre environnement.

  6. Enregistrez le fichier.

  7. Si vous avez configuré un déploiement avec montée en puissance parallèle, répétez ces étapes pour d’autres serveurs de rapports dans le déploiement.

  8. Redémarrez le serveur de rapports pour effacer toutes les sessions qui sont actuellement ouvertes.

Référence RSWindowsBasic

Les éléments suivants peuvent être spécifiés lors de la configuration de l’authentification de base.

Élément Obligatoire Valeurs valides
Méthode de connexion Oui

Si vous ne spécifiez pas de valeur, 3 sera utilisé.
2 = Ouverture de session réseau, destinée aux serveurs hautes performances pour authentifier les mots de passe en texte brut.

3 = Ouverture de session en clair, qui conserve les informations d’identification d’ouverture de session dans le package d’authentification envoyé avec chaque requête HTTP, ce qui permet au serveur d’emprunter l’identité de l’utilisateur lors de la connexion à d’autres serveurs du réseau. (Par défaut)

Remarque : Les valeurs 0 (pour l’ouverture de session interactive) et 1 (pour l’ouverture de session par lots) ne sont pas prises en charge dans SQL Server 2014 Reporting Services (SSRS).
Royaume Optionnel Spécifie une partition de ressources qui inclut les fonctionnalités d’autorisation et d’authentification utilisées pour contrôler l’accès aux ressources protégées dans votre organisation.
DefaultDomain (Domaine Par Défaut) Optionnel Spécifie le domaine utilisé par le serveur pour authentifier l’utilisateur. Cette valeur est facultative, mais si vous l’omettez, le serveur de rapports utilise le nom de l’ordinateur comme domaine. Si l’ordinateur est membre du domaine, ce domaine est le domaine par défaut. Si vous avez installé le serveur de rapports sur un contrôleur de domaine, le domaine utilisé est celui contrôlé par l'ordinateur.

Activation de l’accès anonyme aux fichiers d’application du Générateur de rapports

Le Générateur de rapports utilise la technologie ClickOnce pour télécharger et installer des fichiers d’application sur l’ordinateur client. Lorsqu’il démarre sur l’ordinateur client, le lanceur d’applications ClickOnce effectue une demande de fichiers d’application supplémentaires sur l’ordinateur du serveur de rapports. Si le serveur de rapports est configuré pour l’authentification de base, le lanceur d’applications ClickOnce échoue, car il ne prend pas en charge l’authentification de base.

Pour contourner ce problème, vous pouvez configurer l’accès anonyme aux fichiers de programme du Générateur de rapports. Cela permet à ClickOnce de contourner la vérification d’authentification lors de la récupération de ses fichiers. Activez l’accès anonyme en procédant comme suit :

  • Vérifiez que le serveur de rapports est configuré pour l’authentification de base.

  • Créez un dossier bin sous ReportBuilder et copiez quatre assemblys dans le dossier.

  • Ajoutez l’élément IsReportBuilderAnonymousAccessEnabled au RSReportServer.config et définissez-le sur True. Après avoir enregistré un fichier, le serveur de rapports crée un nouveau point de terminaison vers le Générateur de rapports. Le point de terminaison est utilisé en interne pour accéder aux fichiers de programme et n’a pas d’interface programmatique que vous pouvez utiliser dans le code. Le fait d’avoir un point de terminaison distinct permet au Générateur de rapports de s’exécuter dans son propre domaine d’application dans la limite du processus du service Report Server.

  • Si vous le souhaitez, vous pouvez spécifier un compte avec privilèges minimum pour traiter les demandes dans un contexte de sécurité différent du serveur de rapports. Ce compte devient le compte anonyme pour accéder aux fichiers du Générateur de rapports sur un serveur de rapports. Le compte définit l’identité du thread dans le processus de travail ASP.NET. Les demandes qui s’exécutent dans ce thread sont transmises au serveur de rapports sans vérification d’authentification. Ce compte équivaut au compte IUSR_machine> dans Internet Information Services (IIS), qui est utilisé pour définir le contexte de sécurité des processus de travail ASP.NET< lorsque l’accès anonyme et l’emprunt d’identité sont activés. Pour spécifier le compte, vous l’ajoutez à un fichier Web.config du Générateur de rapports.

Le serveur de rapports doit être configuré pour l’authentification de base si vous souhaitez activer l’accès anonyme aux fichiers de programme du Générateur de rapports. Si le serveur de rapports n’est pas configuré pour l’authentification de base, vous obtenez une erreur lorsque vous tentez d’activer l’accès anonyme.

Pour plus d’informations sur les problèmes d’authentification et le Générateur de rapports, consultez Configurer l’accès au Générateur de rapports.

Pour configurer l’accès au Générateur de rapports sur un serveur de rapports configuré pour l’authentification de base

  1. Vérifiez que le serveur de rapports est configuré pour l’authentification de base en vérifiant les paramètres d’authentification dans le fichier RSReportServer.config.

  2. Créez un dossier BIN sous le dossier ReportBuilder. Par défaut, ce dossier se trouve dans \Program Files\Microsoft SQL Server\MSRS12. MSSQLSERVER\Reporting Services\ReportServer\ReportBuilder.

  3. Copiez les assemblys suivants du dossier ReportServer\Bin dans le dossier ReportBuilder\BIN :

    Microsoft.ReportingServices.Diagnostics.dll

    Microsoft.ReportingServices.Interfaces.dll

    ReportingServicesAppDomainManager.dll

    RSHttpRuntime.dll

  4. Si vous le souhaitez, créez un fichier Web.config pour traiter les demandes du Générateur de rapports sous un compte anonyme :

    <?xml version="1.0" encoding="utf-8" ?>  
    <configuration>  
    <system.web>  
    <authentication mode="Windows" />    
    <identity impersonate="true " userName="username" password="password"/>  
    </system.web>  
    </configuration>  
    

    Le mode d’authentification doit être défini Windows si vous incluez un fichier Web.config.

    Identity impersonate peut avoir la valeur True ou False.

    • Définissez-le False si vous ne souhaitez pas ASP.NET lire le jeton de sécurité. La demande s’exécute dans le contexte de sécurité du service Report Server.

    • Définissez-le à True si vous souhaitez que ASP.NET lise le jeton de sécurité à partir de la couche hôte. Si vous le définissez True, vous devez également spécifier userName et password désigner un compte anonyme. Les informations d’identification que vous spécifiez déterminent le contexte de sécurité sous lequel la demande est émise.

  5. Enregistrez le fichier Web.config dans le dossier ReportBuilder\bin.

  6. Ouvrez RSReportServer.config fichier, dans la section Services, recherchez IsReportManagerEnabled et ajoutez le paramètre suivant ci-dessous :

    <IsReportBuilderAnonymousAccessEnabled>True</IsReportBuilderAnonymousAccessEnabled>  
    
  7. Enregistrez RSReportServer.config et fermez le fichier.

  8. Redémarrez le serveur de rapports.

Voir aussi

Domaines d’application pour les applications du serveur de rapports
Sécurité et protection de Reporting Services