Architecture de sécurité de l'accès utilisateur

Microsoft SQL Server Analysis Services s'appuie sur Microsoft Windows pour authentifier les utilisateurs. Par défaut, seuls les utilisateurs authentifiés disposant de droits dans Analysis Services peuvent établir une connexion à Analysis Services. Lorsqu'un utilisateur se connecte à Analysis Services, les autorisations dont dispose l'utilisateur dans Analysis Services sont déterminées par les droits affectés aux rôles Analysis Services auxquels il appartient, directement ou via l'appartenance dans un rôle Windows.

  • Analysis Services contient un rôle serveur fixe qui octroie à ses membres l'autorisation d'exécuter n'importe quelle tâche dans l'ensemble de l'instance.

  • Les utilisateurs qui ne sont pas membres du rôle serveur fixe peuvent devenir membres d'un ou de plusieurs rôles de base de données. Chaque rôle de base de données dispose d'un jeu d'autorisations personnalisé qui permet aux utilisateurs d'accéder aux données et d'exécuter des tâches dans une base de données particulière.

  • Il est possible d'accorder à un rôle de base de données des autorisations d'administrateur, des autorisations de traitement des objets, des autorisations d'affichage des métadonnées des objets et des autorisations d'affichage ou de modification des données à plusieurs niveaux dans chaque base de données Analysis Services.

  • Les membres d'un rôle de base de données ayant des autorisations d'administrateur peuvent afficher ou mettre à jour toutes les données de la base de données. Les membres des autres rôles de base de données peuvent uniquement afficher ou mettre à jour les objets de données sur lesquels ils disposent des autorisations correspondantes.

  • Les autorisations dans une base de données Analysis Services sont initialement accordées au niveau de la base de données. Si un rôle de base de données a des autorisations au niveau de la base de données, il doit avoir des autorisations spécifiques pour chaque objet de la base de données. Les dimensions d'une base de données et d'un cube, les membres d'une dimension individuelle, les cubes, les cellules individuelles d'un cube, les structures d'exploration de données, les modèles d'exploration de données, les sources de données et les procédures stockées sont notamment les objets sur lesquels des autorisations peuvent être octroyées à un rôle.

  • Outre ces composants d'architecture de sécurité, Analysis Services chiffre toutes les communications client/serveur pour réduire les risques d'accès à des informations non autorisées par des utilisateurs non autorisés. Enfin, les fonctionnalités d'Analysis Services qui risquent de compromettre la sécurité si elles ne sont pas correctement configurées ou si elles sont utilisées dans un environnement inapproprié sont désactivées par défaut. Vous pouvez, par exemple, permettre aux utilisateurs de se connecter à Analysis Services sans authentification ou accepter l'authentification soumise en texte en clair. Toutefois, étant donné que cette approche risque de compromettre la sécurité si elle n'est pas mise en œuvre correctement, l'activation de ces types de fonctions implique de modifier les paramètres par défaut.

Authentification Windows

L'accès à Analysis Services est basé sur l'authentification Microsoft Windows. Ce modèle d'authentification implique que tous les utilisateurs soient authentifiés par le système d'exploitation Windows pour pouvoir accéder aux données stockées dans Analysis Services et administrer les objets Analysis Services. L'authentification par le système d'exploitation permet à Analysis Services de tirer parti des fonctionnalités de sécurité Windows, notamment de la validation et du chiffrement sécurisés des mots de passe, l'audit, l'expiration des mots de passe, la longueur minimale des mots de passe et le verrouillage de compte après plusieurs demandes d'ouverture de session non valides.

Notes

Si l'instance d'Analysis Services est configurée pour autoriser l'accès anonyme, Windows n'authentifie par l'utilisateur.

L'authentification Windows et Analysis Services fonctionnent conjointement de la manière suivante :

  1. Lorsqu'un utilisateur se connecte au réseau Windows, un contrôleur de domaine Windows valide le nom et le mot de passe de l'utilisateur, créant ainsi les informations d'identification de l'authentification réseau de l'utilisateur.

  2. Ensuite, lorsque l'utilisateur tente de se connecter à Analysis Services, Analysis Services valide les informations d'identification de l'authentification réseau de l'utilisateur avec un contrôleur de domaine Windows.

Autorisation

Après avoir authentifié un utilisateur, Analysis Services détermine s'il est autorisé à afficher les données, à mettre à jour les données, à afficher les métadonnées ou à exécuter des tâches d'administration. Si l'utilisateur, ou un groupe dont l'utilisateur est membre, dispose d'un certain type d'autorisations dans l'instance d'Analysis Services, Analysis Services laisse l'utilisateur se connecter. Par défaut, Analysis Services ne permet pas à un utilisateur de se connecter s'il ne dispose pas d'un certain type d'autorisations dans l'instance d'Analysis Services.

Toutefois, l'autorisation ne s'arrête pas une fois l'utilisateur connecté à Analysis Services. Elle se poursuit pendant que l'utilisateur utilise Analysis Services, par exemple lorsqu'il exécute des procédures stockées du serveur, des instructions DMX (Data Mining Extensions), des requêtes MDX (Multidimensional Expressions) ou des commandes AMO (Analysis Management Objects). Chaque fois qu'Analysis Services doit exécuter une action ou accéder à un objet, il vérifie si l'utilisateur est autorisé à accéder aux objets ou à exécuter la commande. Si l'utilisateur ne dispose pas des autorisations appropriées, Analysis Services retourne une erreur d'autorisation.

Rôle serveur et rôles de base de données

Analysis Services comporte deux types de rôles : le rôle serveur et les rôles de base de données. Les différences entre ces deux rôles sont expliquées brièvement ci-dessous :

  • Il n'existe qu'un seul rôle serveur et les membres de ce rôle disposent de droits d'administrateur complets dans l'instance d'Analysis Services.

    Notes

    Les membres du groupe local Administrateurs sur l'ordinateur local sont automatiquement membres du rôle serveur dans une instance d'Analysis Services.

  • Il peut exister plusieurs rôles de base de données. Les membres du rôle serveur créent ces rôles de base de données dans chaque base de données, accordent des autorisations administratives ou d'utilisateur à ces rôles de base de données, telles que des autorisations de lecture ou de lecture/écriture sur des cubes, des dimensions, des cellules, des structures d'exploration de données, des modèles d'exploration de données et des objets source de données, puis ajoutent les utilisateurs et les groupes Windows à ces rôles de base de données.

    Important

    Les autorisations des rôles s'ajoutent les unes aux autres. Les autorisations dont dispose un utilisateur ou un groupe Windows via un rôle de base de données sont ajoutées aux autorisations dont l'utilisateur ou le groupe Windows dispose via d'autres rôles de base de données. Si un rôle interdit à un utilisateur ou à un groupe d'exécuter certaines tâches ou d'afficher certaines données, mais qu'un autre rôle lui permet de le faire, l'utilisateur ou le groupe est autorisé à exécuter la tâche ou à afficher les données.

Pour plus d'informations :Identité et contrôle d'accès (Analysis Services - Données multidimensionnelles)

Droits d'administrateur

Les membres du rôle serveur disposent automatiquement de droits d'administrateur complets, contrairement aux membres d'un rôle de base de données. Un rôle de base de données peut recevoir des droits Contrôle total, également appelés droits d'administrateur, ou un groupe plus limité de droits d'administrateur parmi les droits suivants :

  • Traitement de la base de données

  • Lecture des métadonnées de la base de données

  • Traitement d'une ou de plusieurs dimensions

  • Lecture de la définition d'une ou de plusieurs dimensions

  • Traitement d'un ou de plusieurs cubes

  • Lecture de la définition d'un ou de plusieurs cubes

  • Traitement d'une ou de plusieurs structures d'exploration de données

  • Traitement d'un ou de plusieurs modèles d'exploration de données

  • Lecture de la définition d'une ou de plusieurs structures d'exploration de données

  • Lecture de la définition d'un ou de plusieurs modèles d'exploration de données

  • Lecture de la définition d'une ou de plusieurs sources de données

Seuls les membres du rôle serveur et les membres d'un rôle de base de données disposant de droits Contrôle total peuvent lire les données Analysis Services sans autorisations supplémentaires. Les autres utilisateurs peuvent lire les données Analysis Services uniquement si leur rôle de base de données leur accorde expressément des autorisations de lecture ou de lecture/écriture sur les objets de données d'Analysis Services, tels que les dimensions, les cubes, les cellules et les modèles d'exploration de données.

Pour plus d'informations :Octroi de droits d'accès d'administrateur

Sécurité au niveau des dimensions

Un rôle de base de données peut spécifier si ses membres sont autorisés à afficher ou à mettre à jour des membres de dimension dans des dimensions de base de données spécifiés. En outre, dans chaque dimension sur laquelle un rôle de base de données dispose de droits, le rôle peut être autorisé à n'afficher ou à ne mettre à jour que des membres spécifiques de la dimension, et non tous les membres de la dimension. Si un rôle de base de données n'est pas autorisé à afficher ou à mettre à jour une dimension particulière et certains membres ou tous les membres de la dimension, les membres de ce rôle de base de données n'ont pas l'autorisation d'afficher la dimension ni aucun de ses membres.

Notes

Les autorisations de dimension accordées à un rôle de base de données s'appliquent aux dimensions de cube basées sur la dimension de base de données, à moins que d'autres autorisations soient expressément accordées dans le cube qui utilise la dimension de base de données.

Pour plus d'informations, consultez Octroi d'accès à une dimension et Octroi d'accès personnalisés aux données d'une dimension.

Sécurité au niveau des cubes

Un rôle de base de données peut spécifier si ses membres disposent d'autorisations de lecture ou de lecture/écriture sur un ou plusieurs cubes dans une base de données. Si un rôle de base de données ne dispose d'autorisations de lecture ou de lecture/écriture dans au moins un cube, les membres du rôle de base de données ne peuvent afficher aucun cube de la base de données, même si ces membres disposent de droits via le rôle pour afficher les membres de la dimension.

Pour plus d'informations, consultez Octroi d'accès à un cube.

Sécurité au niveau des cellules

Un rôle de base de données peut spécifier si ses membres disposent d'autorisations de lecture, de lecture du contingent ou de lecture/écriture sur certaines cellules ou sur toutes les cellules d'un cube. Si un rôle de base de données ne dispose pas d'autorisations sur les cellules d'un cube, les membres du rôle de base de données ne sont pas autorisés à afficher les données du cube. Si un rôle de base de données n'est pas autorisé à afficher certaines dimensions en fonction de la sécurité définie au niveau de la dimension, la sécurité au niveau des cellules ne peut pas étendre les droits des membres du rôle de base de données pour inclure les membres des cellules de cette dimension. D'autre part, si un rôle de base de données est autorisé à afficher les membres d'une dimension, la sécurité au niveau des cellules peut être utilisée pour limiter les membres des cellules de la dimension que les membres du rôle de base de données peuvent afficher.

Pour plus d'informations, consultez Octroi d'accès personnalisés aux données des cellules.

Sécurité des structures d'exploration de données, des modèles d'exploration de données et des sources de données

Un rôle de base de données peut spécifier si ses membres ont des autorisations de lecture ou de lecture/écriture sur les structures d'exploration de données et les modèles d'exploration de données. Un rôle de base de données peut également être autorisé à extraire les données sources et à parcourir un ou plusieurs modèles d'exploration de données. Enfin, un rôle de base de données peut avoir des autorisations de lecture/écriture sur un objet source de données. Cette autorisation permette au rôle de faire référence à cette source de données dans la clause OPENQUERY et d'utiliser la chaîne de connexion définie dans l'objet source de données.

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.

Sécurité des procédures stockées

Dans Analysis Services, les procédures stockées sont des routines externes, écrites dans un langage de programmation Microsoft .NET, qui étendent les possibilités d'Analysis Services. Elles permettent au développeur de tirer parti de l'intégration interlangage, de la gestion des exceptions, ainsi que de la prise en charge du versioning, du déploiement et du débogage.

N'importe quel utilisateur peut appeler une procédure stockée. En fonction la manière dont la procédure stockée a été configurée, elle peut s'exécuter dans le contexte de l'utilisateur qui appelle la procédure ou dans le contexte d'un utilisateur anonyme. Étant donné qu'un utilisateur anonyme n'a pas de contexte de sécurité, utilisez cette fonctionnalité conjointement avec la configuration de l'instance d'Analysis Services pour autoriser les accès anonymes.

Entre le moment où l'utilisateur appelle une procédure stockée et l'exécution, par Analysis Services, de cette dernière, Analysis Services évalue les actions incluses dans la procédure stockée, en se basant sur l'intersection des autorisations accordées à l'utilisateur et du jeu d'autorisations utilisé pour exécuter la procédure stockée. Si la procédure stockée contient une action qui ne peut pas être exécutée par le rôle de base de données de l'utilisateur, l'action n'est pas exécutée.

Les jeux d'autorisations utilisés pour exécuter les procédures stockées sont répertoriés ci-dessous :

  • **SAFE (sécurisé)   **Avec le jeu d'autorisations SAFE, une procédure stockée ne peut pas accéder aux ressources protégées dans le Microsoft .NET Framework. Ce jeu d'autorisations ne permet que les calculs. Il s'agit du jeu d'autorisations le plus sûr ; les informations ne sortent pas d'Analysis Services, les autorisations ne peuvent pas être élevées et les risques de falsification des données sont réduits.

  • **EXTERNAL_ACCESS (accès externe)   **Avec le jeu d'autorisations EXTERNAL_ACCESS, une procédure stockée peut accéder à des ressources externes en utilisant du code managé. L'affectation de ce jeu d'autorisations à une procédure stockée ne générera pas d'erreurs de programmation qui pourraient rendre le serveur instable. Toutefois, ce jeu d'autorisations peut entraîner une divulgation d'informations hors du serveur et des risques d'élévation des autorisations et de falsification des données.

  • **UNRESTRICTED (illimité)   **Avec le jeu d'autorisations UNRESTRICTED, une procédure stockée peut accéder à des ressources externes en utilisant n'importe quel code. Avec ce jeu d'autorisations, il n'existe aucune garantie de sécurité ou de fiabilité pour les procédures stockées.

chiffrement

Par défaut, Analysis Services requiert que toutes les communications entre les clients et les instances Analysis Services soient chiffrées.

Pour plus d'informations, consultez Protection des communications des clients avec une instance Analysis Services

Désactivée par défaut.

Une instance d'Analysis Services est conçue de façon à être sécurisée par défaut. Par conséquent, les fonctionnalités qui pourraient compromettre la sécurité sont désactivées par défaut. Les fonctionnalités suivantes sont désactivées par défaut et doivent être activées explicitement si vous voulez les utiliser :

  • Connectivité HTTP

  • Trace

  • Procédures stockées

  • Partitions distantes

  • Objets liés (Vers)

  • Objets liés (De)

  • Agrégateur d'exploration de données

  • Niveau de protection du client

  • Niveau de protection Web

  • Authentification du client requise

  • Intégration à Active Directory

  • Requêtes OpenRowset ad hoc

  • Connectivité client 8.0

  • Rapports d'incidents