Partager via


Contrôle d’accès en fonction du rôle (RBAC)

OneLake RBAC utilise des attributions de rôles pour appliquer des autorisations à ses membres. Vous pouvez attribuer des rôles à des individus ou à des groupes de sécurité, des groupes Microsoft 365 et des listes de distribution. Chaque membre du groupe d’utilisateurs obtient le rôle attribué.

Si une personne se trouve dans deux groupes de sécurité ou plus ou un groupe Microsoft 365, elle obtient le niveau d’autorisation le plus élevé fourni par les rôles. Si vous imbriquez des groupes d'utilisateurs et affectez un rôle à un groupe, tous les utilisateurs contenus disposent d'autorisations.

OneLake RBAC permet aux utilisateurs de définir uniquement des rôles d’accès aux données pour les éléments Lakehouse.

OneLake RBAC limite l’accès aux données pour les utilisateurs disposant d’une visionneuse d’espace de travail ou d’un accès en lecture à un lakehouse. Cela ne s’applique pas aux administrateurs, aux membres et aux contributeurs de l’espace de travail. Par conséquent, OneLake RBAC prend en charge uniquement le niveau de lecture des autorisations.

Comment créer des rôles RBAC

Vous pouvez définir et gérer des rôles RBAC OneLake via vos paramètres d’accès aux données lakehouse.

Pour en savoir plus, consultez Prise en main des rôles d’accès aux données.

Rôle RBAC par défaut dans lakehouse

Lorsque l’utilisateur crée un lakehouse, OneLake génère un rôle RBAC par défaut nommé Default Readers. Le rôle permet à tous les utilisateurs disposant de l’autorisation ReadAll de lire tous les dossiers de l’élément.

Voici la définition de rôle par défaut :

Élément Fabric Nom du rôle Autorisation Dossiers inclus Membres attribués
Lakehouse DefaultReader ReadAll Tous les dossiers sous Tables/ et Files/ Tous les utilisateurs disposant de l’autorisation ReadAll

Remarque

Pour restreindre l’accès à des utilisateurs spécifiques ou à des dossiers spécifiques, vous devez modifier le rôle par défaut ou le supprimer et créer un rôle personnalisé.

Héritage dans OneLake RBAC

Pour tout dossier donné, les autorisations RBAC OneLake héritent toujours de l’intégralité de la hiérarchie des fichiers et sous-dossiers du dossier.

Par exemple, étant donné la hiérarchie suivante d’un lakehouse dans OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Pour la hiérarchie donnée, les autorisations RBAC OneLake pour Role1 et Role2 héritent de la manière suivante :

Rôle Autorisation Dossier défini dans l’autorisation Dossiers et fichiers héritent de l’autorisation
Rôle1 Lecture folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Rôle2 Lecture folder2
    │   file21.txt

Parcourir et répertorier dans OneLake RBAC

OneLake RBAC fournit un parcours automatique des éléments parents pour vous assurer que les données sont faciles à découvrir. En accordant à un utilisateur le droit de lecture sur le subfolder11, vous lui donnez la possibilité d'énumérer et de parcourir l'annuaire parent, le folder1. Cette fonctionnalité est similaire aux autorisations de dossier Windows où l’accès à un sous-dossier fournit la découverte et le parcours pour les répertoires parents. La liste et le parcours accordés au parent ne s’étendent pas à d’autres éléments en dehors des parents directs, ce qui garantit la sécurité des autres dossiers.

Par exemple, étant donné la hiérarchie suivante d’un lakehouse dans OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Pour la hiérarchie donnée, les autorisations RBAC OneLake pour « Role1 » fournissent l’accès suivant. Notez que l’accès à file11.txt n’est pas visible, car il n’est pas parent de subfolder11. De même pour Role2, file111.txt n’est pas visible non plus.

Rôle Autorisation Dossier défini dans l’autorisation Dossiers et fichiers héritent de l’autorisation
Rôle1 Lecture subfolder11
Files/
────folder1
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Rôle2 Lecture subfolder111
Files/
────folder1
│   │
│   └───subfolder11
|       │
│       └───subfolder111
|            │   file1111.txt

Pour les raccourcis, le comportement de liste est légèrement différent. Les raccourcis vers des sources de données externes se comportent de la même façon que les dossiers, mais les raccourcis vers d’autres emplacements OneLake ont un comportement spécialisé. L’accès à un raccourci OneLake est déterminé par les autorisations cibles du raccourci. Lors de l'établissement de la liste des raccourcis, il n'est pas nécessaire de vérifier l'accès à la cible. Par conséquent, lors de la liste d’un répertoire, tous les raccourcis internes sont retournés, quel que soit l’accès d’un utilisateur à la cible. Lorsqu'un utilisateur tente d'ouvrir le raccourci, le contrôle d'accès est évalué et l'utilisateur ne voit que les données pour lesquelles il dispose des autorisations nécessaires. Pour plus d’informations sur les raccourcis, consultez la section relative à la sécurité des raccourcis.

Les exemples ci-dessous utilisent l’arborescence des dossiers suivante.

Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Rôle Autorisation Dossier défini dans l’autorisation Résultat de la liste des fichiers
Rôle1 Lecture folder1
Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Rôle2 N/A N/A
Files/
│   
└───shortcut2
|
└───shortcut3

Comment les autorisations RBAC OneLake sont évaluées avec des autorisations Fabric

Les autorisations d’espace de travail et d’élément vous permettent d’accorder un accès « à gros grains » aux données dans OneLake pour l’élément donné. Les autorisations RBAC OneLake vous permettent de restreindre l’accès aux données dans OneLake uniquement aux dossiers spécifiques.

Diagramme montrant l’ordre des évaluations des autorisations avec l’espace de travail, l’élément et RBAC.

Autorisations RBAC OneLake et espace de travail

Les autorisations de l'espace de travail constituent la première délimitation de sécurité pour les données au sein de OneLake. Chaque espace de travail représente un domaine ou une zone de projet unique dans lequel les équipes peuvent collaborer sur des données. Vous gérez la sécurité dans l’espace de travail au moyen de rôles de l’espace de travail Fabric. En savoir plus sur le contrôle d’accès en fonction du rôle (RBAC) Fabric : rôles d’espace de travail

Les rôles d’espace de travail dans Fabric accordent les autorisations suivantes dans OneLake.

Permission Administrateur Member Contributeur Observateur
Afficher les fichiers dans OneLake Toujours* Oui Toujours* Oui Toujours* Oui Non par défaut. Utilisez OneLake RBAC pour accorder l’accès.
Écrire des fichiers dans OneLake Toujours* Oui Toujours* Oui Toujours* Oui Non

Remarque

*Étant donné que l’espace de travail Administration, les rôles membres et contributeur accordent automatiquement des autorisations d'accès en écriture à OneLake, il remplace les autorisations d'accès en lecture RBAC OneLake.

Rôle d’espace de travail OneLake applique-t-il des autorisations d'accès en lecture RBAC ?
Administration, Contributeur Membre Non, la sécurité OneLake ignorera toutes les autorisations d'accès en lecture de OneLake RBC
Visionneuse Oui, si elle est définie, les autorisations d'accès en lecture RBAC OneLake sont appliquées

Autorisations RBAC OneLake et Lakehouse

Au sein d’un espace de travail, les éléments Fabric peuvent avoir des autorisations configurées séparément des rôles d’espace de travail. Vous pouvez configurer les autorisations en partageant un élément ou en gérant les autorisations d’un élément. Les autorisations suivantes déterminent la capacité d’un utilisateur à effectuer des actions sur les données dans OneLake.

Autorisations Lakehouse

Autorisation Lakehouse Peut afficher des fichiers dans OneLake ? Peut écrire des fichiers dans OneLake ? Peut lire des données via le point de terminaison d’analytique SQL ?
Lire Non par défaut, utilisez OneLake RBAC pour accorder l’accès. Non Non
ReadAll Oui, par défaut. Utilisez OneLake RBAC pour restreindre l’accès. Non Non
Écrire Oui Oui Oui
Reshare, ViewOutput, ViewLogs N/A : ne peut pas être accordé par lui-même N/A : ne peut pas être accordé par lui-même N/A : ne peut pas être accordé par lui-même

Autorisations RBAC OneLake et points de terminaison d'analytique SQL de Lakehouse

Un point de terminaison d’analytique SQL est un entrepôt généré automatiquement à partir d’un Lakehouse dans Microsoft Fabric. Un client peut passer de la vue « Lake » de Lakehouse (qui prend en charge l’ingénierie des données et Apache Spark) à la vue « SQL » du même Lakehouse. En savoir plus sur le point de terminaison d’analytique SQL dans la documentation Data Warehouse : point de terminaison d’analytique SQL.

Autorisation de point de terminaison d’analytique SQL Les utilisateurs peuvent afficher des fichiers via un point de terminaison OneLake ? Les utilisateurs peuvent écrire des fichiers via un point de terminaison OneLake ? Les utilisateurs peuvent lire les données via le point de terminaison d’analytique SQL ?
Lire Non par défaut, utilisez OneLake RBAC pour accorder l’accès. Non Non par défaut, mais peut être configuré avec des autorisations granulaires SQL
ReadData Non par défaut. Utilisez OneLake RBAC pour accorder l’accès. Non Oui
Écrire Oui Oui Oui

Autorisations RBAC OneLake et Modèle sémantique Par défaut Lakehouse

Dans Microsoft Fabric, lorsque l'utilisateur crée un lakehouse, le système fournit également le modèle sémantique par défaut associé. Le modèle sémantique par défaut a des métriques en plus des données de lakehouse. Le modèle sémantique permet à Power BI de charger des données pour les rapports.

Autorisations par défaut du modèle sémantique Peut afficher des fichiers dans OneLake ? Peut écrire des fichiers dans OneLake ? Le schéma peut-il être vu dans le modèle sémantique ? Peut lire des données dans le modèle sémantique ?
Lire Non par défaut, utilisez OneLake RBAC pour accorder l’accès. Non Non Oui, par défaut. Peut être limité avec la sécurité au niveau objet Power BI et la sécurité au niveau des lignes Power BI
Build Oui, par défaut. Utilisez OneLake RBAC pour restreindre l’accès. Oui Oui Oui
Écrire Oui Oui Oui Oui
Repartager N/A : ne peut pas être accordé par lui-même N/A : ne peut pas être accordé par lui-même N/A : ne peut pas être accordé par lui-même N/A : ne peut pas être accordé par lui-même

Autorisations RBAC Lakehouse Sharing et OneLake

Lorsqu'un utilisateur partage un lakehouse, il accorde à d'autres utilisateurs ou à un groupe d'utilisateurs l'accès à un lakehouse sans donner accès à l'espace de travail et au reste de ses éléments. Shared Lakehouse peut être trouvé via Data Hub ou la section Partagée avec moi dans Microsoft Fabrics.

Lorsqu'une personne partage un lakehouse, elle peut également permettre d’accéder au point de terminaison SQL et au modèle sémantique par défaut associé.

Capture d’écran de l’écran d’accès à Lakehouse Grant People.

Option de partage Peut afficher des fichiers dans OneLake ? Peut écrire des fichiers dans OneLake ? Peut lire des données via le point de terminaison d’analytique SQL ? Peut afficher et créer des modèles sémantiques ?
Aucune autorisation supplémentaire sélectionnée Non par défaut, utilisez OneLake RBAC pour accorder l’accès. Non Non Non
Lire tout Apache Spark Oui, par défaut. Utilisez OneLake RBAC pour restreindre l’accès. Non Non Non
Lire toutes les données de point de terminaison SQL Non par défaut, utilisez OneLake RBAC pour accorder l’accès. Non Oui Non
Créer des rapports sur le jeu de données par défaut Oui, par défaut. Utilisez OneLake RBAC pour restreindre l’accès. Non Non Oui

En savoir plus sur le modèle d’autorisations de partage de données :

Raccourcis

RBAC OneLake dans les raccourcis internes

Pour tout dossier dans un lakehouse, les autorisations RBAC sont toujours héritées à tous les raccourcis internes où ce dossier est défini comme cible.

Lorsqu’un utilisateur accède à des données via un raccourci vers un autre emplacement OneLake, l’identité de l’utilisateur appelant est utilisée pour autoriser l’accès aux données dans le chemin cible du raccourci*. Par conséquent, cet utilisateur doit disposer des autorisations RBAC OneLake dans l'emplacement cible pour lire les données.

Important

Lors de l’accès aux raccourcis via des modèles sémantiques Power BI ou T-SQL, l’identité de l’utilisateur appelant n’est pas transmise à la cible de raccourci. L’identité du propriétaire de l’élément appelant est transmise à la place, en déléguant l’accès à l’utilisateur appelant.

La définition des autorisations RBAC pour le raccourci interne n’est pas autorisée et doit être définie sur le dossier cible situé dans l’élément cible. Étant donné que la définition des autorisations RBAC est limitée aux éléments lakehouse uniquement, OneLake active les autorisations RBAC uniquement pour les raccourcis ciblant les dossiers dans les éléments lakehouse.

Le tableau suivant spécifie si le scénario de raccourci correspondant est pris en charge pour définir les autorisations RBAC OneLake.

Scénario de raccourci interne Autorisations RBAC OneLake prises en charge ? Commentaires
Raccourci dans un lakehouse1 pointant vers folder2 situé dans le même lakehouse. Prise en charge. Pour restreindre l’accès aux données dans le raccourci, définissez Le contrôle d’accès en fonction du rôle (RBAC) OneLake pour folder2.
Raccourci dans un lakehouse1 pointant vers folder2 situé dans un autre lakehouse2 Prise en charge. Pour restreindre l’accès aux données dans le raccourci, définissez OneLake RBAC pour folder2 dans lakehouse2.
Raccourci dans un lakehouse pointant vers une table située dans un datawarehouse Non pris en charge. OneLake ne permet pas de définir des autorisations RBAC dans les entrepôts de données. L'accès est déterminé sur la base de l'autorisation ReadAll.
Raccourci dans un lakehouse pointant vers une table située dans une base de données KQL Non pris en charge. OneLake ne prend pas en charge la définition des autorisations RBAC dans les bases de données KQL. L'accès est déterminé sur la base de l'autorisation ReadAll.

RBAC OneLake dans les raccourcis externes (ADLS, S3, Dataverse)

OneLake prend en charge la définition des autorisations RBAC pour les raccourcis tels que Raccourcis ADLS, S3 et Dataverse. Dans ce cas, le modèle RBAC est appliqué au-dessus du modèle d’autorisation délégué activé pour ce type de raccourci.

Supposons que user1 crée un raccourci S3 dans un lakehouse pointant vers un dossier dans un compartiment AWS S3. Ensuite, user2 tente d’accéder aux données dans ce raccourci.

La connexion S3 autorise-t-elle l'accès à l'user1 délégué ? OneLake RBAC autorise-t-il l’accès pour l’user2 demandé ? Résultat : user2 peut-il accéder aux données dans le raccourci S3 ?
Oui Oui Oui
No Non Non
Non Oui No
Oui No Non

Les autorisations RBAC doivent être définies pour l’ensemble de l’étendue du raccourci (dossier cible entier), mais héritent de manière récursive à tous ses sous-dossiers et fichiers.

En savoir plus sur les raccourcis S3, ADLS et Dataverse dans les raccourcis OneLake.

Limites du système RBAC OneLake

Le tableau suivant présente les limitations des rôles d’accès aux données OneLake.

Scénario Limite
Nombre maximum de rôles RBAC OneLake par élément Fabric Au maximum 250 rôles pour chaque élément lakehouse.
Nombre maximal de membres par rôle RBAC OneLake Au maximum 500 utilisateurs et groupes d’utilisateurs par rôle.
Nombre maximal d’autorisations par rôle RBAC OneLake Au maximum 500 autorisations par rôle

Latences dans OneLake RBAC

  • Si vous modifiez une définition de rôle RBAC OneLake, il faut environ 5 minutes pour que OneLake applique les définitions mises à jour.
  • Si vous modifiez un groupe d’utilisateurs dans le rôle RBAC OneLake, il faut environ une heure pour que OneLake applique les autorisations du rôle sur le groupe d’utilisateurs mis à jour.