Vue d'ensemble de la sécurité pour Reporting Services en mode intégré SharePoint

Lorsque vous configurez un serveur de rapports pour qu'il s'exécute en mode intégré SharePoint, le serveur de rapports utilise le fournisseur d'authentification et les autorisations définis dans l'application Web SharePoint pour contrôler l'accès aux éléments et opérations du serveur de rapports.

L'autorisation d'accès à des éléments et des opérations est accordée par le biais de stratégies de sécurité SharePoint qui mappent un compte d'utilisateur ou de groupe sur un niveau d'autorisation pour un élément. Conceptuellement, cela est identique à la manière dont les attributions de rôle sont utilisées dans un déploiement de serveur de rapports en mode natif, où une attribution de rôle mappe un compte d'utilisateur ou de groupe sur un ensemble de tâches autorisées pour un élément. D'une manière commune à la plupart des modèles d'autorisation utilisant des rôles, la sécurité SharePoint prend en charge l'héritage des autorisations pour réduire la complexité et la charge liées à l'entretien d'un grand nombre de stratégies.

Si vous déployez des types de contenu de serveur de rapports sur un site SharePoint, vous devez connaître les éléments suivants :

Avant de pouvoir définir des autorisations, vous devez configurer chaque serveur pour l'intégration. Pour plus d'informations, consultez Configuration de Reporting Services pour l'intégration de SharePoint 3.0.

Fournisseurs d'authentification dans les technologies SharePoint

Une application Web SharePoint peut utiliser l'authentification Windows ou l'authentification par formulaires. Un serveur de rapports traite les demandes provenant de ces deux types d'authentification. Vous pouvez configurer l'authentification avec les associations suivantes :

  • authentification Windows avec sécurité intégrée (Kerberos est activé) ;

  • authentification Windows sans emprunt d'identité ni délégation ;

  • authentification par formulaires.

[!REMARQUE]

Les produits et technologies Reporting Services et SharePoint prennent en charge l'authentification par formulaires. L'implémentation est différente pour chaque groupe de produits et les différents groupes ne sont pas compatibles. Les extensions d'authentification personnalisée Reporting Services ne sont pas prises en charge pour les serveurs de rapports qui s'exécutent en mode d'intégration SharePoint.

Le tableau suivant résume les avantages et les inconvénients de chaque fournisseur d'authentification :

Avantages

Inconvénients

Authentification Windows (avec l'authentification Kerberos activée)

Fonctionne dans les scénarios de déploiement à serveur unique et multiserveurs.

Prend en charge l'utilisation des informations d'identification intégrées de Windows pour les sources de données externes.

Ne fonctionne pas avec l'authentification NTLM dans les déploiements multiserveurs.

Authentification Windows (sans l'authentification Kerberos activée) ou authentification par formulaires

Fonctionne avec les scénarios d'authentification Kerberos et non Kerberos.

Ne prend pas en charge l'utilisation des informations d'identification intégrées de Windows pour les sources de données externes.

Envoi de demandes à un serveur de rapports

Toutes les demandes concernant un élément ou une opération de serveur de rapports doivent être des demandes authentifiées valides. Le fournisseur d'authentification que vous utilisez détermine la manière dont cette demande est traitée.

Sécurité intégrée de Windows

Si l'application Web SharePoint est configurée pour l'authentification Windows et que l'authentification Kerberos est activée, la connexion entre l'application Web SharePoint et le serveur de rapports s'effectue par le biais des informations d'identification déléguées ou de l'identité empruntée de l'utilisateur Windows en cours. Le diagramme ci-dessous montre les connexions lorsqu'un serveur de rapports est configuré pour l'intégration SharePoint et que l'application Web SharePoint utilise l'authentification Windows avec l'option Kerberos activée.

Connexions en mode intégré SharePoint

  • Connexion 1
    Un utilisateur accède à un site SharePoint au moyen du jeton utilisateur créé lorsque l'utilisateur a ouvert une session sur le réseau. Ce jeton contient l'identité et l'appartenance aux groupes de l'utilisateur. L'application Web SharePoint authentifie l'utilisateur. L'utilisateur demande un élément ou une opération du serveur de rapports.

  • Connexion 2
    L'application Web SharePoint envoie le jeton et la demande au serveur de rapports. La demande de connexion est envoyée sous l'identité Windows de l'utilisateur. Le serveur de rapports valide le fait que l'utilisateur dispose ou non de l'autorisation d'accès au serveur de rapports.

  • Connexion 3
    Si la validation est réussie, le serveur de rapports vérifie que l'utilisateur dispose de l'autorisation d'accès à l'élément ou à l'opération.

    Un serveur de rapports utilise une extension de sécurité interne pour vérifier les autorisations de l'utilisateur. Le serveur de rapports utilise l'extension pour appeler le modèle objet Windows SharePoint Services afin de vérifier les autorisations stockées dans les bases de données de contenu SharePoint. Vous ne pouvez pas configurer ni gérer cette extension de sécurité. Il s'agit d'un composant interne utilisé pour les serveurs de rapports qui s'exécutent en mode intégré SharePoint.

    Si l'utilisateur est habilité à accéder au rapport ou à un autre élément ou opération, la demande est traitée.

La sécurité intégrée de Windows vous permet d'éliminer le problème standard de « double saut » qui provoque l'expiration des informations d'identification Windows après une connexion unique. Elle permet également d'étendre l'ensemble des options disponibles lorsque vous configurez des connexions à des sources de données pour des rapports et des modèles. Si l'identité de l'utilisateur Windows est utilisée pour se connecter au serveur de rapports, ce dernier peut utiliser cette identité au cours du traitement des rapports pour extraire des données des sources de données externes. Cela signifie que lorsque vous définissez les propriétés d'une source de données sur un rapport, vous pouvez sélectionner l'option Sécurité intégrée de Windows pour la connexion à la source de données. Pour plus d'informations, consultez Spécification des informations d'identification et de connexion pour les sources de données de rapport dans la documentation en ligne de SQL Server.

Authentification Windows ou par formulaires et comptes approuvés

Si l'application Web SharePoint est configurée pour l'authentification par formulaires, la connexion au serveur de rapports est envoyée sur le réseau au moyen d'un compte approuvé prédéfini qui a l'autorisation d'emprunter l'identité d'un utilisateur SharePoint sur le serveur de rapports. La même approche est utilisée si l'application Web SharePoint est configurée pour l'authentification Windows et que l'authentification Kerberos est désactivée. Le diagramme ci-dessous montre les connexions lorsque des comptes approuvés et des identités d'utilisateurs SharePoint sont utilisés.

Diagramme de connexion pour connexion approuvée

  • Connexion 1
    Un utilisateur ouvre une session sur un site SharePoint. L'application Web SharePoint authentifie l'utilisateur. L'application Web SharePoint convertit l'identité de l'utilisateur en une identité d'utilisateur SharePoint (SPUser). Un nouveau jeton utilisateur est créé pour cet utilisateur dans le contexte de SPUser. Il contient l'identité et l'appartenance aux groupes de l'utilisateur. L'utilisateur demande un élément ou une opération du serveur de rapports.

  • Connexion 2
    L'application Web SharePoint emprunte l'identité de l'utilisateur SharePoint dans la demande formulée au serveur de rapports. La demande de connexion est envoyée et utilise un compte approuvé. Le compte correspond à l'identité de processus de l'application Web SharePoint.

    Le serveur de rapports valide le fait que la demande de connexion provient d'un compte approuvé en la comparant aux informations de compte que le serveur de rapports a extraites à partir des bases de données de configuration SharePoint au démarrage du serveur de rapports. Sur un serveur de rapports, le compte approuvé correspond à un utilisateur Windows doté de l'autorisation d'emprunter l'identité de l'application Web SharePoint. Il est utilisé uniquement pour emprunter l'identité SPUser. Il n'est pas autorisé à accéder aux éléments et opérations du serveur de rapports.

  • Connexion 3
    Si la validation est réussie, le serveur de rapports vérifie que SPUser dispose de l'autorisation d'accès à l'élément ou à l'opération.

    Le serveur de rapports utilise une extension de sécurité interne pour vérifier les autorisations des utilisateurs, appeler le modèle objet Windows SharePoint Services et vérifier les autorisations stockées dans les bases de données de contenu SharePoint. Si l'utilisateur est habilité à accéder au rapport ou à un autre élément ou opération, la demande est traitée.

Expiration des comptes et traitement des abonnements

Lorsque vous créez un abonnement à un rapport, le serveur de rapports stocke les informations du compte SPUser afin de pouvoir vérifier que l'utilisateur est habilité à afficher le rapport au moment de la remise. Si le compte SPUser a expiré, l'abonnement échoue et retourne une erreur rsSharePointError. Une propriété nommée TokenTimeout au niveau de la batterie de serveurs détermine la durée de validité du compte SPUser.

Configuration de comptes administratifs et de service pour l'utilisation de comptes d'utilisateur de domaine uniques

Le déploiement d'un produit ou d'une technologie SharePoint utilise tout un ensemble de comptes pour exécuter les services et accéder aux serveurs frontaux et principaux. Si vous spécifiez des comptes de domaine dans votre déploiement, suivez bien les meilleures pratiques recommandées et spécifiez des comptes exclusivement utilisés par l'application Web SharePoint. Ne configurez pas de compte de service à exécuter sous le compte d'utilisateur de domaine d'une personne qui doit accéder au site SharePoint. Si vous accédez à un site SharePoint avec les informations d'identification d'un service, vous risquez de rencontrer des erreurs. Pour plus d'informations sur les exigences et les recommandations relatives aux comptes de service, consultez Prévoir les comptes d'administration et de service dans la documentation produit de Windows SharePoint Services 3.0.

Meilleures pratiques pour la configuration des fournisseurs d'authentification dans un déploiement avec montée en puissance parallèle

Si vous avez un déploiement avec montée en puissance parallèle de Reporting Services et un produit ou une technologie SharePoint, et que vous avez configuré différents fournisseurs d'authentification pour votre environnement, vous risquez de rencontrer des problèmes avec l'authentification des utilisateurs. Par exemple, si votre environnement de création de rapports utilise l'authentification par formulaires pour les connexions Internet et l'authentification Windows pou les connexions intranet, la demande peut être routée vers un ordinateur Web frontal avec un fournisseur d'authentification qui ne correspond pas au type d'authentification de la demande. Reporting Services risque alors de refuser l'accès pour la demande ou celle-ci peut être exécutée sous l'identité du pool d'applications plutôt que sous l'utilisateur ayant fait la demande.

Il est recommandé aux utilisateurs d'utiliser différentes URL pour accéder au contenu à partir d'Internet et d'un intranet. Vous pouvez également configurer le fichier d'hôtes sur les ordinateurs Web frontaux de façon à substituer la recherche DNS (Domain Name System) en mappant l'adresse IP (Internet Protocol) du site qui fait face à Internet à l'URL Internet de sorte que les demandes portant sur l'URL Internet ne soient pas routées vers l'URL intranet par le service DNS.

Accès du serveur de rapports aux bases de données de contenu SharePoint

L'application Web SharePoint et le serveur de rapports se connectent à leurs bases de données respectives pour stocker l'état d'application et d'autres données, mais le serveur de rapports doit également se connecter aux bases de données SharePoint pour stocker et extraire les éléments, les propriétés et les paramètres de configuration. Le diagramme ci-dessous montre les connexions du serveur aux différentes bases de données.

Diagramme de connexions

Une application Web SharePoint peut utiliser une base de données locale ou distante pour le stockage interne. Si les bases de données SharePoint se trouvent sur des ordinateurs distants, un compte de domaine doit être utilisé pour la connexion.

Un serveur de rapports peut utiliser une base de données locale ou distante pour le stockage interne. Pour chacun de ces types, la connexion à la base de données peut être établie à l'aide d'un compte de domaine, d'une connexion SQL Server ou d'un compte intégré tel que Network Service ou Local System.

Connexion du serveur de rapports aux bases de données SharePoint

Dans Reporting Services, le service Web et le service Windows requièrent l'accès aux bases de données SharePoint. Les comptes de service de ces deux services s'exécutent en tant qu'utilisateurs approuvés dans une application Web SharePoint et obtiennent automatiquement l'autorisation d'accéder aux bases de données SharePoint.

La connexion est gérée de manière interne ; elle est configurée lorsque vous utilisez l'administration centrale de SharePoint pour pointer une application Web SharePoint sur un serveur de rapports et définir les comptes approuvés. Contrairement à la connexion du serveur de rapports à ses propres bases de données, que vous pouvez définir ou modifier à l'aide de l'outil de configuration de Reporting Services, vous ne pouvez pas configurer ni gérer explicitement la connexion du serveur de rapports aux bases de données SharePoint.

L'exécution d'un serveur de rapports en mode intégré SharePoint introduit des contraintes quant à la configuration des comptes de service dans Reporting Services. Utilisez les instructions ci-dessous pour configurer des comptes de service :

  • Choisissez des comptes qui possèdent des autorisations d'ouverture de session sur le réseau si les comptes de service Report Server doivent se connecter aux bases de données SharePoint sur un ordinateur distant.

  • Évitez les comptes intégrés (tels que Système local ou Service réseau) si le serveur de rapports et les bases de données SharePoint se trouvent sur un même ordinateur, alors que l'application Web SharePoint est sur un ordinateur distant. Lorsque les bases de données SharePoint s'exécutent sur un ordinateur distant, l'application Web SharePoint refuse explicitement l'accès aux bases de données des comptes intégrés définis sur cet ordinateur distant. Cela signifie que tous les services qui s'exécutent au moyen de comptes intégrés sur cet ordinateur ne peuvent pas se connecter aux bases de données SharePoint.

  • Pour toutes les autres topologies où les serveurs et les bases de données sont placés sur le même ordinateur ou sur des ordinateurs différents, les comptes de service Reporting Services peuvent être configurés comme comptes de domaine ou comptes intégrés.

Erreurs lors de la connexion aux bases de données SharePoint

Si le serveur de rapports ne peut pas accéder aux bases de données SharePoint et qu'il existe une erreur de configuration (par exemple, si les comptes de service ou les mots de passe ne sont pas valides ou si aucune instance locale du modèle objet Windows SharePoint n'est installée), une erreur rsServerConfigurationError se produit. Pour toutes les autres erreurs de connexion, l'erreur rsSharePointError est retournée avec des informations d'erreur supplémentaires provenant de l'instance de Windows SharePoint Services locale.

Historique des modifications

Mise à jour du contenu

Ajout d'un tableau répertoriant les avantages et les inconvénients des fournisseurs d'authentification dans la section Fournisseurs d'authentification dans les technologies SharePoint.

Ajout d'une nouvelle section intitulée « Meilleures pratiques pour la configuration des fournisseurs d'authentification dans un déploiement avec montée en puissance parallèle ».