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 |
|
Rôle2 | Lecture | folder2 |
|
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 |
|
Rôle2 | Lecture | subfolder111 |
|
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 |
|
Rôle2 | N/A | N/A |
|
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.
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 |
Execute, 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 d'analytique SQL et au modèle sémantique par défaut associé.
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. | Pris 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 | Pris 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.