Sécurité au niveau des objets

S’applique à : SQL Server Analysis Services Azure Analysis Services Power BI Premium

La sécurité du modèle de données commence par l’implémentation efficace des rôles et des filtres au niveau des lignes pour définir des autorisations utilisateur sur les objets et les données du modèle de données. Pour les modèles tabulaires 1400 et supérieurs, vous pouvez également définir la sécurité au niveau de l’objet (OLS), qui comprend la sécurité au niveau de la table et la sécurité au niveau des colonnes dans l' objet Roles. Lorsqu’elles sont configurées, les données de table et de colonne sont sécurisées, ainsi que les métadonnées permettant d’empêcher un utilisateur malveillant de découvrir qu’un tel objet existe.

OLS peut être configuré à l’aide de l' éditeur tabulaireOpen source, du langage de script de modèle tabulaire (TMSL)ou du modèle d’objet tabulaire (Tom).

Sécurité au niveau des tables

Avec la sécurité au niveau de la table, vous pouvez non seulement restreindre l’accès aux données de table, mais également les métadonnées de nom de table sensibles. Définissez la propriété metadatapermission alors que de la classe autorisations dans l' objet Roles sur None.

Dans cet exemple, la propriété Metadatapermission alors que de la classe autorisations pour la table Product est définie sur None :

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Product",
        "metadataPermission": "none"
      }
    ]
  }

Sécurité au niveau des colonnes

Similaire à la sécurité au niveau de la table, avec la sécurité au niveau des colonnes, vous pouvez non seulement restreindre l’accès aux données de colonne, mais également les métadonnées de nom de colonne sensibles. Définissez la propriété metadatapermission alors que de la classe columnPermissions dans l' objet Roles sur None.

Dans cet exemple, la propriété Metadatapermission alors que de la classe columnPermissions pour la colonne de taux de base dans la table Employees est définie sur None :

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Employee",
        "columnPermissions": [
          {
            "name": "Base Rate",
            "metadataPermission": "none"
          }
        ]
      }
    ]
  }

Restrictions

  • La sécurité au niveau de la table ne peut pas être définie pour un modèle s’il arrête une chaîne de relation. Une erreur est générée au moment de la conception. Par exemple, s’il existe des relations entre les tables A et B, et B et C, vous ne pouvez pas sécuriser la table B. Si la table B est sécurisée, une requête sur la table A ne peut pas transiter les relations entre les tables A et B, et B et C. Dans ce cas, il est possible de configurer une relation distincte entre les tables A et C.

    Sécurité au niveau des tables

  • La sécurité au niveau des lignes et la sécurité au niveau des objets ne peuvent pas être combinées à partir de différents rôles, car cela peut entraîner un accès involontaire aux données sécurisées. Une erreur est générée au moment de la requête pour les utilisateurs qui sont membres d’une telle combinaison de rôles.

  • Les calculs dynamiques (mesures, KPI, DetailRows) sont automatiquement restreints s’ils font référence à une table ou une colonne sécurisée. Bien qu’il n’existe aucun mécanisme pour sécuriser explicitement une mesure, il est possible de sécuriser implicitement une mesure en mettant à jour l’expression pour faire référence à une table ou une colonne sécurisée.

  • Les relations qui font référence à une colonne sécurisée fonctionnent à condition que la table dans laquelle se trouve la colonne ne soit pas sécurisée.

Power BI

Les visualisations faisant référence à un objet DataSet avec OLS configuré affichent le même message que pour un objet supprimé ou non existant.

message OLS dans les visualisations Power BI

Limites

les jeux de données avec OLS configurés pour un ou plusieurs objets de table ou de colonne ne sont pas pris en charge avec ces fonctionnalités de Power BI :

  • Q&une visualisation
  • Visualisations rapides
  • Visualisations de narration intelligentes
  • Excel Galerie de types de données

Voir aussi

Rôles
Roles, objet (TMSL)
Langage TMSL (Tabular Model Scripting Language)
Modèle d’objet tabulaire (Tom).