Rôles de sécurité (Analysis Services - Données multidimensionnelles)

Les rôles sont utilisés dans Microsoft SQL Server Analysis Services pour gérer la sécurité des objets et des données Analysis Services. En clair, un rôle associe les identificateurs de sécurité (SID) des utilisateurs et des groupes de Microsoft Windows qui disposent de droits et d'autorisations d'accès spécifiques, définis pour des objets gérés par une instance Analysis Services. Deux types de rôles sont fournis dans Analysis Services :

  • le rôle du serveur, un rôle fixe qui fournit un accès administrateur à une instance Analysis Services ;

  • les rôles de base de données, des rôles définis par les administrateurs pour contrôler l'accès des utilisateurs qui ne sont pas administrateurs aux objets et aux données.

La sécurité dans la sécurité Microsoft SQL Server Analysis Services est gérée en utilisant des rôles et des autorisations. Les rôles sont des groupes d'utilisateurs. Les utilisateurs, également appelés membres, peuvent être ajoutés ou supprimés des rôles. Les autorisations pour les objets sont spécifiées par les rôles et tous les membres dans un rôle peuvent utiliser les objets pour lesquels le rôle a des autorisations. Tous les membres dans un rôle ont des autorisations aux objets égales. Les autorisations sont particulières aux objets. Chaque objet a une collection d'autorisations incluant les autorisations accordées pour cet objet, différents jeux d'autorisations peuvent être accordés sur un objet. Chaque autorisation de la collection d'autorisations de l'objet se voit attribuer un rôle unique.

Rôle et objets membres du rôle

Un rôle est un objet conteneur d'une collection d'utilisateurs (membres). La définition du rôle établit l'appartenance des utilisateurs dans Analysis Services. Parce que les autorisations sont assignées par rôle, un utilisateur doit être le membre d'un rôle avant d'avoir accès à tout objet.

Un objet Role est composé des paramètres Name, Id et Members. Le paramètre Members est une collection de chaînes. Chaque membre contient le nom d'utilisateur sous la forme « domaine\nom d'utilisateur ». Le nom est une chaîne qui contient le nom du rôle. L'ID est une chaîne qui contient l'identificateur unique du rôle.

Rôle de serveur

Le rôle de serveur Analysis Services définit l'accès d'administrateur des utilisateurs et des groupes Windows à une instance Analysis Services. Les membres de ce rôle ont accès à toutes les bases de données et tous les objets Analysis Services sur une instance Analysis Services et ils peuvent effectuer les tâches suivantes :

  • effectuer des fonctions d'administration de niveau serveur à l'aide de SQL Server Management Studio ou de Business Intelligence Development Studio, notamment créer des bases de données et définir des propriétés de niveau serveur ;

  • effectuer des fonctions d'administration par programme avec AMO (Analysis Management Objects) ;

  • maintenir les rôles de base de données Analysis Services ;

  • démarrer des traces (à des fins autres que le traitement des événements, qui peut être effectué par un rôle de base de données ayant accès aux processus).

Chaque instance Analysis Services a un rôle de serveur qui définit les utilisateurs pouvant l'administrer. Le nom et ID de ce rôle est Administrateurs et contrairement aux rôles de base de données, le rôle du serveur ne peut pas être supprimé et des autorisations ne peuvent pas être ajoutées ou supprimées. En d'autres termes, un utilisateur est ou n'est pas administrateur pour une instance Analysis Services, selon qu'il ou elle est inclus dans le rôle de serveur de cette instance Analysis Services. Rubriques connexes :Octroi de droits d'accès d'administrateur, Définition des propriétés de configuration du serveur.

Rôles de base de données

Un rôle de base de données Analysis Services définit l'accès utilisateur aux objets et données d'une base de données Analysis Services. Un rôle de base de données est créé comme un objet distinct dans une base de données Analysis Services et s'applique uniquement à la base de données dans laquelle il est créé. Les utilisateurs et les groupes Windows sont inclus dans le rôle par un administrateur, qui définit également les autorisations à l'intérieur du rôle.

Les autorisations d'un rôle peuvent permettre aux membres d'accéder à la base de données et de l'administrer, y compris les objets et les données qu'elle contient. Chaque autorisation a un ou plusieurs droits d'accès qui lui sont associés, ce qui permet d'affiner le contrôle relatif à l'accès à un objet particulier de la base de données. Rubriques connexes :Autorisations et droits d'accès (Analysis Services - Données multidimensionnelles), Octroi d'accès aux utilisateurs

Objets d'autorisation

Les autorisations sont associées à un objet (cube, dimension et autres) pour un rôle particulier. Les autorisations spécifient les opérations que le membre d'un rôle peut effectuer sur un objet.

La classe Permission est une classe abstraite. Par conséquent, vous devez utiliser les classes dérivées pour définir des autorisations sur les objets correspondants. Pour chaque objet, une classe d'autorisation dérivée est définie.

Les actions possibles activées par les autorisations sont répertoriées dans la liste :

Action

Valeurs

Explication

Process

{true, false}

Valeur par défaut=false

Si true, les membres peuvent traiter l'objet et tout objet contenu dans l'objet.

Les autorisations de processus ne s'appliquent pas aux modèles d'exploration de données. Les autorisations MiningModel sont toujours héritées de l'objet MiningStructure.

ReadDefinition

{None, Basic, Allowed}

Valeur par défaut=None

Spécifie si les membres peuvent lire les définitions de données (ASSL) associées à l'objet.

Si Allowed, les membres peuvent lire les définitions ASSL associées à l'objet.

Basic et Allowed sont hérités par les objets contenus dans l'objet. Allowed remplace Basic et None.

Allowed est requis pour DISCOVER_XML_METADATA sur un objet. Basic est requis pour créer des objets liés et des cubes locaux.

Read

{None, Allowed}

Valeur par défaut =None (sauf pour DimensionPermission, où la valeur par défaut est Allowed)

Spécifie si les membres ont l'accès en lecture aux ensembles de lignes et au contenu des données du schéma.

Allowed donne l'accès en lecture à une base de données, vous permettant de la découvrir.

Allowed sur un cube, donne l'accès en lecture aux ensembles de lignes du schéma et l'accès au contenu du cube (sauf si contraint par CellPermission et CubeDimensionPermission).

Allowed sur une dimension, accorde une autorisation de lecture sur tous les attributs dans la dimension (sauf si contraint par CubeDimensionPermission). L'autorisation de lecture est utilisée uniquement pour l'héritage statique à l'objet CubeDimensionPermission. None sur une dimension, masque la dimension et donne uniquement l'accès au membre par défaut pour les attributs pouvant faire l'objet d'une agrégation ; une erreur est levée si la dimension contient un attribut ne pouvant pas faire l'objet d'une agrégation.

Allowed sur un objet MiningModelPermission accorde des autorisations pour consulter des objets dans les ensembles de lignes de schéma et effectuer des jointures de prédiction.

Remarque   Allowed est requis pour lire ou écrire dans tout objet dans la base de données.

Write

{None, Allowed}

Valeur par défaut=None

Spécifie si les membres ont un accès en écriture aux données de l'objet parent.

L'accès s'applique aux sous-classes Dimension, Cube, et MiningModel. Il ne s'applique pas aux sous-classes MiningStructure de base de données, qui génèrent une erreur de validation.

Allowed sur un objet Dimension accorde une autorisation d'écriture sur tous les attributs dans une dimension.

Allowed sur un objet Cube accorde l'autorisation d'écriture sur les cellules du cube pour les partitions définies comme Type=writeback.

Allowed sur un objet MiningModel accorde l'autorisation de modifier le contenu du modèle.

Allowed sur un objet MiningStructure n'a aucune signification spécifique dans Analysis Services.

RemarqueRemarque
Write ne peut pas être défini sur Allowed à moins que la lecture ne soit également définie sur Allowed

Administer

RemarqueRemarque
Uniquement dans les autorisations de base de données

{true, false}

Valeur par défaut=false

Spécifie si les membres peuvent administrer une base de données.

true accorde aux membres l'accès à tous les objets dans une base de données.

Un membre peut avoir des autorisations d'administrateur pour une base de données spécifique, mais pas pour les autres.