Partager via


Spécification des informations d'identification et de connexion pour les sources de données de rapport

Un serveur de rapports utilise des informations d'identification pour se connecter à des sources de données externes qui fournissent du contenu aux rapports ou des informations de destinataire aux abonnements pilotés par les données. Vous pouvez spécifier des informations d'identification qui utilisent l'authentification Windows, l'authentification de base de données, aucune authentification ou une authentification personnalisée. Lors de l'envoi d'une demande de connexion sur le réseau, le serveur de rapports emprunte l'identité d'un compte d'utilisateur ou du compte d'exécution sans assistance. Pour plus d'informations sur le contexte de sécurité sous lequel une demande de connexion est émise, consultez Configuration d'une source de données et connexions réseau plus loin dans cette rubrique.

[!REMARQUE]

Les informations d'identification permettent également d'authentifier les utilisateurs qui accèdent à un serveur de rapports. Des informations supplémentaires sur l'authentification des utilisateurs sur un serveur de rapports sont fournies dans une autre rubrique. Pour en savoir plus, consultez Planification des services, des comptes et des connexions.

La connexion à une source de données externe est définie lorsque vous créez le rapport. Elle peut être gérée séparément une fois le rapport publié. Vous pouvez spécifier une expression ou une chaîne de connexion statique qui autorise les utilisateurs à sélectionner une source de données à partir d'une liste dynamique. Pour plus d'informations sur la spécification d'un type de source de données et d'une chaîne de connexion, consultez Connexion à une source de données (Reporting Services).

Utilisation de sources de données distantes

Si le rapport récupère des données à partir d'un serveur de base de données distant, vérifiez les éléments suivants :

  • Les informations d'identification fournies au serveur de base de données sont valides. Si vous utilisez des informations d'identification de l'utilisateur Windows, assurez-vous que l'utilisateur a l'autorisation d'accéder au serveur et à la base de données.

  • Les ports utilisés par le serveur de base de données sont ouverts. Si vous accédez à des bases de données relationnelles SQL Server sur des ordinateurs externes, ou si la base de données du serveur de rapports se trouve sur une instance SQL Server externe, vous devez ouvrir les ports 1433 et 1434 sur l'ordinateur externe. Veillez à redémarrer le serveur après avoir ouvert les ports. Pour plus d'informations, consultez Procédure : configurer un pare-feu Windows pour accéder au moteur de base de données.

  • Les connexions distantes doivent être activées. Si vous accédez à des bases de données relationnelles SQL Server sur des ordinateurs externes, vous pouvez utiliser l'outil Gestionnaire de configuration SQL Server pour vous assurer que les connexions distantes via TCP sont activées.

Spécifications des informations d'identification pour la connexion à des sources de données distantes

Les sources de données qui fournissent du contenu aux rapports sont habituellement hébergées sur des serveurs distants. Pour extraire des données pour un rapport, un serveur de rapports doit se connecter au serveur en utilisant un jeu d'informations d'identification que vous fournissez d'avance ou qui est obtenu au moment de l'exécution. Lors de la configuration d'une source de données, vous pouvez spécifier des informations d'identification de la manière suivante :

  • demander à l'utilisateur des informations d'identification ;

  • stocker des informations d'identification ;

  • utiliser la sécurité intégrée Windows ;

  • aucune utilisation d'informations d'identification.

L'environnement réseau détermine les types de connexions que vous pouvez prendre en charge. Par exemple, si le protocole Kerberos version 5 est activé, vous pouvez utiliser les fonctionnalités de délégation et d'emprunt d'identité de l'authentification Windows pour prendre en charge les connexions entre serveurs. Si votre réseau ne prend pas en charge ces fonctionnalités de sécurité, vous devrez contourner les contraintes de connexion. Si la délégation et l'emprunt d'identité ne sont pas activés, les informations d'identification Windows peuvent être passées via une connexion d'ordinateur avant d'expirer. Une connexion utilisateur à un serveur de rapports compte comme la première connexion. Si l'utilisateur ouvre un rapport qui récupère des données sur un serveur distant, cette connexion compte comme une deuxième connexion et échoue si vous avez spécifié que la connexion doit utiliser la sécurité intégrée lorsque la délégation n'est pas activée.

Si plusieurs connexions sont exigées pour exécuter un aller-retour réseau à partir de l'ordinateur client sur une source de données du rapport externe, choisissez une des stratégies suivantes pour y réussir.

  • Activez les fonctionnalités d'emprunt d'identité et de délégation dans votre domaine afin que les informations d'identification puissent être déléguées sans limite à d'autres ordinateurs.

  • Utilisez des informations d'identification stockées ou demandées par invite pour puiser dans des sources de données externes des données pour les rapports. Les informations d'identification peuvent être un compte de domaine Windows ou une connexion de base de données.

Informations d'identification demandées par invite

Lorsque vous configurez une connexion de source de données de rapport afin qu'elle utilise des informations d'identification demandées par invite, chaque utilisateur qui accède au rapport doit entrer un nom d'utilisateur et un mot de passe pour récupérer les données. Cette approche est recommandée pour les rapports qui contiennent des données confidentielles. Les informations d'identification demandées par invite ne peuvent être utilisées que sur les rapports qui s'exécutent à la demande. Les informations d'identification demandées par invite peuvent être un compte de domaine Windows ou une connexion de base de données. Pour utiliser l'authentification Windows, vous devez sélectionner Utiliser en tant qu'informations d'identification Windows lors de la connexion à la source de données. Sinon, le serveur de rapports passe les informations d'identification au serveur de base de données pour l'authentification de l'utilisateur. Si le serveur de base de données ne parvient pas à authentifier les informations d'identification fournies, la connexion échoue.

Sécurité intégrée de Windows

Lorsque vous utilisez l'option Sécurité intégrée de Windows, le serveur de rapports transmet le jeton de sécurité de l'utilisateur qui accède au rapport au serveur qui héberge la source de données externe. Dans ce cas, l'utilisateur n'est pas invité à taper son nom d'utilisateur ou son mot de passe. Cette approche est recommandée si les fonctionnalités d'emprunt d'identité et de délégation sont activées. Si ces fonctionnalités ne sont pas activées, vous ne devez utiliser cette approche que si tous les serveurs auxquels vous voulez accéder résident sur le même ordinateur.

Informations d'identification stockées

Vous pouvez stocker les informations d'identification utilisées pour accéder à une source de données externe. Les informations d'identification sont stockées à l'aide d'un chiffrement réversible dans la base de données du serveur de rapports. Vous pouvez spécifier un ensemble d'informations d'identification pour chaque source de données utilisée dans un rapport. Les informations d'identification fournies récupèrent les mêmes données pour chaque utilisateur qui exécute le rapport.

Les informations d'identification stockées sont recommandées dans le cadre d'une stratégie d'accès aux serveurs de base de données distants. Le stockage d'informations d'identification est obligatoire pour prendre en charge les abonnements, planifier la génération d'historiques de rapports ou l'actualisation de clichés de rapports. Lorsqu'un rapport s'exécute en tant que processus d'arrière-plan, le serveur de rapports est l'agent qui exécute le rapport. En l'absence de contexte utilisateur en place, le serveur de rapports doit obtenir les informations d'identification de la base de données du serveur de rapports pour se connecter à une source de données.

Le nom d'utilisateur et le mot de passe que vous spécifiez peuvent être des informations d'identification de Windows ou une connexion de base de données. Si vous spécifiez des informations d'identification Windows, le serveur de rapports transmet les informations d'identification à Windows pour authentification ultérieure. Autrement, les informations d'identification sont transmises au serveur de base de données pour authentification.

Comment accorder des autorisations « Permettre l'ouverture d'une session locale » à des comptes d'utilisateurs de domaine

Si vous utilisez des informations d'identification stockées pour vous connecter à une source de données externe, le compte d'utilisateur de domaine Windows doit être autorisé à ouvrir une session localement. Cette autorisation permet au serveur de rapports d'emprunter l'identité de l'utilisateur sur le serveur de rapports et d'envoyer la requête à la source de données externe en utilisant l'identité de l'utilisateur.

Pour accorder cette autorisation, procédez comme suit :

  1. Sur le serveur de rapports, dans Outils d'administration, ouvrez Stratégie de sécurité locale.

  2. Sous Paramètres de sécurité, développez Stratégies locales, puis cliquez sur Attribution des droits utilisateur.

  3. Dans le volet d'informations, cliquez avec le bouton droit sur Permettre l'ouverture d'une session locale, puis cliquez avec le bouton droit sur Propriétés.

  4. Cliquez sur Ajouter un groupe ou un utilisateur.

  5. Cliquez sur Emplacements, spécifiez un domaine ou un autre emplacement à rechercher, puis cliquez sur OK.

  6. Entrez le compte Windows pour lequel vous voulez autoriser une connexion interactive, puis cliquez sur OK.

  7. Dans la boîte de dialogue Propriétés de Permettre l'ouverture d'une session locale, cliquez sur OK.

  8. Assurez-vous que le compte que vous avez sélectionné ne possède pas d'autorisations refusées :

    1. Cliquez avec le bouton droit sur Interdire l'ouverture d'une session locale, puis cliquez avec le bouton droit sur Propriétés.

    2. Si le compte figure dans la liste, sélectionnez-le et cliquez sur Supprimer.

Utilisation d'emprunt d'identité avec stockage des informations d'identification

Vous pouvez également utiliser des informations d'identification pour emprunter l'identité d'un autre utilisateur. Pour les bases de données SQL Server, l'utilisation d'options d'emprunt d'identité définit la fonction SETUSER.

Important

N'utilisez pas l'emprunt d'identité pour les rapports qui prennent en charge les abonnements ou qui utilisent des planifications pour générer des historiques de rapports ou actualiser un cliché d'exécution de rapport.

Pas d'informations d'identification

Vous pouvez configurer une connexion de source de données de sorte qu'elle n'utilise aucune information d'identification. Étant donné que Microsoft recommande de toujours utiliser des informations d'identification pour accéder aux sources de données, le fait de choisir de ne pas en utiliser n'est pas conseillé. Toutefois, vous pouvez choisir d'exécuter un rapport sans information d'identification dans les cas suivants :

  • La source de données distante ne nécessite pas d'informations d'identification.

  • Les informations d'identification figurent dans la chaîne de connexion (recommandé uniquement pour les connexions sécurisées).

  • Le rapport est un sous-rapport qui utilise les informations d'identification du rapport parent.

Dans ces conditions, le serveur de rapports se connecte à une source de données distante à l'aide du compte d'exécution sans assistance qui doit être défini à l'avance. Étant donné que le serveur de rapports ne se connecte pas à un serveur distant en utilisant ses informations d'identification de service, vous devez spécifier un compte que le serveur de rapports peut utiliser pour établir la connexion. Pour plus d'informations sur la création de ce compte, consultez Configuration du compte d'exécution sans assistance.

Configuration d'une source de données et connexions réseau

Le tableau suivant montre comment les connexions sont établies pour des combinaisons spécifiques de types d'informations d'identification et d'extensions de traitement de données. Si vous utilisez une extension de traitement de données personnalisée, consultez Spécification de connexions pour des extensions de traitement de données personnalisées.

Type

Contexte de connexion réseau

Types de source de données

(SQL Server, Oracle, ODBC, OLE DB, Analysis Services, XML, SAP NetWeaver BI, Hyperion Essbase)

Sécurité intégrée

Emprunter l'identité de l'utilisateur actuel.

Pour tous les types de sources de données, se connecter en utilisant le compte d'utilisateur actuel.

Informations d'identification Windows

Emprunter l'identité de l'utilisateur spécifié.

Pour SQL Server, Oracle, ODBC et OLE DB : se connecter en utilisant le compte d'utilisateur dont l'identité est empruntée.

Pour Analysis Services : À partir de SQL ServerReporting Services Service Pack 2, pris en charge sur Windows Server 2003 à l'aide des comptes de domaine. Non pris en charge sous Windows XP et les systèmes d'exploitation antérieurs.

Informations d'identification de la base de données

Emprunter l'identité du compte d'exécution sans assistance ou du compte de service.

(Reporting Services supprime les autorisations d'administrateur lors de l'envoi d'une demande de connexion utilisant l'identité du service).

Pour SQL Server, Oracle, ODBC et OLE DB :

Ajouter le nom d'utilisateur et le mot de passe à la chaîne de connexion.

Pour Analysis Services :

La connexion aboutit si vous utilisez le protocole TCP/IP, sinon elle échoue.

Pour XML :

La connexion échoue sur le serveur de rapports si des informations d'identification de base de données sont utilisées.

Aucune

Emprunter l'identité du compte d'exécution sans assistance.

Pour SQL Server, Oracle, ODBC et OLE DB :

Utiliser les informations d'identification définies dans la chaîne de connexion. La connexion échoue sur le serveur de rapports si le compte d'exécution sans assistance n'est pas défini.

Pour Analysis Services :

La connexion échoue toujours si aucune information d'identification n'est spécifiée, même si le compte d'exécution sans assistance est défini.

Pour XML :

Se connecter comme utilisateur anonyme si le compte d'exécution sans assistance est défini ; sinon, la connexion échoue.

Définition des informations d'identification par programme

Vous pouvez définir des informations d'identification dans votre code pour contrôler l'accès aux rapports et au serveur de rapports. Pour plus d'informations, consultez Sources de données et méthodes de connexion.