Didacticiel : Application de filtres de sécurité aux éléments de modèle de rapport

Dans SQL Server Reporting Services, la sécurité de l'élément de modèle vous permet d'accorder un accès à des groupes ou des utilisateurs. Supposons que votre base de données contient des informations de commandes. Si vous n'appliquez pas la sécurité de l'élément de modèle, toutes les personnes ayant des autorisations sur le modèle peuvent consulter les données de commandes. La sécurité de l'élément de modèle vous permet d'exposer de manière sélective les éléments du modèle à différents groupes et utilisateurs. En général, cette sécurité est similaire à la sécurité de colonnes et de tables dans une base de données. La sécurité de l'élément de modèle est activée et configurée à l'aide du Gestionnaire de rapports.

Pour appliquer la sécurité de l'élément de modèle, vous devez déployer le modèle sur un serveur de rapports puis, sur la page Sécurité du Gestionnaire de rapports, vous pouvez appliquer la sécurité aux entités et aux champs du modèle. Vous pouvez également sécuriser les données retournées par le modèle à l'aide de la sécurité au niveau des lignes. Par exemple, vous pouvez autoriser les commerciaux à n'afficher que leurs propres commandes. Pour appliquer la sécurité au niveau des lignes, vous devez créer au moins un attribut que vous pouvez employer comme filtre pour restreindre les données, puis l'attribuer à la propriété Collection SecurityFilters ou la propriété DefaultSecurityFilter Object. Cet attribut doit être une valeur booléenne et la propriété IsFilter doit avoir la valeur True. Éventuellement, si l'attribut n'a pas d'utilité comme champ de rapport, vous pouvez affecter à la propriété Hidden la valeur True.

Dès que vous utilisez au moins un attribut pour la sécurité au niveau des lignes, toutes les lignes sont masquées par défaut. Les utilisateurs obtiennent un accès aux lignes en fonction des filtres de sécurité. Chaque attribut que vous ajoutez à la collection SecurityFilters se transforme en un mécanisme permettant d'accorder un accès aux lignes exposées par ce filtre. Si des filtres de sécurité existent, les utilisateurs ou les groupes qui n'ont aucune autorisation sur ces filtres ne peuvent voir aucune ligne, sauf si un filtre de sécurité par défaut est défini. Si tel est le cas, les utilisateurs ne peuvent consulter que les lignes exposées par le filtre de sécurité par défaut.

Note

Par défaut, les administrateurs n'ont pas accès au modèle tout entier. Si vous souhaitez qu'un administrateur ait accès à l'intégralité du modèle, vous devez lui accorder des autorisations comme pour n'importe quel autre utilisateur ou groupe.

Ce didacticiel vous montre comment appliquer la sécurité au niveau des lignes à une entité dans le modèle de rapport AdventureWorks2008R2 à l'aide de la collection SecurityFilters. Vous appliquerez ensuite les paramètres de sécurité requis dans le Gestionnaire de rapports.

Important

Les exemples SQL Server et les exemples de bases de données doivent être téléchargés et installés avant de pouvoir être affichés ou utilisés. Pour plus d'informations, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.

Configuration requise

Pour utiliser ce didacticiel, les composants suivants doivent être installés sur votre système :

  • Microsoft SQL Server Reporting Services exécuté en mode natif. La prise en charge intégrée des modèles n'est pas disponible dans SQL Server Express. Pour plus d'informations, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2008 R2 qui décrit notamment :

    • Microsoft SQL Server.

    • Microsoft SQL Server Business Intelligence Development Studio.

    • Microsoft SQL Server avec la base de données AdventureWorks2008R2.

    • Microsoft SQL Server avec l'exemple du modèle de rapport Adventure Works.

  • Microsoft .NET Framework 2.0 sur le système qui exécutera le Générateur de rapports.

Vous devez disposer des autorisations suivantes :

  • Pour déployer et publier le modèle de rapport, vous devez bénéficier du rôle Gestionnaire de contenu ou du rôle Éditeur.

  • Autorisations d'extraire des données de la base de données AdventureWorks2008R2.

Vérifiez aussi que l'ordinateur qui exécute le serveur de rapports utilise Internet Information Services (IIS) avec la sécurité intégrée.