Partager via


Sécurité au niveau des objets

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

La sécurité des modèles de données commence par l’implémentation efficace de rôles et de filtres au niveau des lignes pour définir des autorisations utilisateur sur les données et les objets du modèle de données. Pour les modèles tabulaires 1400 et ultérieurs, vous pouvez également définir la sécurité au niveau de l’objet (OLS), qui inclut 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 pour empêcher un utilisateur malveillant de découvrir qu’un tel objet existe.

OLS peut être configuré à l’aide de l’éditeur tabulaire open source, du langage TMSL (Tabular Model Scripting Language) ou du modèle 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 aux métadonnées de nom de table sensibles. Définissez la propriété metadataPermission de la classe tablePermissions dans l’objet Roles sur none.

Dans cet exemple, la propriété metadataPermission de la classe tablePermissions 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

À l’instar de 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 aux métadonnées de nom de colonne sensibles. Définissez la propriété metadataPermission de la classe columnPermissions dans l’objet Roles sur none.

Dans cet exemple, la propriété metadataPermission de la classe columnPermissions pour la colonne Taux de base de 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 interrompt une chaîne de relation. Une erreur est générée au moment du design. 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 la table A et B, et B et C. Dans ce cas, une relation distincte peut être configurée 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 de l’objet ne peuvent pas être combinées à partir de différents rôles, car cela peut introduire 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 limités s’ils référencent 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 qu’elle fasse référence à une table ou une colonne sécurisée.

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

Power BI

Les visualisations référençant un objet de modèle sémantique avec OLS configuré affichent le même message que pour un objet supprimé ou inexistant.

Message OLS dans les visualisations Power BI

Limites

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

  • Visualisations Q&R
  • Visualisations d’insights rapides
  • Visualisations de narration intelligente
  • Galerie Types de données Excel

Voir aussi

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