Qu’est-ce qu’une signature d’accès partagé OneLake (SAP) ? (Préversion)
Une signature d’accès partagé 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 façon dont un client peut accéder à vos données. Par exemple :
- Ressources auxquelles le client peut accéder.
- Autorisations dont ils ont besoin pour les 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 soutenu par une identité Microsoft Entra, a une durée de vie maximale de 1 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 version préliminaire.
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 construite à 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 Stockage Azure SAP déléguée par l’utilisateur, 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 sauvegardée par des 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 utilisez cette clé (alors qu’elle est toujours 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.
Autorisation d’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é le 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 dépasser les autorisations de l’utilisateur qui le 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 la durée de vie courte, 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.
OneLake SAS 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.
Gestion de OneLake SAS
Deux paramètres de votre locataire Fabric gèrent l’utilisation des SAP OneLake. Le premier est un paramètre au niveau du locataire, utiliser des jetons SAP délégués par l’utilisateur de courte durée, 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 locataire, elles sont contrôlées par un paramètre de locataire. 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 sont toujours de courte durée.
Remarque
La désactivation de 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 SAS délégués par l’utilisateur OneLake, 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 de locataire peut activer ce paramètre pour tous les espaces de travail via le paramètre de locataire ou laisser les administrateurs de l’espace de travail 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 locataire. É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, seule la génération d’un UDK.
Meilleures pratiques avec OneLake SAS
- Utilisez toujours HTTPS pour créer ou distribuer une SAP pour vous protéger contre les attaques man-in-the-middle cherchant à intercepter la SAP.
- Effectuez le suivi des heures d’expiration de votre jeton, de votre clé et de votre jeton SAS. Les clés de délégation d’utilisateur OneLake et les SAP ont une durée de vie maximale de 1 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 à 1 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 utilisateur et de la SAP.
- Soyez prudent avec l’heure de début d’une SAP. La définition de l’heure de début d’une SAP, car 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). La définition de l’heure de début à quelques minutes dans le passé permet de se protéger contre ces erreurs.
- Accordez les privilèges les moins possibles à 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 si une SAP est compromise.
- 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 locataire.
- Comprendre les limitations de OneLake SAS. É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 Stockage Azure qui attendent des autorisations au niveau du conteneur pour parcourir les données, comme Explorateur Stockage Azure.