Planification d'un déploiement extranet ou Internet
Bien que SQL ServerReporting Services ne soit pas expressément conçu pour des scénarios de déploiement de rapports extranet ou Internet, vous pouvez placer Reporting Services sur un serveur Web orienté Internet pour distribuer des informations d'ordre général au grand public ou des données institutionnelles privées à des utilisateurs autorisés et authentifiés.
[!REMARQUE]
Le déploiement de Reporting Services sur un serveur Web orienté Internet nécessite une évaluation rigoureuse. Les logiciels réseau et de sécurité, la topologie du réseau et la configuration des domaines peuvent introduire des variables qui compliquent la détermination du nombre exact d'étapes nécessaires au déploiement du serveur de rapports. Lors de l'évaluation d'un serveur de rapports pour l'accès à Internet, vérifiez que vos scénarios de test englobent l'ensemble des fonctionnalités que vous envisagez d'utiliser et que vous utilisez toujours des connexions sécurisées pour effectuer vos tests.
Diagramme d'une architecture extranet ou Internet
L'illustration suivante donne un exemple de la configuration recommandée pour un déploiement extranet ou Internet.
Les points clés du diagramme sont les suivants :
Trois pare-feu fournissent une défense en profondeur tout au long du déploiement. Les recommandations relatives à la configuration des pare-feu sont contenues dans cette rubrique.
Le point d'entrée est une application Internet personnalisée qui contient le contrôle ReportViewer. Le contrôle héberge un rapport qui s'exécute sur un serveur de rapports derrière le deuxième pare-feu.
Les rapports utilisent des données à partir de sources de données en lecture seule qui sont créées spécifiquement à des fins de création de rapports. Les sources de données contiennent des données qui sont copiées à partir d'autres sources, mais elles ne comportent pas de valeurs de données sensibles que vous n'utiliseriez jamais dans un rapport.
Les serveurs de données d'entreprise contiennent des données sensibles que vous protégez avec des autorisations strictes et des paramètres de pare-feu restrictifs. Vous pouvez également envisager de mettre la base de données du serveur de rapports dans cette zone de sécurité afin que tous les serveurs de base de données qui requièrent un accès en lecture seule puissent utiliser la protection fournie par le troisième pare-feu.
Règles générales
La liste suivante fournit des indications générales pour déployer Reporting Services dans la topologie mentionnée dans cette rubrique. Cette liste est proposée comme point de départ pour planifier votre propre plan de déploiement. Pour définir la configuration spécifique de votre topologie de réseau, vous devrez probablement effectuer des tâches supplémentaires qui ne sont pas décrites dans cette liste.
Il est important que vous déployiez la configuration dans un environnement de test pour confirmer que vous maîtrisez les impératifs, les paramètres, les étapes et le meilleur ordre possible pour ces étapes :
Installez les pare-feu et identifiez les serveurs, les comptes et les autorisations.
Créez ou obtenez des certificats de serveur pour les connexions SSL. Installez des certificats sur tous les ordinateurs qui hébergent des composants serveur. Si vous avez installé les certificats avec des paramètres génériques, vous pouvez utiliser le même certificat pour plusieurs URL.
Concevez et implémentez une approche pour copier des données d'entreprise dans des sources de données de création de rapports distinctes. Vous pouvez utiliser des technologies telles que la réplication, SQL ServerIntegration Services ou un produit tiers.
Installez Reporting Services en mode d'installation « fichiers uniquement » pour que vous puissiez le configurer avec des paramètres qui sont valides pour un accès externe. Dans l'Assistant Installation SQL Server, il s'agit de l'option Installer mais ne pas configurer le serveur.
Exécutez l'outil de configuration de Reporting Services une fois l'installation terminée pour configurer le serveur de rapports :
Vérifiez que le service s'exécute sous un compte doté de privilèges minimaux. Évitez d'utiliser le compte Système local. Si vous avez sélectionné Système local, modifiez le compte pour qu'il utilise NetworkService ou un compte d'utilisateur de domaine.
Définissez une URL de serveur de rapports et éventuellement une URL du Gestionnaire de rapports :
Vous devez créer plusieurs URL pour prendre en charge l'accès par l'intermédiaire d'un nom de domaine complet qui sera utilisé par les utilisateurs externes, ainsi qu'une autre URL qui utilise le nom du réseau. L'utilisation de deux URL différentes vous permet de vous connecter au serveur de rapports si votre connexion Internet est désactivée ou hors connexion.
Vous devez sélectionner des certificats SSL pour les URL de nom de domaine complet que vous définissez.
Créez la base de données du serveur de rapports. Si l'instance de SQL Server se trouve dans un autre domaine et que l'authentification Kerberos 5.0 n'est pas activée, utilisez l'authentification SQL Server pour la connexion à la base de données du serveur de rapports. Sécurisez la connexion entre le serveur de rapports et l'instance de SQL ServerMoteur de base de données à l'aide du protocole SSL ou IPSec.
Créez et déployez une extension d'authentification personnalisée. Si vous utilisez une technologie d'authentification unique implémentée sous la forme d'un filtre ISAPI, vous devez utiliser ISA Server pour prendre en charge le filtre ISAPI. L'écouteur HTTP dans Reporting Services ne prend pas en charge les filtres ISAPI.
Configurez des attributions de rôles qui utilisent les principes de sécurité de l'extension d'authentification personnalisée et mappez-les aux rôles qui acheminent des autorisations aux opérations du serveur de rapports.
Créez et déployez une application frontale Internet qui utilise le contrôle serveur Web ReportViewer.
Publiez des rapports et d'autres types de contenu sur le serveur de rapports.
Configurez les paramètres du pare-feu. Vérifiez que les paramètres du pare-feu autorisent un accès minimal aux ordinateurs et aux applications en aval.
Configurations de pare-feu
Les URL par défaut pour les applications du serveur de rapports supposent que le port 80 est activé et accessible au serveur de rapports. Si vous utilisez le Pare-feu Windows, vous devez ouvrir le port 80 ou un autre port qui est disponible pour les requêtes HTTP du serveur de rapports. Si vous utilisez un port différent, assurez-vous de le spécifier dans les URL du serveur de rapports. Pour plus d'informations, consultez Procédure : configurer un pare-feu pour accéder à Report Server. Pour plus d'informations sur les paramètres par défaut du pare-feu Windows et pour obtenir une description des ports TCP qui affectent le moteur de base de données, Analysis Services, Reporting Services et Integration Services, consultez Configuration du Pare-feu Windows pour autoriser l'accès à SQL Server.
Contrôle serveur Web ReportViewer dans une application Internet
Pour déployer des rapports dans une application Internet, vous pouvez incorporer le contrôle de serveur Web ReportViewer dans une application Internet personnalisée que vous créez et déployez. Le contrôle serveur Web ReportViewer est compris dans Visual Studio 2005 et versions ultérieures, et peut être distribué gratuitement avec votre application. Vous pouvez configurer le contrôle pour qu'il affiche des rapports qui s'exécutent sur un serveur de rapports. La connexion entre votre application et le serveur de rapports est gérée par le contrôle, via l'interface de programmation du service Web. Les authentifications et les autorisations sont gérées par l'application qui se connecte au serveur de rapports par le biais d'une connexion unique non approuvée.
Pour plus d'informations, consultez Contrôles Reporting Services et ReportViewer dans Visual Studio.
Configuration du Gestionnaire de rapports en tant qu'application Web frontale Internet ou extranet
Le Gestionnaire de rapports n'a pas été conçu comme une application Internet, mais si vous ne pouvez pas créer d'application Internet personnalisée, vous pouvez utiliser le Gestionnaire de rapports pour consulter des rapports sur une connexion Internet. Les suggestions suivantes constituent des recommandations en matière de déploiement :
Songez à installer le Gestionnaire de rapports en tant qu'instance séparée sur un serveur d'applications. Le Gestionnaire de rapports s'exécute dans le service Report Server. Par conséquent, pour installer le Gestionnaire de rapports, vous devez installer Reporting Services puis désactiver le service Web et les fonctionnalités de planification et de remise dans le service. Pour obtenir les meilleurs résultats possibles, installez Reporting Services sur un serveur Web orienté Internet à l'aide du mode d'installation « Fichiers uniquement ». Dans l'Assistant Installation SQL Server, il s'agit de l'option Installer mais ne pas configurer le serveur.
Créez et déployez une extension de sécurité personnalisée pour prendre en charge l'authentification par formulaires ou une technologie d'authentification unique.
Configurez le Gestionnaire de rapports avec des autorisations minimales. Les rôles Navigateur et Utilisateur système sont suffisants pour consulter des rapports.
Pour pointer le Gestionnaire de rapports sur une instance de serveur de rapports différente qui s'exécute sur un ordinateur séparé, vous devez configurer l'URL du Gestionnaire de rapports, puis modifier les paramètres <ReportServerVirtualDirectory> et <ReportServerUrl> dans le fichier RSReportServer.config pour pointer le Gestionnaire de rapports vers l'instance de serveur de rapports.
Sur le serveur de rapports auquel vous vous connectez, désactivez les fonctionnalités dont vous ne vous servirez pas (par exemple Mes rapports, l'abonnement et la remise, Générateur de rapports et impression côté client).
Configuration des paramètres proxy dans des fichiers Web.config
Si vous utilisez le Gestionnaire de rapports en tant qu'application frontale pour le déploiement Internet et que le serveur de rapports est lui aussi installé sur le même ordinateur, vous devez spécifier un paramètre Web.config qui permet au Gestionnaire de rapports de contourner le serveur proxy lors de l'envoi de demandes à un serveur de rapports local installé sur le même ordinateur.
Le paramètre Web.config est le paramètre réseau System.NET defaultProxy. Par défaut, defaultProxy est désactivé dans le fichier Web.config pour le Gestionnaire de rapports. Cette configuration est recommandée lorsque le Gestionnaire de rapports et le serveur de rapports sont déployés sur le même ordinateur.
Si vous avez effectué une mise à niveau à partir d'une version antérieure de Reporting Services, le fichier Web.config du Gestionnaire de rapports n'inclut pas le paramètre de configuration defaultProxy. Vous pouvez ajouter le paramètre defaultProxy et le définir pour contourner le serveur proxy pour des installations dans lesquelles le Gestionnaire de rapports et le serveur de rapports sont exécutés sur le même ordinateur. Copiez les paramètres de configuration suivants dans le fichier Web.config du Gestionnaire de rapports :
<configuration>
...
<system.net>
<defaultProxy enabled="false" />
</system.net>
</configuration>
Pour plus d'informations sur ces paramètres, consultez les rubriques « Configuration des applications Internet » et « defaultProxy, élément (paramètres réseau) » dans le Guide du développeur Microsoft.NET Framework.
Considérations relatives à l'authentification pour le déploiement extranet et Internet
Pour déployer un serveur de rapports dans un scénario extranet qui prend en charge les connexions depuis les comptes Microsoft Active Directory prédéfinis, vous pouvez utiliser l'extension de sécurité Authentification Windows par défaut. Prévoyez de configurer le serveur avec des connexions SSL et une authentification de base. Vous pouvez utiliser l'outil de configuration de Reporting Services pour mapper un certificat existant à une URL de serveur de rapports. Vous pouvez modifier les fichiers de configuration pour spécifier le type d'authentification.
Pour déployer un serveur de rapports dans un scénario extranet, qui prend en charge les connexions depuis une technologie de connexion unique ou un modèle d'authentification par formulaires, qui stocke des informations d'identité utilisateur dans une base de données, vous devez créer une extension d'authentification personnalisée pour remplacer l'extension de sécurité Authentification Windows par défaut. Une authentification par formulaires est généralement utilisée lorsque vous ouvrez un serveur de rapports au public mais aussi lorsque vous souhaitez uniquement autoriser la consultation du contenu aux utilisateurs authentifiés. Par défaut, SQL ServerReporting Services ne fournit pas de module d'authentification basé sur des formulaires. Pour plus d'informations sur la façon d'en créer un, consultez Implémentation d'une extension de sécurité dans la documentation en ligne de SQL Server.
Vérification du déploiement Internet
Pour vérifier l'accessibilité de la connexion de votre serveur de rapports, vous devez être capable de consulter l'espace de noms du dossier du serveur de rapports sur une connexion Internet en tapant http : (ou https :)//<your-web-server-fully-qualified-domain-name>/reportserver, où /reportserver est le nom par défaut du répertoire virtuel du serveur de rapports.