Protection des sources de données utilisées par Analysis Services

Si des utilisateurs non autorisés obtiennent l'accès aux sources de données depuis lesquelles Microsoft SQL Server Analysis Services charge ses données, ces utilisateurs peuvent accéder aux mêmes informations qui sont stockées dans l'instance Analysis Services. Vous devez limiter l'accès à ces sources de données. Pour pouvoir consulter les cubes et les dimensions, les utilisateurs Analysis Services ne nécessitent pas d'autorisations sur ces sources de données. Toutefois, les utilisateurs Analysis Services nécessitent des autorisations pour pouvoir se connecter aux sources de données sous-jacentes pour exécuter certaines tâches, telles qu'utiliser DMX (Data Mining Expressions) pour exécuter des tâches d'exploration de données.

Protection des connexions aux sources de données sous-jacentes

Analysis Services se connecte aux sources de données sous-jacentes pour :

  • traiter les données Analysis Services ;

  • résoudre les requêtes lorsque ROLAP ou HOLAP est utilisé ;

  • enregistrer les entrées à écriture différée ;

  • exécuter des requêtes d'extraction MDX (Execute Multidimensional Expressions).

Analysis Services exécute chacune de ces tâches via un objet DataSource. Le compte de sécurité que l'objet DataSource utilise pour accéder à ces sources de données correspond aux informations d'identification de sécurité de l'utilisateur ou au nom et au mot de passe de l'utilisateur définis dans la chaîne de connexion stockée dans l'objet DataSource.

AttentionAttention

Si Analysis Services se connecte à l'une de ses sources de données en utilisant le compte d'ouverture de session Analysis Services, les membres d'un rôle de base de données disposant des autorisations Contrôle total peuvent accéder à la source de données, que la source de données soit utilisée ou non dans la base de données.

Les autorisations nécessaires au compte de sécurité utilisé par un objet DataSource dépendent de la tâche que Analysis Services doit exécuter :

  • Pour pouvoir se connecter à la source de données, le compte de sécurité utilisé par l'objet DataSource doit disposer au minimum de l'autorisation de lecture sur la table appropriée dans la source de données. Si le stockage ROLAP est utilisé, le compte de sécurité doit également être autorisé à réécrire des données d'agrégation dans la source de données.

  • Si l'écriture différée est activée, le compte de sécurité utilisé doit également être autorisé à écrire dans la table d'écriture différée.

Analysis Services chiffre et stocke les informations de chaîne de connexion utilisées pour la connexion à chaque source de données. Si la chaîne de connexion définit un compte de sécurité au lieu d'une connexion approuvée, vous pouvez stocker la chaîne de connexion avec ou sans le mot de passe. Si le mot de passe n'est pas stocké dans la chaîne de connexion, Analysis Services demande à l'utilisateur de fournir un compte de sécurité et un mot de passe appropriés chaque fois que Analysis Services tente de se connecter à la source de données (tel que lors du traitement ou de la modification d'une vue de source de données).

Au cours du développement, vous pouvez décider de stocker le compte de sécurité et le mot de passe de la chaîne de connexion dans le projet Analysis Services. Lorsque vous créez le projet Analysis Services, Business Intelligence Development Studio supprime les comptes de sécurité et les mots de passe de toutes les chaînes de connexion des sources de données, à moins que vous décidiez de les conserver dans les fichiers de sortie. Si vous stockez le compte de sécurité et le mot de passe dans les fichiers de sortie d'un projet Analysis Services, ces informations de chaîne de connexion sont chiffrées. Si vous ne conservez pas ces informations de chaîne de connexion et qu'aucune connexion approuvée n'est définie dans la chaîne de connexion, Analysis Services vous invite à fournir un compte de sécurité et un mot de passe appropriés lors du déploiement.

Protection des connexions utilisées par les requêtes d'exploration de données

Pour les requêtes d'exploration de données qui utilisent la clause OPENQUERY dans une instruction DMX pour la connexion à la source de données sous-jacente, Analysis Services se connecte via un objet DataSource. L'objet DataSource emprunte l'identité du client ou utilise le nom et le mot de passe définis dans la chaîne de connexion. Par défaut, les utilisateurs ne disposent pas d'autorisations sur un objet DataSource et ne peuvent pas interroger la source de données sous-jacente en utilisant l'instruction OPENQUERY. Pour pouvoir utiliser la clause OPENQUERY dans une instruction DMX pour interroger la source de données sous-jacente, les utilisateurs doivent disposer des autorisations de lecture/écriture sur l'objet DataSource. Si les utilisateurs disposent des autorisations de lecture/écriture sur un objet DataSource et qu'un compte est défini dans la chaîne de connexion, il est préférable de limiter au maximum les autorisations sur les tables dans la source de données sous-jacente pour le compte défini, en fournissant des autorisations d'accès en lecture seule sur les tables spécifiques accessibles. Pour plus d'informations sur MDX, consultez Instructions de définition de données DMX (Data Mining Extensions) et Instructions de manipulations de données DMX (Data Mining Extensions).

Par défaut, les utilisateurs ne peuvent pas utiliser la clause OPENROWSET dans une instruction DMX et soumettre des requêtes ad hoc sur une source de données sous-jacentes en utilisant une chaîne de connexion ad hoc. Vous pouvez changer le paramètre par défaut de la propriété de configuration de serveur DataMining \ AllowAdHocOpenRowsetQueries pour permettre aux utilisateurs d'utiliser la clause OPENROWSET. Pour accéder à cette propriété, cliquez avec le bouton droit de la souris sur l'instance Analysis Services, cliquez sur Propriétés, puis recherchez la propriété dans la page Sécurité. En procédant ainsi, vous ne pourrez pas limiter les sources de données dans lesquelles les utilisateurs du modèle d'exploration de données peuvent effectuer des requêtes. Pour plus d'informations, consultez Octroi d'accès aux structures d'exploration de données et aux modèles d'exploration de données et Octroi d'accès aux sources de données.