Délégation d’identité pour SQL Server Reporting Services (SharePoint Server 2010)

 

S’applique à : SharePoint Server 2010

Dernière rubrique modifiée : 2016-11-30

Dans ce scénario, vous configurez une paire de serveurs SSRS (SQL Server Reporting Services) à charge équilibrée dans une configuration avec montée en puissance parallèle s’exécutant en mode intégré SharePoint. Les serveurs sont configurés pour accepter l’authentification Kerberos et délèguent l’authentification à un cluster SQL Server principal.

Dans ce scénario, la batterie de serveurs SharePoint Server et la source de données Reporting Services appartiennent au même domaine ; par conséquent, dans ce scénario, nous configurons la délégation Kerberos contrainte de manière à autoriser la délégation d’identité à la source de données principale. Si vous devez vous authentifier auprès de sources de données dans d’autres domaines de la même forêt, vous devez configurer la délégation Kerberos de base (non contrainte). Étant donné que Reporting Services ne repose pas sur le service d’émission de jetons Revendications vers Windows, il peut utiliser la délégation de base.

Notes

Si vous effectuez l’installation sur Windows Server 2008, vous pouvez être amené à installer le correctif logiciel suivant pour l’authentification Kerberos :
L’authentification Kerberos échoue avec le code d’erreur 0X80090302 ou 0x8009030f sur un ordinateur qui exécute Windows Server 2008 ou Windows Vista lorsque l’algorithme AES est utilisé. (https://support.microsoft.com/kb/969083/fr)

Dépendances des scénarios

Liste de vérification de la configuration

Domaine de configuration Description

Active Directory

Créer un compte de service SSRS

Configurer la délégation Kerberos contrainte

SQL Server Reporting Services

Installer et configurer SSRS en mode montée en puissance parallèle à charge équilibrée

Modifier Web.Config

Modifier ReportingServer.config

Configurer SharePoint Server

Configurer l’intégration de Reporting Services

Ajouter un serveur de rapports à l’intégration

Définir les valeurs par défaut du serveur

Vérifier la configuration

Créer une bibliothèque de documents pour les rapports

Configurer les paramètres des collections de sites pour Reporting Services

Créer et publier un rapport de test dans SQL Server Business Intelligence Development Studio

Afficher le rapport de test dans Internet Explorer

Détails de l’environnement du scénario

Diagramme de l’environnement de scénario

Dans ce scénario, les comptes de service du pool d’applications des services Internet (IIS) sont configurés pour une délégation au service SSRS (SQL Server Reporting Services). Le compte de service SSRS est configuré pour déléguer les informations d’identification au service SQL Server. Notez que SQL Server Reporting Services en mode intégré SharePoint ne repose pas sur l’authentification par revendications intra-batterie de serveurs et requiert l’authentification Kerberos pour l’authentification déléguée. Pour plus d’informations, voir Authentification par revendications et Reporting Services.

Délégation Kerberos entre domaines

Dans cet exemple, la source de données à laquelle SSRS se connecte réside dans le même domaine que les serveurs SSRS. Dans certaines situations, vous pouvez être amené à accéder à des sources de données se trouvant en dehors du domaine dans lequel réside SSRS. Pour vous authentifier avec une délégation entre domaines, vous devez configurer la délégation de base (non contrainte) sur le compte de service SSRS. Cela est en effet possible puisque le service SSRS ne repose pas sur le service d’émission de jetons Revendications vers Windows et qu’il n’a donc pas besoin d’une transition de protocole via la délégation Kerberos contrainte. En outre, notez que la délégation inter-forêts n’est pas possible, même avec la délégation de base.

Instructions de configuration pas à pas

Configurer DNS

Configurez DNS pour le groupe de serveurs avec équilibrage de la charge réseau SSRS dans votre environnement. Cet exemple compte deux serveurs SSRS (VMSSRS01 et VMSSRS02) dont la charge est équilibrée et qui sont associés à la même adresse IP virtuelle d’équilibrage de la charge réseau (192.168.24.180/24). L’adresse IP virtuelle sera mappée sur l’hôte FarmReports et aura l’URL http://FarmReports.

Pour des informations générales sur la configuration de DNS, voir Gestion des enregistrements DNS (éventuellement en anglais).

Configurez un nouvel enregistrement DNS A pour l’hôte SSRS. Dans cet exemple, un hôte FarmReports est configuré de manière à correspondre à l’adresse IP virtuelle à charge équilibrée.

Service d’annuaire Active Directory

Créer un compte de service SSRS

En guise de meilleure pratique, SQL Server Reporting Services doit s’exécuter sous sa propre identité de domaine. Dans cet exemple, les comptes suivants ont été créés :

Service Identité de service

SQL Server Reporting Services

vmlab\svcSQLRS

Configurer les noms principaux de service

Pour que SSRS se connecte à des sources de données externes et qu’il s’authentifie auprès de celles-ci à l’aide de l’authentification Kerberos, il est nécessaire que des noms principaux de service soient configurés pour les comptes de service Web Report Server et Gestionnaire de rapports, ainsi que pour le compte de service de la source de données externe. Reportez-vous aux scénarios 1 et 2 (Configuration principale et Authentification Kerberos pour SQL OLTP) dans cette série d’articles pour configurer et valider les noms principaux de service nécessaires sur les applications Web SharePoint Server et les comptes de service SQL Server. Pour les serveurs SSRS, les noms principaux de service suivants ont été définis :

Hôte DNS Identité du pool d’applications IIS Noms principaux de service

FarmReports.vmlab.local

vmlab\svcSQLRS

HTTP/FarmReports

HTTP/ FarmReports.vmlab.local

Dans cet exemple, les commandes suivantes ont été exécutées :

SetSPN -S HTTP/FarmReports vmlab\svcSQLRS

SetSPN -S HTTP/FarmReports.vmlab.local vmlab\svcSQLRS

Configurer la délégation

La délégation Kerberos doit être configurée pour que SSRS délègue l’identité du client à la source de données principale. Dans cet exemple, étant donné que SSRS interroge des données d’une base de données transactionnelle SQL Server à l’aide de l’identité du client, la délégation Kerberos est requise. La délégation Kerberos contrainte n’est pas une exigence dans ce scénario (car la transition de protocole n’est pas nécessaire), mais elle est configurée en guise de meilleure pratique.

Le compte de service SSRS qui exécute les services SSRS doit être approuvé pour la délégation des informations d’identification à chaque service principal. Dans notre exemple, les chemins de délégation suivants sont requis :

Type de principal Nom de principal Délègue au service

Utilisateur

Vmlab\svcPortal10App

HTTP/FarmReports

HTTP/FarmReports.vmlab.local

Utilisateur

Vmlab\svcSQLRS

MSSQLSVC/MySqlCluster.vmlab.local:1433

Le cas échéant, si vous souhaitez créer des rapports à partir de données Analysis Services, configurez les chemins de délégation suivants :

Type de principal Nom de principal Délègue au service

Utilisateur

Vmlab\svcSQLRS

MSOLAPSvc.3/MySqlCluster.vmlab.local

Pour configurer la délégation contrainte

  1. Ouvrez les propriétés de l’objet Active Directory dans Utilisateurs et ordinateurs Active Directory.

  2. Accédez à l’onglet Délégation.

  3. Sélectionnez N’approuver cet utilisateur que pour la délégation aux services spécifiés.

    Notes

    Pour le compte de service SSRS, si vous devez vous authentifier auprès de sources de données appartenant à la même forêt, mais situées en dehors du domaine dans lequel réside le serveur SSRS, configurez la délégation de base au lieu de la délégation contrainte. Pour ce faire, vous pouvez sélectionner Approuver cet ordinateur pour la délégation à tous les services. Gardez à l’esprit que la délégation Kerberos inter-forêts est impossible.

  4. Éventuellement, sélectionnez Utiliser tout protocole d’authentification. Cela active la transition de protocole.

  5. Cliquez sur le bouton Ajouter pour sélectionner le principal de service qui peut être le bénéficiaire de la délégation.

  6. Sélectionnez Utilisateurs et ordinateurs.

  7. Sélectionnez le compte de service qui exécute le service bénéficiaire de la délégation. Dans cet exemple, il s’agit du compte de service de SQL Server Reporting Service.

    Notes

    Un nom principal de service doit être appliqué au compte de service sélectionné. Dans notre exemple, le nom principal de service pour ce compte (HTTP/FarmReports.vmlab.local) a été configuré précédemment dans le scénario.

  8. Cliquez sur OK. Dans la page suivante, vous êtes ensuite invité à sélectionner les noms principaux de service bénéficiaires de la délégation.

  9. Sélectionnez le service ou Sélectionner tout, puis cliquez sur OK.

    À présent, les noms principaux de service sélectionnés doivent apparaître dans la liste Ce compte peut présenter des informations d’identification déléguées à ces services :

  10. Répétez ces étapes pour chaque chemin de délégation identifié précédemment dans cette section. Vous devez configurer la délégation depuis le compte de service SQL Server Reporting Services vers une ou plusieurs sources de données principales (SQL OLTP ou SQL AS dans nos scénarios).

    Notes

    Pour le compte de service SSRS, si vous devez vous authentifier auprès de sources de données appartenant à la même forêt, mais situées en dehors du domaine dans lequel réside le serveur SSRS, configurez la délégation de base au lieu de la délégation contrainte. Pour ce faire, sélectionnez Approuver cet ordinateur pour la délégation à tous les services. Gardez à l’esprit que la délégation Kerberos inter-forêts est impossible.

Vérifier le nom principal de service MSSQLSVC pour le compte de service qui exécute le service sur SQL Server (opération réalisée dans le scénario 2)

Vérifiez que le nom principal de service pour le compte de service Analysis Services (vmlab\svcSQL) existe à l’aide de la commande SetSPN suivante :

SetSPN -L vmlab\svcSQL

Vous devez obtenir les informations suivantes :

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

Vérifier le nom principal de service MSOLAPSvc.3 pour le compte de service qui exécute le service SSAS sur le serveur SQL Server Analysis Services (opération réalisée dans le scénario 3)

Vérifiez que le nom principal de service pour le compte de service SQL Server (vmlab\svcSQLAS) existe à l’aide de la commande SetSPN suivante :

SetSPN -L vmlab\svcSQLAS

Vous devez obtenir les informations suivantes :

MSOLAPSvc.3/MySqlCluster MSOLAPSvc.3/MySqlCluster.vmlab.local

SQL Server Reporting Services

Installer SharePoint Server 2010

SQL Server Reporting Services ne peut s’exécuter en mode intégré SharePoint que si SharePoint Server 2010 est installé sur chaque serveur SSRS. Installez SharePoint Server 2010 sur chaque serveur de rapports et intégrez chaque serveur à la batterie de serveurs SharePoint Server.

Installer et configurer SSRS en mode montée en puissance parallèle à charge équilibrée

Ce document n’a pas pour vocation de fournir des instructions pas à pas détaillées sur la configuration de SQL Server Reporting Services dans un environnement à charge équilibrée avec montée en puissance parallèle. Pour des instructions détaillées sur l’installation de SSRS, voir Topologies de déploiement pour Reporting Services en mode intégré SharePoint. Une fois que SSRS est installé, veillez à accomplir les étapes de configuration de SSRS supplémentaires indiquées ci-après pour terminer l’installation.

Modifier Web.config sur les serveurs SSRS

Les modifications suivantes doivent être apportées aux fichiers web.config sur chaque serveur SSRS. Le fichier web.config se trouve dans le répertoire Program Files où SSRS est installé :

Ajouter l’élément <machineKey>

Dans une configuration à charge équilibrée, la même clé d’ordinateur doit être définie pour tous les serveurs SSRS. L’élément de clé d’ordinateur doit être ajouté en tant qu’enfant de l’élément <system.web> dans web.config. Voici un exemple de clé d’ordinateur :

<machineKey
validationKey="54AEBD3BC893726E9B84D30F4970CB58F2086C2DAEE2F8D34A65A0632F4676DDBBC38779F2972C6596931E
13BD07A772BD4B9395BE38A43E461079E45D594E53"
decryptionKey=""
validation="SHA1"
decryption="AES"
/>

Important

N’UTILISEZ PAS L’EXEMPLE DE CLÉ D’ORDINATEUR DANS NOTRE ENVIRONNEMENT. Générez vos propres valeurs de clé pour votre environnement.

Modifier ReportingServer.config

Les modifications suivantes doivent être apportées aux fichiers ReportingServer.config sur chaque serveur SSRS. Le fichier ReportingServer.config se trouve dans le répertoire Program Files où SSRS est installé :

Activer l’authentification Kerberos

Pour activer l’authentification Kerberos, définissez le type d’authentification sur « RSWindowsNegotiate ». Modifiez l’élément <AuthenticationTypes/> et ajoutez <RSWindowsNegotiate/>:

<AuthenticationTypes>
    <RSWindowsNegotiate/>
</AuthenticationTypes>

Modifier la racine de l’URL

Ajoutez l’URL du serveur de rapports à la balise <UrlRoot> qui se trouve dans la balise <service> de ReportingServer.Config.

<UrlRoot>http://FarmReports/reportserver</UrlRoot>

Configurer BackConnectionHostNames dans le Registre

Pour que les composants SQL Server Reporting Services puissent s’authentifier mutuellement sur un ordinateur spécifique, il est nécessaire que la détection du bouclage NTLM soit traitée. Au lieu de désactiver la détection du bouclage, une meilleure pratique consiste à configurer la valeur BackConnectionHostNames dans le Registre de chaque serveur SSRS. Pour plus d’informations sur BackConnectionHostNames, voir Vous recevez un message d’erreur lorsque vous utilisez SQL Server 2008 Reporting Services (éventuellement en anglais).

Dans notre exemple, nous configurons les valeurs suivantes pour BackConnectionHostNames :

  • FarmReports

  • FarmReports.vmlab.local

Une fois les valeurs BackConnectionHostNames définies, redémarrez le serveur SSRS.

Configurer SharePoint Server

Dans l’Administration centrale se trouvent les options de configuration de batterie de serveurs pour SSRS. Notez que dans SharePoint Server 2010 vous n’avez pas besoin d’installer un composant SSRS distinct pour les composants WebPart et l’administration de SSRS. Pour accéder aux options de batterie de serveurs SSRS, accédez à l’Administration centrale, puis recherchez Reporting Services dans la section Paramètres généraux de l’application.

Accorder les autorisations de compte de service Reporting Services sur la base de données de contenu de l’application Web

Lors de la configuration de SQL Server Reporting Services en mode intégré SharePoint, il est nécessaire d’autoriser le compte de service Reporting Services à accéder aux bases de données de contenu des applications Web qui hébergent des rapports. Dans cet exemple, nous accordons au compte Reporting Services l’accès à la base de données de contenu de l’application Web « portal » à l’aide de Windows PowerShell.

Exécutez la commande suivante depuis SharePoint 2010 Management Shell :

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcSQLRS")

Configurer l’intégration de Reporting Services

Dans la boîte de dialogue Intégration de Reporting Services, spécifiez l’URL à charge équilibrée du serveur de rapports. En outre, sélectionnez l’option Activer la fonctionnalité dans toutes les collections de sites existantes pour activer automatiquement la fonctionnalité Reporting Services dans vos collections de sites.

Ajouter chaque serveur de rapports à l’intégration

Dans la boîte de dialogue Ajouter un serveur de rapports à l’intégration, spécifiez chacun des nœuds du groupe Reporting Services avec équilibrage de la charge réseau. Vous devez ouvrir cette boîte de dialogue pour chaque serveur que vous ajoutez à l’intégration ; il est impossible d’ajouter plusieurs serveurs en une seule opération.

Définir les valeurs par défaut du serveur

À ce stade, l’intégration de SSRS doit normalement être configurée. Pour valider la configuration, ouvrez la page Paramètres par défaut serveur. Aucune modification n’est requise pour l’exemple fourni dans ce document.

Vérifier la configuration

Créer une bibliothèque de documents pour les rapports

Créez une bibliothèque de documents destinée à héberger les rapports SSRS dans votre site SharePoint. Dans cet exemple, nous supposons qu’il existe une bibliothèque de documents appelée « reports » à l’adresse http://portal/reports.

Valider les paramètres des collections de sites pour Reporting Services

Dans le navigateur, accédez aux paramètres du site qui héberge la bibliothèque de documents pour les rapports SSRS. Dans Paramètres du site doit apparaître une nouvelle catégorie appelée Reporting Services.

Si la fonctionnalité Reporting Services n’apparaît pas dans la liste des fonctionnalités des collections de sites, vous devrez peut-être l’activer à partir de l’Administration centrale. Pour plus d’informations, voir Procédure : activer la fonctionnalité de serveur de rapports dans l’Administration centrale de SharePoint (https://go.microsoft.com/fwlink/?linkid=196878&clcid=0x40C).

Cliquez sur le lien des paramètres de site Reporting Services pour que les paramètres soient accessibles.

Notes

Aucune modification des paramètres de site Reporting Services n’est requise pour cette démonstration.

Créer et publier un rapport de test dans SQL Server Business Intelligence Development Studio

Après avoir configuré SSRS et l’intégration à SharePoint Server, vous créez un rapport de test pour vérifier que la délégation d’identité fonctionne correctement.

  1. Ouvrez SQL Server Business Intelligence Development Studio. Cliquez sur Fichier, pointez sur Nouveau, puis cliquez sur Projet.

  2. Sélectionnez Assistant Projet Report Server, puis entrez un nom de projet.

  3. Ensuite, configurez une nouvelle source de données. Choisissez le type Microsoft SQL Server, puis cliquez sur le bouton Modifier.

  4. Dans Propriétés de connexion, entrez les informations permettant de se connecter au cluster SQL Server de démonstration créé dans le scénario 2.

  5. Ouvrez le concepteur de requêtes, cliquez avec le bouton droit sur la fenêtre de requête et sélectionnez Ajouter une table.

  6. Choisissez la table Sales (créée dans le scénario 2), puis sélectionnez Toutes les colonnes.

  7. Sélectionnez un type de rapport tabulaire.

  8. Dans notre exemple, nous effectuons un regroupement par région ; vous pouvez ignorer cette étape si vous le souhaitez.

  9. Une fois le projet créé, ouvrez les propriétés du projet dans le menu Projet.

  10. Configurez les propriétés de projet suivantes :

    1. TargetDatasetFolder : définie sur le dossier de rapport de test créé précédemment

    2. TargetReportFolder : définie sur le dossier de rapport de test créé précédemment

    3. TargetReportPartFolder : définie sur le dossier de rapport de test créé précédemment

    4. TargetServerURL : définie sur l’URL de l’application Web qui héberge le rapport

  11. Déployez le rapport dans la bibliothèque SharePoint. Dans le menu Créer, sélectionnez Déployer <nom du projet>.

  12. Si l’opération est couronnée de succès, un message indiquant que le déploiement a réussi apparaît dans la fenêtre Sortie.

Afficher le rapport de test dans Internet Explorer

Dans le navigateur, ouvrez la bibliothèque de documents de rapport créée au cours des étapes antérieures de ce scénario. Le fichier de rapport que vous venez de publier doit normalement apparaître. Si ce n’est pas le cas, vous devrez peut-être activer les fonctionnalités Reporting Services dans votre collection de sites. Pour plus d’informations, voir Procédure : activer la fonctionnalité de serveur de rapports dans l’Administration centrale de SharePoint (https://go.microsoft.com/fwlink/?linkid=196878&clcid=0x40C).

Cliquez sur le rapport afin qu’il s’affiche dans le navigateur.

Pour vérifier la délégation et la connexion de données, modifiez les données sources dans SQL Server Management Studio et actualisez la connexion de données du rapport SSRS dans le navigateur. Les modifications apportées aux données doivent être reflétées dans le rapport.

Configuration de SSL pour Reporting Services

Dans certains environnements, il peut être nécessaire de protéger les communications entre les serveurs Web frontaux et les serveurs SSRS avec SSL. Une présentation détaillée de la procédure à suivre pour configurer SSL pour Reporting Services n’entre pas dans le cadre de ce document, mais, en résumé, voici les étapes à suivre :

  1. Configurez chaque serveur de rapports pour SSL. Voir Configuration d’un serveur de rapports pour des connexions SSL (Secure Sockets Layer) (https://go.microsoft.com/fwlink/?linkid=196881&clcid=0x40C).

  2. Mettez à jour ReportingServer.config. définissez <UrlRoot> sur la nouvelle URL https://.

  3. Redémarrez le service SQL Server Reporting Services.

  4. Dans l’Administration centrale, modifiez les paramètres d’intégration de Reporting Services et définissez l’URL du service Web Report Server sur la nouvelle URL https://.

  5. Redémarrez les services Internet (IIS) sur chaque instance de SharePoint Server qui exécute le service d’application Web.

Vous n’avez pas besoin de modifier les noms principaux de service créés lors de la configuration de Reporting Services avec HTTP au cours des étapes antérieures. Le nom principal de service pour un service HTTP via SSL demeure HTTP/<service>. Pour vous en assurer, à l’aide de NetMon, vous pouvez afficher le serveur Web frontal qui communique avec le serveur Reporting Services.