Comment sécuriser une lakehouse pour les équipes Science des données
Introduction
Dans cet article, nous allons fournir une vue d’ensemble de la configuration de la sécurité d’un lakehouse dans Fabric pour une utilisation avec les équipes et charges de travail de science des données.
Fonctionnalités de sécurité
Microsoft Fabric utilise un modèle de sécurité multicouche avec différents contrôles disponibles à différents niveaux afin de fournir uniquement les autorisations minimales nécessaires. Pour plus d’informations sur les différentes fonctionnalités de sécurité disponibles dans Fabric, consultez ce document.
Sécuriser par cas d’utilisation
La sécurité dans Microsoft Fabric est optimisée autour de la sécurisation des données pour des cas d’utilisation spécifiques. Un cas d'utilisation est un ensemble d’utilisateurs qui ont besoin d’un accès spécifique et d’accès aux données via un moteur donné. Pour les scénarios de science des données, voici quelques exemples de cas d'utilisation :
- Enregistreurs Apache Spark : utilisateurs qui doivent écrire des données dans un lakehouse à l’aide de notebooks Apache Spark.
- Lecteurs Apache Spark : utilisateurs qui doivent lire des données à l’aide de notebooks Apache Spark.
- Lecteurs de pipeline : utilisateurs qui doivent lire des données à partir d’un lakehouse à l’aide de pipelines.
- Créateurs de raccourcis : utilisateurs qui doivent créer des raccourcis vers des données dans un lakehouse.
Nous pouvons ensuite aligner chaque cas d’utilisation avec les autorisations nécessaires dans Fabric.
Accès en écriture
Pour les utilisateurs qui doivent écrire des données dans Fabric, l’accès est contrôlé via les rôles d’espace de travail Fabric. Il existe trois rôles d’espace de travail qui accordent des autorisations d’écriture : Administration, Membre et Contributeur. Choisissez le rôle requis et accordez aux utilisateurs l’accès à celui-ci.
Les utilisateurs disposant d’un accès en écriture ne sont pas limités par les rôles d’accès aux données OneLake (préversion). Les utilisateurs en écriture peuvent avoir leur accès limité aux données via les données de point de terminaison d’analytique SQL, mais conservent un contrôle total sur les données dans OneLake. Pour restreindre l’accès aux données pour les utilisateurs en écriture, un espace de travail distinct doit être créé pour ces données.
Accès en lecture
Pour les utilisateurs qui doivent lire des données à l’aide de pipelines ou de notebooks Apache Spark, les autorisations sont régies par les autorisations d’élément Fabric avec les rôles d’accès aux données OneLake (préversion). Les autorisations d’élément Fabric régissent les éléments qu’un utilisateur peut voir et comment ils peuvent accéder à cet élément. Les rôles d’accès aux données OneLake régissent les données auxquelles l’utilisateur peut accéder via des expériences qui se connectent à OneLake. Pour les lakehouses sans la préversion des rôles d’accès aux données OneLake activés, l’accès est régi par l’autorisation d’élément ReadAll et l’accès aux données OneLake est accordé pour l’ensemble du lakehouse.
Pour lire des données, un utilisateur a tout d’abord besoin d’accéder au lakehouse où ces données se trouvent. L’octroi de l’accès à un lakehouse peut être effectué en sélectionnant le bouton Partager sur un lakehouse à partir de la page de l’espace de travail ou à partir de l’interface utilisateur lakehouse. Entrez les adresses e-mail ou le groupe de sécurité pour ces utilisateurs, puis sélectionnez Partager. (Ne cochez pas les cases Autorisations supplémentaires. Pour les lakehouses sans la préversion des rôles d’accès aux données OneLake activée, vérifiez la zone Lire toutes les données OneLake (ReadAll)).
Ensuite, accédez au lakehouse et sélectionnez le bouton Gérer l’accès aux données OneLake (préversion). Grâce à ces options, vous pouvez créer des rôles qui permettent aux utilisateurs de voir et de lire des dossiers spécifiques dans le Lakehouse. L’accès aux dossiers n’est pas autorisé par défaut. Les utilisateurs ajoutés à un rôle sont autorisés à accéder aux dossiers couverts par ce rôle. Pour plus d’informations, consultez rôles d’accès aux données OneLake (préversion). Créez des rôles si nécessaire pour accorder aux utilisateurs l’accès aux dossiers via des pipelines, des raccourcis ou des notebooks Spark.
Important
Tous les lakehouses utilisant la préversion des rôles d’accès aux données OneLake ont un rôle DefaultReader qui permet d’accéder aux données lakehouse. Si un utilisateur dispose de l’autorisation ReadAll, il ne sera pas limité par d’autres rôles d’accès aux données. Assurez-vous que les utilisateurs inclus dans un rôle d’accès aux données ne font pas également partie du rôle DefaultReader ou suppriment le rôle DefaultReader.
Utiliser avec des raccourcis
Les raccourcis sont une fonctionnalité OneLake qui permet aux données d’être référencées à partir d’un emplacement sans copier physiquement les données. Pour plus d’informations sur les raccourcis, consultez le document ici.
Vous pouvez sécuriser les données à utiliser avec des raccourcis comme n’importe quel autre dossier dans OneLake. Après avoir configuré les rôles d’accès aux données, les utilisateurs d’autres lakehouses pourront uniquement créer des raccourcis vers des dossiers auxquels ils ont accès. Cela peut être utilisé pour permettre aux utilisateurs d’autres espaces de travail d’accéder uniquement aux données sélectionnées dans un lakehouse.
Important
Le point de terminaison d’analytique SQL utilise une identité fixe pour accéder aux raccourcis. Lorsqu’un utilisateur interroge une table de raccourcis via le point de terminaison d’analytique SQL, l’identité du propriétaire lakehouse est case activée pour accéder au raccourci. Cela signifie que lors de la création de raccourcis à utiliser avec des requêtes SQL, le créateur lakehouse doit également faire partie de tous les rôles d’accès aux données OneLake qui limitent l’accès aux dossiers sélectionnés uniquement.