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.
Cet article fournit une vue d’ensemble des connexions de stockage cloud requises pour utiliser des données à l’aide de Unity Catalog, ainsi que des informations sur la façon dont Unity Catalog régit l’accès au stockage cloud et aux services cloud externes.
Comment le catalogue Unity utilise-t-il le stockage cloud ?
Databricks recommande d’utiliser Unity Catalog pour gérer l’accès à toutes les données que vous avez stockées dans le stockage d’objets cloud. Unity Catalog fournit une suite d’outils pour configurer des connexions sécurisées au stockage d’objets cloud. Ces connexions fournissent l’accès pour effectuer les actions suivantes :
- Ingérer des données brutes dans un lakehouse.
- Créez et lisez des tables managées et des volumes managés de données non structurées dans le stockage cloud géré par le catalogue Unity.
- Inscrivez ou créez des tables externes contenant des données tabulaires et des volumes externes contenant des données non structurées dans le stockage cloud géré à l’aide de votre fournisseur de cloud.
- Lire et écrire des données non structurées (volumes du catalogue Unity).
Pour être plus spécifique, Unity Catalog utilise le stockage cloud de deux manières principales :
- Emplacements de stockage par défaut (ou « gérés ») pour les tables gérées et les volumes managés (données non structurées, non tabulaires) que vous créez dans Databricks. Ces emplacements de stockage managé peuvent être définis au niveau du metastore, du catalogue ou du schéma. Vous créez des emplacements de stockage managés dans votre fournisseur de cloud, mais leur cycle de vie est entièrement géré par le catalogue Unity.
- Emplacements de stockage où les tables et volumes externes sont stockés. Il s’agit de tables et de volumes dont l’accès à partir d’Azure Databricks est géré par Unity Catalog, mais dont le cycle de vie des données et la disposition des fichiers sont gérés à l’aide de votre fournisseur de cloud et d’autres plateformes de données. En règle générale, les tables externes servent à inscrire de grandes quantités de données existantes dans Azure Databricks ou sont également utilisées si vous avez besoin d’un accès en écriture aux données à l’aide d’outils extérieurs à Azure Databricks.
Pour plus d’informations sur les tables et volumes managés et externes, consultez les tables Azure Databricks et Quels sont les volumes de catalogue Unity ?.
Avertissement
Ne donnez pas aux identités de catalogue non Unity l’accès au niveau du stockage aux tables ou volumes managés du catalogue Unity. Cela compromet la sécurité et la gouvernance des données.
Accorder aux utilisateurs, aux principaux de service ou aux identités gérées un accès direct aux conteneurs Azure Data Lake Storage contenant des données sous la gouvernance d'Unity Catalog contourne Unity Catalog. Cela expose les données au sur-autorisation, à l’exfiltration et à l’accès non autorisé, tout en complicant l’audit et en augmentant la surcharge de gestion.
L’accès direct au stockage n’est pas pris en charge pour les tables gérées par le catalogue Unity.
Options de stockage cloud prises en charge par le Catalogue Unity
Unity Catalog prend en charge les options de stockage cloud suivantes pour Azure Databricks.
| Option de stockage cloud | Descriptif |
|---|---|
| Conteneurs de stockage Azure Data Lake | Azure Data Lake Storage convient à la plupart des cas d’utilisation d’Azure Databricks. Consultez Créer des informations d’identification de stockage pour la connexion à Azure Data Lake Storage |
| Compartiments AWS S3 | Azure Databricks prend en charge l’accès en lecture seule multiplateforme aux compartiments S3. Consultez Créer des informations d’identification de stockage pour la connexion à AWS S3 (en lecture seule). |
| Cloudflare R2 seaux | Cloudflare R2 est destiné principalement aux cas d’usage Delta Sharing dans lesquels vous souhaitez éviter les frais de sortie de données. Voir Créer des informations d’identification de stockage pour la connexion à Cloudflare R2. |
| Racine DBFS | La racine DBFS est un emplacement de stockage cloud ancien. Bien que Databricks recommande de ne pas stocker de données dans le stockage racine de DBFS, votre espace de travail pourrait le faire à cause de pratiques anciennes. Consultez Se connecter à un emplacement externe racine DBFS (hérité) . |
Comment le catalogue Unity régit-t-il l’accès au stockage cloud ?
Pour gérer l’accès au stockage cloud sous-jacent qui contient des tables et des volumes, Unity Catalog utilise un objet sécurisable appelé emplacement externe, qui définit un chemin d’accès à un emplacement de stockage cloud et les informations d’identification requises pour accéder à cet emplacement. Ces informations d’identification sont, à son tour, définies dans un objet sécurisable Du catalogue Unity appelé informations d’identification de stockage. En accordant et en révoquant l’accès aux éléments sécurisables d’emplacement externe dans le catalogue Unity, vous contrôlez l’accès aux données dans l’emplacement de stockage cloud. En accordant et révoquant l’accès aux informations d’identification de stockage sécurisables dans le catalogue Unity, vous contrôlez la possibilité de créer des objets d’emplacement externe.
Vue d’ensemble des informations d’identification de stockage
Les informations d’identification de stockage représentent un mécanisme d’authentification et d’autorisation pour accéder aux données stockées sur votre locataire cloud. Par exemple, les informations d’identification de stockage sont associées à une identité managée Azure ou à un principal de service pour les conteneurs Azure Data Lake Storage, ou à un jeton d’API R2 pour les compartiments R2 d’Azure.
Privilèges accordés dans le contrôle Catalogue Unity sur lesquels les utilisateurs et les groupes peuvent utiliser les informations d’identification pour définir des emplacements externes. L’autorisation de créer et d’utiliser des informations d’identification de stockage doit être accordée uniquement aux utilisateurs qui doivent créer des objets d’emplacement externe.
Vue d’ensemble des emplacements externes
Un emplacement externe combine un chemin de stockage cloud avec des informations d’identification de stockage qui autorisent l’accès au chemin spécifié. Plusieurs emplacements externes peuvent utiliser les mêmes informations d’identification de stockage. Les emplacements externes peuvent référencer des chemins de stockage dans l’une des options de stockage cloud prises en charge.
Le diagramme ci-dessous montre comment les emplacements externes référencent les informations d’identification de stockage et les emplacements de stockage cloud.
Dans ce diagramme :
- Chaque emplacement externe fait référence à des informations d’identification de stockage et à un emplacement de stockage cloud.
- Plusieurs emplacements externes peuvent référencer les mêmes informations d’identification de stockage.
Les informations d’identification de stockage 1 accordent l’accès à tout sous le chemin d’accès
bucket/tables/*, de sorte que l’emplacement externe A et l’emplacement externe B le référencent.
Les emplacements externes sont utilisés dans le catalogue Unity à la fois pour les ressources de données externes, telles que les tables externes et les volumes externes, et pour les ressources de données managées, telles que les tables managées et les volumes managés. Pour plus d’informations sur la différence entre les ressources de données externes et gérées dans Unity Catalog, consultez les tables Azure Databricks et Quels sont les volumes de catalogue Unity ?.
Les privilèges accordés dans le catalogue Unity contrôlent les utilisateurs et les groupes qui peuvent accéder au chemin de stockage cloud défini par l’emplacement externe. L’autorisation de créer et d’utiliser des emplacements externes doit être accordée uniquement aux utilisateurs qui doivent créer des tables externes, des volumes externes ou des emplacements de stockage managés.
Pour en savoir plus sur les meilleures pratiques relatives à l’utilisation d’emplacements externes, consultez Emplacements externes.
Utilisation d’emplacements externes lorsque vous créez des tables et des volumes externes
Les tables externes et les volumes externes inscrits dans Unity Catalog sont essentiellement des pointeurs vers des données dans le stockage cloud que vous gérez en dehors d’Azure Databricks. Lorsque vous créez une table externe ou un volume externe dans le catalogue Unity, vous devez référencer un chemin de stockage cloud inclus dans un objet d’emplacement externe sur lequel vous avez reçu des privilèges adéquats. Pour plus d’informations sur la différence entre les ressources de données externes et gérées dans Unity Catalog, consultez les tables Azure Databricks et Quels sont les volumes de catalogue Unity ?. Pour obtenir des privilèges, consultez Accorder des autorisations sur un emplacement externe.
Utilisation d’emplacements externes lorsque vous créez un stockage managé
Les tables managées et les volumes managés sont entièrement gérés par le catalogue Unity. Elles sont stockées par défaut dans un emplacement de stockage managé, qui peut être défini au niveau du metastore, du catalogue ou du schéma. Lorsque vous affectez un emplacement de stockage managé à un metastore, un catalogue ou un schéma, vous devez référencer un objet d’emplacement externe, et vous devez disposer de privilèges adéquats pour l’utiliser. Consultez Spécifier un emplacement de stockage managé dans Unity Catalog et Meilleures pratiques de Unity Catalog.
Accès aux données en fonction du chemin dans le cloud
Bien que Unity Catalog prenne en charge l’accès basé sur les chemins d’accès aux tables externes et aux volumes externes à l’aide d’URI de stockage cloud, Databricks recommande aux utilisateurs de lire et d’écrire toutes les tables du catalogue Unity à l’aide de noms de tables et d’accéder aux données dans des volumes à l’aide /Volumes de chemins d’accès. Les volumes sont l’objet sécurisable que la plupart des utilisateurs Azure Databricks doivent utiliser pour interagir directement avec les données non-tabulaires dans le stockage d’objets cloud. Découvrez quels sont les volumes du catalogue Unity ?.
Avertissement
Si vous mettez à jour les métadonnées de table externe à l’aide d’un client non Databricks ou que vous utilisez l’accès basé sur le chemin d’accès à partir de Databricks, ces métadonnées ne synchronisent pas automatiquement l’état avec le catalogue Unity. Databricks recommande de ne pas effectuer de telles mises à jour de métadonnées, mais si vous en réalisez une, vous devez exécuter MSCK REPAIR TABLE <table-name> SYNC METADATA pour mettre à jour le schéma dans le catalogue Unity. Voir REPAIR TABLE.
Flux de travail pour la gestion de l’accès au stockage cloud dans le catalogue Unity
Pour gérer l’accès au stockage cloud à l’aide du catalogue Unity, procédez comme suit :
- Créez un objet d’informations d’identification de stockage qui contient des informations d’identification cloud à long terme, telles qu’une identité managée Azure ou un principal de service, avec accès au chemin de stockage cloud.
- Créez un objet d’emplacement externe qui référence le chemin d’accès de stockage et l’objet d’informations d’identification de stockage.
- Référencez un chemin d’accès inclus dans l’emplacement externe lorsque vous créez des tables externes, des volumes externes ou des emplacements de stockage managés par défaut. Il peut s’agir du chemin exact défini dans l’emplacement externe ou un sous-chemin.
Meilleures pratiques pour le stockage cloud Azure avec le catalogue Unity
Azure Databricks nécessite l’utilisation d’Azure Data Lake Storage comme service de stockage Azure pour les données traitées dans Azure Databricks à l’aide de la gouvernance Unity Catalog. Azure Data Lake Storage vous permet de séparer le stockage et les coûts de calcul et de tirer parti du contrôle d’accès affiné fourni par Unity Catalog. Si les données sont stockées dans OneLake (le lac de données Microsoft Fabric) et traitées par Databricks (contournement du catalogue Unity), vous risquez d’entraîner des coûts de stockage et de calcul groupés. S’il est groupé, cela peut entraîner des coûts d’environ 2 fois plus élevés pour les lectures et 2,6 fois plus élevés pour les écritures par rapport au niveau Premium Azure Data Lake Storage pour le stockage, la lecture et l’écriture de données. Le stockage Blob Azure est également incompatible avec Unity Catalog. Databricks recommande d’utiliser le modèle tarifaire de paiement à l’utilisation pour Fabric, ce qui vous offre davantage de flexibilité avec les options de stockage et de calcul.
| Caractéristique | Stockage de Blobs Azure | Azure Data Lake Storage | OneLake |
|---|---|---|---|
| Pris en charge par Unity Catalog | X | ✓ | X |
| Nécessite un achat supplémentaire de capacité Fabric | X | X | ✓ |
| Opérations prises en charge à partir de moteurs externes |
|
|
Lorsque vous utilisez un modèle tarifaire de calcul/stockage groupé, les lectures entraînent jusqu’à 2 fois le coût par rapport à la lecture de données à partir d’Azure Data Lake Storage et les écritures entraînent jusqu’à 2,6 fois le coût par rapport à l’écriture de données dans le niveau Premium Azure Data Lake Storage. Pour plus de détails, consultez la documentation OneLake. |
| Déploiement | Régional | Régional | Mondial |
| Authentification | Signature d’accès partagé Entra ID | Signature d’accès partagé Entra ID | Entra ID |
| Événements de stockage | ✓ | ✓ | X |
| Suppression réversible | ✓ | ✓ | ✓ |
| Contrôle d’accès | RBAC | RBAC, ABAC, ACL | RBAC (table/dossier uniquement, ACL de raccourci non pris en charge) |
| Clés de chiffrement | ✓ | ✓ | X |
| Niveaux d’accès | Archive en ligne | Chaud, sporadique, froid, archive | Chaud uniquement |
Étapes suivantes
- Créer des informations d’identification de stockage pour la connexion à Azure Data Lake Storage
- Créer des informations d’identification de stockage pour la connexion à Cloudflare R2
- Créer des informations d’identification de stockage pour la connexion à AWS S3 (en lecture seule)
- Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks
- Spécifier un emplacement de stockage managé dans le catalogue Unity
- Gérer les informations d'identification de stockage
- Gérer les emplacements externes