Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La sécurité au niveau des colonnes (CLS) est une fonctionnalité de la sécurité OneLake (préversion) qui vous permet d’avoir accès à des colonnes sélectionnées dans une table au lieu d’un accès total à la table. CLS vous permet de spécifier un sous-ensemble de tables auxquelles les utilisateurs peuvent accéder. Les colonnes supprimées de la liste ne sont pas visibles par les utilisateurs.
Conditions préalables
- Élément dans OneLake avec la sécurité OneLake activée. Pour plus d’informations, consultez Prise en main des rôles d’accès aux données OneLake.
- Basculez le point de terminaison d’analytique SQL sur le lakehouse en mode d’identité de l’utilisateur via l’ongletSécurité .
- Pour créer des modèles sémantiques, procédez comme suit pour créer un modèle DirectLake.
- Pour obtenir la liste complète des limitations, consultez la section limitations connues.
Appliquer la sécurité au niveau des colonnes
OneLake security CLS est appliqué de l’une des deux manières suivantes :
- Tables filtrées dans les moteurs Fabric : Les requêtes sur les moteurs Fabric, comme les notebooks Spark, entraînent l’affichage par l’utilisateur uniquement des colonnes qu’il est autorisé à voir conformément aux règles CLS.
- Accès bloqué aux tables : les tables avec des règles CLS appliquées ne peuvent pas être lues en dehors des moteurs Fabric pris en charge.
Pour les tables filtrées, les comportements suivants s’appliquent :
- Les règles CLS ne limitent pas l’accès aux utilisateurs avec les rôles Administrateur, Membre et Contributeur.
- Si la règle CLS a une incompatibilité avec la table sur laquelle elle est définie, la requête échoue et aucune colonne n’est retournée. Par exemple, si CLS est défini pour une colonne qui ne fait pas partie de la table.
- Les requêtes des tables CLS échouent avec une erreur si un utilisateur fait partie de deux rôles différents et que l'un des rôles dispose d'une sécurité au niveau des lignes (RLS).
- Les règles CLS ne peuvent être appliquées que pour les objets de table Parquet Delta.
- Les règles CLS appliquées aux objets de table non Delta bloquent l’accès à la table entière pour les membres du rôle.
- Si un utilisateur exécute une
select *requête sur une table où il n’a accès qu’à certaines colonnes, les règles CLS se comportent différemment en fonction du moteur Fabric.- Notebooks Spark : la requête réussit et affiche uniquement les colonnes autorisées.
- Point de terminaison d’analyse SQL : l’accès aux colonnes est bloqué pour les colonnes que l’utilisateur ne peut pas accéder.
- Modèles sémantiques : l’accès aux colonnes est bloqué pour les colonnes auxquels l’utilisateur ne peut pas accéder.
Définir des règles de sécurité au niveau des colonnes
Vous pouvez définir la sécurité au niveau des colonnes dans le cadre d’un rôle de sécurité OneLake pour n’importe quelle table Delta-parquet dans la section Tables d’un élément. CLS est toujours spécifié pour une table et peut être activé ou désactivé. Par défaut, CLS est désactivé et les utilisateurs ont accès à toutes les colonnes. Les utilisateurs peuvent activer CLS et supprimer des colonnes de la liste pour révoquer l’accès.
Important
La suppression de l’accès à une colonne ne refuse pas l’accès à cette colonne si un autre rôle lui accorde l’accès.
Pour définir la sécurité au niveau des colonnes, procédez comme suit :
Accédez à votre élément de données et sélectionnez Gérer la sécurité OneLake (préversion).
Sélectionnez un rôle existant pour lequel vous souhaitez définir la sécurité des tables ou des dossiers, ou sélectionnez Nouveau pour créer un rôle.
Sur la page des détails du rôle, sélectionnez Autres options (...) en regard du tableau pour lequel vous souhaitez définir CLS, puis Sécurité des colonnes (préversion).
Par défaut, CLS pour une table est désactivé. Sélectionnez Activer CLS ou créez une règle pour l’activer.
L’interface utilisateur remplit une liste de colonnes pour cette table que les utilisateurs sont autorisés à voir. Par défaut, elle affiche toutes les colonnes.
Pour restreindre l’accès à une colonne, cochez la case en regard du nom de la colonne, puis sélectionnez Supprimer. Au moins une colonne doit rester dans la liste des colonnes autorisées.
Sélectionnez Enregistrer pour mettre à jour le rôle.
Si vous souhaitez ajouter une colonne supprimée, sélectionnez Nouvelle règle. Cette action ajoute une nouvelle entrée de règle CLS à la fin de la liste. Ensuite, utilisez la liste déroulante pour choisir la colonne que vous souhaitez inclure dans l’accès.
Une fois vos modifications terminées, sélectionnez Enregistrer.
Activer la sécurité OneLake pour le point de terminaison d’analytique SQL
Avant de pouvoir utiliser la sécurité OneLake avec le point de terminaison SQL analytique, vous devez activer le mode d’identité de l'utilisateur. Les points de terminaison d’analytique SQL nouvellement créés sont par défaut en mode d’identité de l’utilisateur. Ces étapes doivent donc être suivies pour les points de terminaison d’analytique SQL existants.
Remarque
Le passage au mode d’identité de l’utilisateur doit être effectué une seule fois par point de terminaison d’analytique SQL. Les points de terminaison qui ne sont pas basculés vers le mode d’identité de l’utilisateur continueront d’utiliser une identité déléguée pour évaluer les autorisations.
Accédez au point de terminaison d’analytique SQL.
Dans l'interface SQL Analytics, sélectionnez l'onglet Sécurité dans la barre d'outils.
Sélectionnez l’identité de l’utilisateur en mode d’accès OneLake.
Dans l’invite, sélectionnez Oui, utilisez l’identitéde l’utilisateur.
Le point de terminaison d’analytique SQL est maintenant prêt à être utilisé avec la sécurité OneLake.
Combiner la sécurité au niveau des lignes et des colonnes
La sécurité au niveau des lignes et des colonnes peut être utilisée ensemble pour restreindre l’accès utilisateur à une table. Toutefois, les deux stratégies doivent être appliquées à l’aide d’un seul rôle de sécurité OneLake. Dans ce scénario, l’accès aux données est limité en fonction des règles définies dans le même rôle.
La sécurité OneLake ne prend pas en charge la combinaison de deux rôles ou plus lorsque l’un contient des règles RLS et un autre des règles CLS. Les utilisateurs qui tentent d’accéder aux tables qui font partie d’une combinaison de rôles non prise en charge reçoivent des erreurs de requête.