Partager via


Identifiants et connexions 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 requête 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 requête de connexion est émise, consultez Configuration d’une source de données et connexions réseau plus loin dans cet article.

Remarque

Les informations d'identification permettent également d'authentifier les utilisateurs qui accèdent à un serveur de rapports. Pour plus d’informations sur l’authentification des utilisateurs d’un serveur de rapports, consultez Authentification dans un serveur de rapports.

La connexion à une source de données externe est définie lorsque vous créez le rapport. Vous pouvez la gérer séparément après la publication du rapport. 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 Créer des chaînes de connexion de données dans le Générateur de rapports.

Identifiants utilisés dans le Générateur de rapports

Dans Report Builder, les identifiants sont souvent utilisés lorsque vous vous connectez à un serveur de rapports. Vous pouvez également les utiliser pour des travaux liés aux données, comme la création d’une source de données intégrée, l’exécution d’une requête sur un jeu de données ou l’aperçu d’un rapport. Les identifiants ne sont pas enregistrés dans le rapport. Ils sont gérés séparément sur le serveur de rapports ou sur le client local. La liste suivante décrit les types d’identifiants que vous pouvez être amené à fournir, l’emplacement de leur stockage et la manière dont ils sont utilisés :

  • Identifiants du serveur de rapports que vous saisissez dans la zone de dialogue Ouverture de session Reporting Services.

    Lorsque vous enregistrez, publiez ou naviguez vers un serveur de rapports ou un site SharePoint pour la première fois, vous devez éventuellement entrer vos identifiants. Les informations d'identification que vous entrez sont utilisées jusqu'à la fin de la session du Générateur de rapports. Si vous choisissez d’enregistrer les identifiants, ils sont stockés de manière sécurisée avec vos paramètres utilisateur sur votre ordinateur. Dans les sessions ultérieures du Générateur de rapports, les informations d'identification enregistrées sont utilisées pour la connexion au même serveur de rapports ou site SharePoint. L'administrateur du serveur de rapports ou l'administrateur SharePoint spécifie le type des informations d'identification à utiliser.

  • Identifiants de la source de données que vous saisissez dans la zone de dialogue Propriétés de la source de données pour une source de données incorporée.

    Ces informations d'identification sont utilisées par le serveur de rapports pour établir une connexion de données à la source de données externe. Pour certains types de sources de données, les informations d'identification peuvent être stockées de manière sécurisée sur le serveur de rapports. Ces informations d'identification permettent à d'autres utilisateurs d'exécuter le rapport sans fournir d'informations d'identification pour la connexion de données sous-jacente.

  • Identifiants de la source de données que vous saisissez dans la zone de dialogue Saisir les identifiants de la source de données lorsque vous exécutez une requête de jeu de données, actualisez des champs de jeu de données ou affichez un aperçu du rapport.

    Ces identifiants sont utilisés pour établir une connexion de données entre le Générateur de rapports et la source de données externe. Ils peuvent également être utilisés pour afficher l’aperçu d’un rapport configuré pour demander la saisie des identifiants. Les identifiants que vous saisissez dans cette zone de dialogue ne sont pas stockés sur le serveur de rapports et ne sont pas accessibles à d’autres utilisateurs. Report Builder met en cache les identifiants pendant la session de modification du rapport afin que vous n’ayez pas besoin de les saisir chaque fois que vous exécutez la requête ou que vous affichez l’aperçu du rapport.

    Pour les sources de données partagées, utilisez l'option Enregistrer mon mot de passe afin d'enregistrer les informations d'identification localement avec vos paramètres utilisateur sur votre ordinateur. Le Générateur de rapports utilise les informations d'identification enregistrées chaque fois qu'une connexion est établie vers la source de données externe correspondante.

Pour plus d’informations, consultez Aperçu des rapports dans le Générateur de rapports.

Sources de données distantes

Si le rapport récupère des données à partir d’un serveur de base de données distant, veuillez vérifier :

  • 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 aux bases de données relationnelles de SQL Server sur des ordinateurs externes, vous devez ouvrir les ports 1433 et 1434 sur l’ordinateur externe. Vous devez également ouvrir ces ports si la base de données du serveur de rapports se trouve sur une instance SQL Server externe. Veillez à redémarrer le serveur après avoir ouvert les ports. Pour plus d’informations, consultez Configurer un pare-feu Windows pour l’accès 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 à distance via TCP sont activées.

Spécification des identifiants pour la connexion à des sources de données distantes

Les sources de données qui fournissent le contenu des rapports sont hébergées sur des serveurs distants. Pour récupérer les données d’un rapport, un serveur de rapports doit se connecter au serveur à l’aide d'un ensemble d’identifiants fournis à l’avance ou obtenus 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 devez contourner les contraintes de connexion. Si la délégation et l’usurpation d’identité ne sont pas activés, les identifiants Windows peuvent être passés via une connexion d’ordinateur avant leur expiration. Une connexion utilisateur depuis un ordinateur client vers un ordinateur du serveur de rapports compte comme la première connexion. Si l’utilisateur ouvre un rapport qui récupère des données à partir d’un serveur distant, cette connexion compte comme seconde connexion. La connexion échoue si vous avez spécifié l’utilisation de la sécurité intégrée avec délégation désactivé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.

Identifiants demandés par invite

Lorsque vous configurez une connexion de source de données de rapport afin qu’elle utilise des identifiants demandés par invite, chaque utilisateur qui accède au rapport doit saisir 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 Windows ou une connexion de base de données. Pour utiliser l’authentification Windows, vous devez sélectionner Utiliser les informations d’identifiants Windows. 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 identifiants fournis, la connexion échoue.

Sécurité intégrée de Windows

Quand 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é à saisir 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 d'instantané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 identifiants 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.

Octroyer des autorisations « Permettre l’ouverture d’une session locale » à des comptes d’utilisateurs de domaine

Si vous utilisez des identifiants stockés 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 sur votre serveur de rapports, allez à Outils d’administration et ajoutez le compte Windows que vous souhaitez pour le signe interactif dans Stratégie de sécurité locale>Paramètres de sécurité>Stratégies locales>Affectation des droits d’utilisateur. Vérifiez que le compte que vous avez sélectionné ne dispose pas d’autorisations de refus.

Pour plus d’informations, consultez Configurer les paramètres de stratégie de sécurité et Autoriser l’ouverture de session localement – paramètre de stratégie de sécurité.

Usurpation d’identité avec le stockage des identifiants

Vous pouvez également utiliser des informations d'identification pour emprunter l'identité d'un autre utilisateur. Pour les bases de données SQL Server, les options d’emprunt d’identité définissent 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 instantané d'exécution de rapport.

Ne pas demander les informations d'identification

Vous pouvez configurer une connexion de source de données de sorte qu'elle n'utilise aucune information d'identification. Vous devez toujours utiliser les identifiants pour accéder à une source de données. Toutefois, vous pouvez choisir d’exécuter un rapport sans identifiants dans les cas suivants :

  • La source de données distante ne nécessite pas d’identifiants.
  • 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 identifiants 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 Configurer le compte d’exécution sans assistance (Configuration Manager du Report Server).

Connexion par nom d’utilisateur et mot de passe

Lorsque vous sélectionnez Utiliser ce nom d'utilisateur et ce mot de passe, un nom d'utilisateur et un mot de passe doivent être fournis pour permettre l'accès à la source de données. Pour une base de données SQL Server, les informations d'identification peuvent correspondre à une connexion de base de données. Les informations d'identification sont passées à la source de données pour authentification.

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écifier des 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 Usurper 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 Usurper l’identité de l’utilisateur spécifié. Pour SQL Server, Oracle, Open Database Connectivity (ODBC) et liaison et incorporation d’objets, base de données (OLE DB) : connectez-vous à l’aide du compte d’utilisateur utilisateur impersonné.
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.
None 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éfinir des identifiants de manière programmatique

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.