Partager via


Spécifier des informations d'identification et de connexion pour les sources de données de rapports

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. Des informations supplémentaires sur l'authentification des utilisateurs sur un serveur de rapports sont fournies dans une autre rubrique.

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 Créer des chaînes de connexion de données - Générateur de rapports et SSRS.

Quand sont utilisés les identifiants dans Report Builder

Dans Report Builder, les identifiants sont souvent utilisés lorsque vous vous connectez à un serveur de rapports. Ils sont également utilisés pour les tâches liées aux données, telles que la création d’une source de données incorporée, l’exécution d’une requête de 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 devrez peut-être fournir, leur emplacement et leur utilisation :

  • 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 informations d'identification. 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 informations d'identification sont utilisées pour établir une connexion de données entre le Générateur de rapports et la source de données externe, ou pour afficher l'aperçu d'un rapport configuré pour demander la saisie des informations d'identification. 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.

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, veuillez vérifier :

  • Les informations d'identification fournies au serveur de base de données sont valides. Si vous utilisez des informations d’identification d’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 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 à distance via TCP sont activées.

Méthodes de spécification des identifiants 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 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 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.

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 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 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.

Comment octroyer 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 octroyer cette autorisation :

  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 sélectionnez Attribution des droits de l’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. Sélectionnez Ajouter un utilisateur ou un groupe.

  5. Sélectionnez Emplacements, spécifiez un domaine ou un autre emplacement à rechercher, puis sélectionnez OK.

  6. Saisissez le compte Windows pour lequel vous voulez autoriser une connexion interactive, puis sélectionnez OK.

  7. Dans la zone de dialogue Propriétés de Permettre l’ouverture d’une session locale, sélectionnez OK.

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

    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 sélectionnez Supprimer.

Utilisation de l’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, 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 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. Étant donné que Microsoft recommande de toujours utiliser des identifiants pour accéder aux sources de données : il est déconseillé de ne pas utiliser d’identifiants. 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 à l’aide d’un nom d’utilisateur et d’un 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 pour le traitement des données personnalisée, consultez Spécifier des connexions pour des extensions pour le traitement des 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, ODBC et OLE DB : connectez-vous à l'aide du compte d'utilisateur avec emprunt d'identité.
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éfinition 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.