Se connecter au stockage d’objets cloud à l’aide de Unity Catalog
Cet article donne une vue d’ensemble des configurations de connexion de stockage cloud requises pour utiliser des données à l’aide du catalogue Unity.
Databricks recommande d’utiliser Unity Catalog pour gérer l’accès à toutes les données 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éer et lire des tables managées dans un stockage cloud sécurisé.
- Inscrire ou créer des tables externes contenant des données tabulaires.
- Lire et écrire des données non structurées.
Avertissement
Ne donnez pas aux utilisateurs finaux un accès de niveau de stockage pour les tables ou les volumes managés Unity Catalog. Cela compromet la sécurité et la gouvernance des données.
L’octroi aux utilisateurs d’un accès direct au niveau du stockage sur un emplacement de stockage externe dans Azure Data Lake Storage Gen2 ne respecte pas les autorisations accordées ou les audits gérés par Unity Catalog. L’accès direct contournera l’audit, la traçabilité et d’autres fonctionnalités de sécurité et de surveillance d’Unity Catalog, notamment le contrôle d’accès et les autorisations. Vous êtes responsable de la gestion de l’accès direct au stockage via Azure Data Lake Storage Gen2 et de vous assurer que les utilisateurs disposent des autorisations appropriées accordées via Fabric.
Évitez tous les scénarios qui accordent un accès en écriture direct au niveau du stockage pour les compartiments qui stockent des tables managées par Databricks. La modification, la suppression ou l’évolution d’objets, directement via le stockage, gérés à l’origine par Unity Catalog peuvent entraîner une altération des données.
Remarque
Si votre espace de travail a été créé avant le 9 novembre 2023, il est possible qu’il ne soit pas activé pour Unity Catalog. Un administrateur de compte doit activer Unity Catalog pour votre espace de travail. Consultez Activer un espace de travail pour le Catalogue Unity.
Comment Unity Catalog connecte-t-il le stockage d’objets à Azure Databricks ?
Azure Databricks prend en charge les conteneurs Azure Data Lake Storage Gen2 et les compartiments Cloudflare R2 en tant qu’emplacements de stockage dans le cloud pour les ressources de données et d’IA enregistrées dans Unity Catalog. R2 est destiné principalement aux cas dans lesquels vous souhaitez éviter les frais de sortie de données, comme lors du partage Delta parmi les clouds et les régions. Pour plus d’informations, consultez Utiliser des réplicas Cloudflare R2 ou migrer le stockage vers R2.
Pour gérer l’accès au stockage cloud sous-jacent qui contient les tables et les volumes, Unity Catalog utilise les types d’objets suivants :
Les informations d’identification de stockage sont un mécanisme d’authentification et d’autorisation pour accéder aux données stockées sur votre locataire cloud, en utilisant une identité managée Azure ou un principal de service pour les conteneurs Azure Data Lake Storage Gen2 ou un jeton d’API R2 pour les compartiments Cloudflare R2. Chaque information d’identification de stockage est soumise à des stratégies de contrôle d’accès Unity Catalog qui déterminent quels utilisateurs et groupes peuvent accéder aux informations d’identification. Si un utilisateur n’a pas accès à des informations d’identification de stockage dans le catalogue Unity, la demande échoue et le catalogue Unity ne tente pas de s’authentifier auprès de votre locataire Cloud au nom de l’utilisateur. Les autorisations pour créer des informations d’identification de stockage ne doivent être accordées qu’aux utilisateurs qui doivent définir des emplacements externes. Veuillez consulter les rubriques Créer des informations d’identification de stockage pour la connexion à Azure Data Lake Storage Gen2 et Créer des informations d’identification de stockage pour la connexion à Cloudflare R2.
Un emplacement externe est un objet qui combine un chemin de stockage avec des informations d'identification de stockage qui autorise l'accès à ce chemin. Chaque emplacement de stockage est soumis aux politiques de contrôle d'accès du catalogue Unity qui contrôlent quels utilisateurs et quels groupes peuvent accéder à l'identifiant. Si un utilisateur n'a pas accès à un emplacement de stockage dans le Catalogue Unity, la demande échoue et le Catalogue Unity ne tente pas de s'authentifier auprès de votre locataire cloud au nom de l'utilisateur. L’autorisation de créer et d’utiliser des emplacements externes doit uniquement être accordée aux utilisateurs qui doivent créer des tables externes, des volumes externes ou des emplacements de stockage managés. Veuillez consulter la rubrique Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks.
Les emplacements externes sont utilisés à la fois pour les ressources de données externes, comme les tables externes et les volumes externes , ainsi que 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, consultez Qu’est-ce que les tables et les vues ? et Qu’est-ce que les volumes de catalogue Unity ?.
Lorsqu’un emplacement externe est utilisé pour stocker destables managées et des volumes managés, il est appelé emplacement de stockage managé. Les emplacements de stockage managé peuvent exister au niveau du metastore, du catalogue ou du schéma. Databricks recommande de configurer des emplacements de stockage managés au niveau du catalogue. Si vous avez besoin d’une isolation plus granulaire, vous pouvez spécifier des emplacements de stockage managés au niveau du schéma. Par défaut, les espaces de travail activés pour Unity Catalog n’ont automatiquement aucun stockage au niveau du metastore, mais vous pouvez spécifier un emplacement de stockage managé au niveau du metastore, afin de fournir un emplacement par défaut lorsqu’aucun stockage au niveau du catalogue n’est défini. Les espaces de travail qui sont activés pour le catalogue Unity reçoivent manuellement un emplacement de stockage managé au niveau du metastore par défaut. Consultez Spécifier un emplacement de stockage managé dans Unity Catalog et Meilleures pratiques de Unity Catalog.
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. Consultez Présentation des volumes Unity Catalog.
Remarque
Bien que Unity Catalog prenne en charge l’accès basé sur le chemin d’accès aux tables et volumes externes en utilisant les URI de stockage cloud, Databricks recommande que les utilisateurs lisent et écrivent toutes les tables Unity Catalog en utilisant les noms de table et accèdent aux données dans les volumes en utilisant des chemin d'accès /Volumes
.
Meilleures pratiques pour le stockage cloud avec le catalogue Unity
Azure Databricks nécessite l’utilisation d’Azure Data Lake Storage Gen2 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 Gen2 vous permet de séparer les coûts de stockage et 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 (en contournant Unity Catalog), cela engendre des coûts de stockage et de calcul groupés. Cela peut entraîner des coûts environ 3 fois plus élevés pour les lectures et 1,6 fois plus élevés pour les écritures par rapport à Azure Data Lake Storage Gen2 pour le stockage, la lecture et l’écriture de données. Le stockage Blob Azure est également incompatible avec Unity Catalog.
Fonctionnalité | Stockage Blob Azure | Azure Data Lake Storage Gen2 | 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 | - Lire - Écrire |
- Lire - Écrire |
- Lecture (les lectures engendrent un coût 3 fois supérieur à celui de la lecture de données à partir d’Azure Data Lake Storage Gen2). - Les écritures ne sont pas prises en charge. Pour plus de détails, consultez la documentation OneLake. |
Déploiement | Regional | Zones géographiques | Global |
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
Si vous commencez simplement à utiliser Unity Catalog en tant qu’administrateur, consultez Configurer et gérer Unity Catalog.
Si vous êtes un nouvel utilisateur et que votre espace de travail est déjà activé pour Unity Catalog, consultez Tutoriel : Créez votre première table et accordez des privilèges.