Qu’est-ce qu’une signature d’accès partagé (SAP) OneLake ? (Préversion)
Une signature d’accès partagé (SAP) OneLake fournit un accès sécurisé, à court terme et délégué aux ressources de votre OneLake. Avec une SAP OneLake, vous avez un contrôle granulaire sur la manière dont un client peut accéder à vos données. Par exemple :
- Les ressources auxquelles le client peut accéder.
- Les autorisations dont les clients disposent pour ces ressources.
- Durée de validité de la signature d’accès partagé.
Chaque SAP OneLake (et clé de délégation d’utilisateur) est toujours accompagnée d’une identité Microsoft Entra, a une durée de vie maximale d’une heure et peut uniquement accorder l’accès aux dossiers et aux fichiers dans un élément de données, comme un lakehouse.
Important
Cette fonctionnalité est en préversion.
Fonctionnement d’une signature d’accès partagé
Une signature d’accès partagé est un jeton ajouté à l’URI d’une ressource OneLake. Le jeton contient un ensemble spécial de paramètres de requête qui indiquent comment le client peut accéder à la ressource. L’un des paramètres de requête est la signature. Elle est générée à partir des paramètres SAP et signée avec la clé utilisée pour créer la SAP. OneLake utilise cette signature pour autoriser l’accès au dossier ou au fichier dans OneLake. Les SAP OneLake utilisent le même format et les mêmes propriétés que les SAP déléguées par l’utilisateur Stockage Azure, mais avec des restrictions de sécurité supplémentaires sur leur durée de vie et leur étendue.
Une SAP OneLake est signée avec une clé de délégation d’utilisateur (UDK), qui est accompagnée d’informations d’identification Microsoft Entra. Vous pouvez demander une clé de délégation d’utilisateur avec l’opération Obtenir la clé de délégation d’utilisateur. Ensuite, vous utiliserez cette clé (tant qu’elle est encore valide) pour générer la SAP OneLake. Les autorisations de ce compte Microsoft Entra, ainsi que les autorisations explicitement accordées à la SAP, déterminent l’accès du client à la ressource.
Autoriser une SAP OneLake
Lorsqu’un client ou une application accède à OneLake avec une SAP OneLake, la demande est autorisée à l’aide des informations d’identification Microsoft Entra qui ont demandé l’UDK utilisé pour créer la SAP. Par conséquent, toutes les autorisations OneLake accordées à cette identité Microsoft Entra s’appliquent à la SAP, ce qui signifie qu’une SAP ne peut jamais outrepasser les autorisations de l’utilisateur qui la crée. En outre, lors de la création d’une SAP, vous accordez explicitement des autorisations, ce qui vous permet de fournir des autorisations encore plus étendues à la SAP. Entre l’identité Microsoft Entra, les autorisations explicitement accordées et une courte durée de vie, OneLake suit les meilleures pratiques de sécurité pour fournir un accès délégué à vos données.
Quand utiliser une SAP OneLake
Les SAP OneLake délèguent un accès sécurisé et temporaire à OneLake, soutenu par une identité Microsoft Entra. Les applications sans prise en charge native de Microsoft Entra peuvent utiliser une SAP OneLake pour obtenir un accès temporaire pour charger des données sans configuration complexe et travail d’intégration.
La SAP OneLake prend également en charge les applications servant de proxys entre les utilisateurs et leurs données. Par exemple, certains éditeurs de logiciels indépendants s’exécutent entre les utilisateurs et leur espace de travail Fabric, fournissant des fonctionnalités supplémentaires et éventuellement un autre modèle d’authentification. En déléguant l’accès avec une SAP OneLake, ces éditeurs de logiciels indépendants peuvent gérer l’accès aux données sous-jacentes et fournir un accès direct aux données, même si leurs utilisateurs n’ont pas d’identités Microsoft Entra.
Gérer les SAP OneLake
Deux paramètres de votre client Fabric gèrent l’utilisation des SAP OneLake. Le premier est un paramètre au niveau du client, Utiliser des jetons SAP de courte durée délégués par l’utilisateur, qui gère la génération de clés de délégation d’utilisateur. Étant donné que les clés de délégation d’utilisateur sont générées au niveau du client, elles sont contrôlées par un paramètre de client. Ce paramètre est activé par défaut, car ces clés de délégation d’utilisateur disposent d’autorisations équivalentes à l’identité Microsoft Entra qui les demande et ont toujours une courte durée de vie.
Remarque
Désactiver cette fonctionnalité empêche tous les espaces de travail d’utiliser les SAP OneLake, car tous les utilisateurs ne peuvent pas générer de clés de délégation d’utilisateur.
Le deuxième paramètre est un paramètre d’espace de travail délégué, S’authentifier avec des jetons SAP OneLake délégués par l’utilisateur, qui contrôle si un espace de travail accepte une SAP OneLake. Ce paramètre est désactivé par défaut et peut être activé par un administrateur d’espace de travail qui souhaite autoriser l’authentification avec une SAP OneLake dans son espace de travail. Un administrateur client peut activer ce paramètre pour tous les espaces de travail via le paramètre de client ou laisser les administrateurs de l’espace de travail l’activer.
Vous pouvez également surveiller la création de clés de délégation d’utilisateur via le portail de conformité Microsoft Purview. Vous pouvez rechercher le nom de l’opération generateonelakeudk pour afficher toutes les clés générées dans votre client. Étant donné que la création d’une SAP est une opération côté client, vous ne pouvez pas surveiller ou limiter la création d’une SAP OneLake, mais uniquement la génération d’un UDK.
Meilleures pratiques avec une SAP OneLake
- Utilisez toujours HTTPS pour créer ou distribuer une SAP pour vous protéger contre les attaques d’interception cherchant à intercepter la SAP.
- Effectuez le suivi des délais d’expiration de votre jeton, de votre clé et de votre jeton SAP. Les clés de délégation d’utilisateur et les SAP OneLake ont une durée de vie maximale d’une heure. La tentative de demande d’un UDK ou la génération d’une SAP dont la durée de vie est supérieure à une heure entraîne l’échec de la requête. Pour empêcher l’utilisation de SAP pour étendre la durée de vie des jetons OAuth arrivant à expiration, la durée de vie du jeton doit également être supérieure à la durée d’expiration de la clé de délégation d’utilisateur et de la SAP.
- Soyez prudent quant à l’heure de début d’une SAP. Définir l’heure de début d’une SAP comme l’heure actuelle peut entraîner des défaillances pendant les premières minutes, en raison de différentes heures de début entre les machines (asymétrie de l’horloge). Définir l’heure de début à quelques minutes dans le passé permet de se protéger contre ces erreurs.
- Accordez le moins de privilèges possible à la SAP. Fournir les privilèges minimum requis aux ressources les plus rares possibles est une meilleure pratique de sécurité et réduit l’impact en cas de compromission d’une SAP.
- Surveillez la génération de clés de délégation d’utilisateur. Vous pouvez auditer la création de clés de délégation d’utilisateur dans le portail de conformité Microsoft Purview. Recherchez le nom de l’opération « generateonelakeudk » pour afficher les clés générées dans votre client.
- Comprendre les limitations des SAP OneLake. Étant donné que les SAP OneLake ne peuvent pas disposer d’autorisations au niveau de l’espace de travail, elles ne sont pas compatibles avec certains outils de stockage Azure qui attendent des autorisations au niveau du conteneur pour parcourir les données, comme l’Explorateur Stockage Azure.