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 implémenter efficacement 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 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 de script de modèle tabulaire (TMSL) 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 les métadonnées de nom de table sensibles. Définissez la propriété metadataPermission de la classe tablePermissions dans l’objet Roles sur aucun.

Dans cet exemple, la propriété metadataPermission de la classe tablePermissions pour la table Product n’est définie sur aucune :

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

Sécurité au niveau des colonnes

Comme pour 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 de la classe columnPermissions dans l’objet Roles sur aucun.

Dans cet exemple, la propriété metadataPermission de la classe columnPermissions pour la colonne Taux de base dans la table Employés n’est définie sur aucune :

"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 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 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.

    Table-level security

  • 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 elles peuvent introduire un accès inattendu 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, indicateurs de performance clés, 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 faire référence à une table ou une colonne sécurisée.

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

Power BI

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

OLS message in Power BI visualizations

Limites

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

  • Visualisations QA&
  • Visualisations d’insights rapides
  • visualisations Narration intelligente
  • galerie Excel types de données

Voir aussi

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