Se connecter à Azure Data Lake Storage
Seuls les comptes SAP Databricks déployés sur Azure peuvent se connecter à Azure Data Lake Storage (ADLS).
Si votre stockage ADLS est protégé par un pare-feu, contactez l'équipe de votre compte Databricks pour obtenir de l'aide sur la manière d'ajouter Databricks à la liste d'autorisation de ces pare-feu.
Cet article décrit comment créer un identifiant de stockage et un emplacement externe pour se connecter à Azure Data Lake Storage (ADLS).
Un *identifiant de stockage* contient un identifiant cloud à long terme qui fournit un accès au stockage cloud. Vous référencez des identifiants de stockage, ainsi que le chemin d'accès au stockage cloud, lorsque vous créez des *emplacements externes* dans Unity Catalog pour régir l'accès au stockage externe.
Exigences
- Dans SAP Databricks, vous devez disposer du privilège
CREATE STORAGE CREDENTIALsur le métastore Unity Catalog attaché au workspace. Les administrateurs de compte et les administrateurs de métastore disposent de ce privilège par default. - Dans votre tenant Azure :
- Vous devez avoir accès à un conteneur de stockage Azure Data Lake Storage. Pour éviter les frais de sortie, cela devrait se trouver dans la même région que le workspace à partir duquel vous souhaitez accéder aux données. Le compte de stockage doit disposer d'un espace de noms hiérarchique.
- Contributeur ou Propriétaire d'un groupe de ressources Azure.
- Propriétaire ou utilisateur ayant le rôle Administrateur de l'accès utilisateur Azure RBAC sur le compte de stockage.
Créez un identifiant de stockage qui accède à Azure Data Lake Storage.
Vous utiliserez un Service Principal pour autoriser l'accès à votre compte de stockage. Tout d'abord, vous allez créer un Service Principal, puis attribuer l'autorisation au compte de stockage, et enfin créer l'identifiant de stockage.
Créer un service principal
L'enregistrement d'une application Microsoft Entra ID et l'attribution des autorisations appropriées créeront un Service Principal pouvant accéder aux ressources Azure Data Lake Storage ou Blob Storage.
Pour enregistrer une application Microsoft Entra ID, vous devez avoir le rôle Application Administrator ou l'autorisation Application.ReadWrite.All dans Microsoft Entra ID.
- Dans le portail Azure, accédez au service **Microsoft Entra ID**.
- Sous **Gérer**, cliquez sur **Enregistrements d'applications**.
- Cliquez sur + Nouvelle inscription . Saisissez un nom pour l'application et cliquez sur S'inscrire .
- Cliquez sur Certificats et secrets .
- Cliquez sur + Nouveau secret client .
- Ajoutez une description pour le secret et cliquez sur Ajouter .
- Copiez et enregistrez la valeur du nouveau secret.
- Dans la vue d'ensemble de l'enregistrement de l'application, copiez et enregistrez l'**ID d'application (client)** et l'**ID de répertoire (tenant)**.
Attribuer une autorisation au compte de stockage
Vous contrôlez l'accès aux Ressources de stockage en attribuant l'application Microsoft Entra ID au compte de stockage. Pour attribuer des rôles sur un compte de stockage, vous devez avoir le rôle Azure RBAC Propriétaire ou Administrateur de l'accès utilisateur sur le compte de stockage.
- Dans le portail Azure, accédez au service Comptes de stockage .
- Sélectionnez un compte de stockage Azure à utiliser avec cet enregistrement d'application.
- Cliquez sur Accès conditionnel (IAM) .
- Cliquez sur **+ Ajouter** et sélectionnez **Ajouter une attribution de rôle** dans le menu déroulant.
- Définissez le champ Sélectionner sur le nom de l'application Microsoft Entra ID et définissez Rôle sur Contributeur aux données de blob de stockage .
- Cliquez sur Enregistrer .
(Facultatif) Attribuez des autorisations d'événements de fichier
Pour activer l'accès aux événements de fichiers, vous devez disposer du rôle RBAC Azure Propriétaire ou Administrateur de l'accès utilisateur sur votre compte de stockage et le groupe de ressources Azure dans lequel se trouve votre compte Azure Data Lake Storage.
-
Attribuer les rôles requis sur le compte de stockage :
- Dans le portail Azure, accédez au service Comptes de stockage .
- Sélectionnez le compte de stockage Azure.
- Accédez à Contrôle d'accès (IAM) , cliquez sur + Ajouter , et sélectionnez Ajouter une attribution de rôle .
- Attribuez les rôles supplémentaires suivants à votre Service Principal :
- Contributeur de données BLOB de stockage : requis pour la lecture et l'écriture des données.
- Contributeur aux données de la file d'attente de stockage : Requis pour s'abonner aux notifications d'événements de fichiers.
- Contributeur de compte de stockage : requis si vous souhaitez que SAP Databricks configure automatiquement les événements de fichiers. Si vous n'accordez pas ce rôle, vous devez créer manuellement la file d'attente de stockage Azure et configurer vous-même l'abonnement aux événements. La configuration manuelle est un processus en libre-service, et Databricks ne fournit pas de support pour la configuration de ces ressources.
-
Attribuez le rôle requis au groupe de ressources contenant votre compte de stockage.
- Accédez au groupe de ressources Azure qui contient votre compte Azure Data Lake Storage.
- Accédez à Contrôle d'accès (IAM) , cliquez sur + Ajouter , et sélectionnez Ajouter une attribution de rôle .
- Sélectionnez le rôle **Contributeur de données EventGrid** et cliquez sur **Suivant**.
- Sous **Attribuer l'accès à**, sélectionnez **Service Principal**.
- Cliquez sur +Sélectionner des membres , sélectionnez votre Service Principal, puis cliquez sur Réviser et attribuer .
- EventGrid Data Contributor : est requis si vous souhaitez que SAP Databricks configure automatiquement les événements de fichier. Si vous n'accordez pas ce rôle, vous devez configurer manuellement l'abonnement aux événements vous-même. La configuration manuelle est un processus en libre-service, et Databricks n'offre pas de support pour la configuration de ces ressources.
Vous pouvez également limiter l'accès en accordant uniquement le rôle **Storage Queue Data Contributor** au Service Principal et en n'accordant aucun rôle à votre groupe de ressources. Dans ce cas, SAP Databricks ne peut pas configurer les événements de fichier en votre nom.
Créez l'identifiant de stockage
Pour créer des informations d'identification de stockage à l'aide d'un service principal, vous devez être un administrateur de compte SAP Databricks. L'administrateur de compte qui crée les informations d'identification de stockage du service principal peut déléguer la propriété à un autre utilisateur ou groupe pour gérer les autorisations y afférentes.
Vous ne pouvez pas ajouter d'identifiant de stockage de Service Principal à l'aide de Catalog Explorer. Utilisez plutôt l'API Storage Credentials. Par exemple :
curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
"name": "<storage-credential-name>",
"read_only": true,
"azure_service_principal": {
"directory_id": "<directory-id>",
"application_id": "<application-id>",
"client_secret": "<client-secret>"
},
"skip_validation": "false"
}'
Vous pouvez également créer un identifiant de stockage en utilisant Terraform. Voir databricks_storage_credential.
Créer un emplacement externe
L'emplacement externe est utilisé pour gérer l'accès au stockage externe.
-
Connectez-vous à un Workspace qui est associé au métastore.
-
Dans la barre latérale, cliquez
sur **Catalogue**.
-
Cliquez sur Connecter > Emplacements externes .
-
Cliquez sur Créer un emplacement externe .
-
Saisissez un **nom d'emplacement externe**.
-
Sélectionnez le **type de stockage** : **Azure Data Lake Storage** ou **R2**
-
Sous URL , saisissez ou sélectionnez le chemin d'accès à l'emplacement externe.
-
Sélectionnez l'identifiant de stockage qui accorde l'accès à l'emplacement externe.
-
(Facultatif) Si vous souhaitez que les utilisateurs aient un accès en lecture seule à l'emplacement externe, cliquez sur Options avancées et sélectionnez Lecture seule .
-
(Facultatif) Si l'emplacement externe est destiné à un catalogue fédéré de Hive metastore, cliquez sur Options avancées et activez le mode de fallback .
-
(Facultatif) Pour activer la possibilité de s'abonner aux notifications de modification sur l'emplacement externe, cliquez sur Options avancées et sélectionnez Activer les événements de fichiers .
-
Cliquez sur Créer .
-
(Facultatif) Liez l'emplacement externe à des workspaces spécifiques.
Par default, tout utilisateur privilégié peut utiliser l'emplacement externe sur n'importe quel workspace associé au métastore. Si vous souhaitez autoriser l'accès uniquement à partir de workspaces spécifiques, accédez à l'onglet tab et attribuez des workspaces. Consultez Lier un emplacement externe à un ou plusieurs workspaces.
-
Allez dans l'onglet **tab** pour accorder l'autorisation d'utiliser l'emplacement externe.
Pour que quiconque puisse utiliser l'emplacement externe, vous devez accorder les autorisations :
- Pour utiliser l'emplacement externe afin d'ajouter un emplacement de stockage géré au métastore, au catalogue ou au schéma, accordez le privilège
CREATE MANAGED LOCATION. - Pour créer des tables externes ou des volumes, accordez
CREATE EXTERNAL TABLEouCREATE EXTERNAL VOLUME.
- Pour utiliser l'emplacement externe afin d'ajouter un emplacement de stockage géré au métastore, au catalogue ou au schéma, accordez le privilège
Associer un emplacement externe à un ou plusieurs workspaces
Pour attribuer un emplacement externe à des Workspace spécifiques, vous pouvez utiliser Catalog Explorer.
Autorisations requises : Administrateur du métastore, propriétaire de l'emplacement externe, ou MANAGE sur l'emplacement externe.
Les administrateurs de métastore peuvent voir tous les emplacements externes dans un métastore en utilisant l'Explorateur de catalogue — et les propriétaires d'emplacements externes peuvent voir tous les emplacements externes qu'ils possèdent dans un métastore — qu'importe que l'emplacement externe soit attribué au workspace actuel. Les emplacements externes qui ne sont pas attribués au workspace apparaissent grisés.
-
Connectez-vous à un workspace lié au métastore.
-
Dans la barre latérale, cliquez
sur **Catalogue**.
-
Cliquez sur le bouton Données externes > pour accéder à la tab External Locations .
-
Sélectionnez l'emplacement externe et accédez à l'onglet Workspaces .
-
Dans l’onglet **tab**, décochez la case **Tous les Workspaces ont accès**.
Si votre emplacement externe est déjà lié à un ou plusieurs Workspace, cette case à cocher est déjà désélectionnée.
-
Cliquez sur Attribuer aux workspaces et entrez ou recherchez les workspaces que vous souhaitez attribuer.
Pour révoquer l'accès, accédez à l'onglet tab , sélectionnez le workspace et cliquez sur Révoquer . Pour autoriser l'accès depuis tous les workspaces, cochez la case Tous les workspaces ont accès .