Partager via


Créer des informations d’identification de stockage pour la connexion à Azure Data Lake Storage Gen2

Cet article explique comment créer des informations d’identification de stockage dans Unity Catalog pour se connecter à Azure Data Lake Storage Gen2.

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 encapsulent des informations d’identification cloud à long terme qui permettent d’accéder au stockage cloud.
  • Les emplacements externes contiennent une référence à des informations d’identification de stockage et à un chemin de stockage cloud.

Pour plus d’informations, consultez Gérer l’accès au stockage cloud à l’aide du catalogue Unity.

Remarque

Si vous souhaitez utiliser le catalogue Unity pour régir l’accès à un service externe plutôt qu’au stockage cloud, consultez Gérer l’accès aux services cloud externes à l’aide des informations d’identification du service.

Unity Catalog prend en charge deux options de stockage cloud pour Azure Databricks : les conteneurs Azure Data Lake Storage Gen2 et les compartiments Cloudflare R2. Cloudflare R2 est destiné principalement aux cas d’usage Delta Sharing dans lesquels vous souhaitez éviter les frais de sortie de données. Azure Data Lake Storage Gen2 convient à la plupart des autres cas d’usage. Cet article se concentre sur la création d’informations d’identification de stockage pour les conteneurs Azure Data Lake Storage Gen2. Pour Cloudflare R2, consultez Créer des informations d’identification de stockage pour la connexion à Cloudflare R2.

Si vous souhaitez créer des informations d’identification de stockage pour accéder à un conteneur Azure Data Lake Storage Gen2, vous créez un connecteur d’accès Azure Databricks qui fait référence à une identité managée Azure, lui attribue des autorisations sur le conteneur de stockage. Vous référencez ensuite ce connecteur d’accès dans la définition des informations d’identification de stockage.

Spécifications

Dans Azure Databricks :

  • Un espace de travail Azure Databricks activé pour Unity Catalog.

  • CREATE STORAGE CREDENTIAL autorisation sur le metastore Unity Catalog attaché à l’espace de travail. Les administrateurs de compte et les administrateurs de metastore disposent de ce privilège par défaut.

    Remarque

    Les principaux de service doivent avoir un rôle d’administrateur de compte pour créer des informations d’identification de stockage en utilisant une identité managée. Vous ne pouvez pas déléguer CREATE STORAGE CREDENTIAL à un principal de service. Cela s’applique aux principaux de service Azure Databricks et aux principaux de service Microsoft Entra ID.

Dans votre locataire Azure :

  • Un conteneur de stockage Azure Data Lake Storage Gen2. Pour éviter les frais de sortie, cela doit se trouver dans la même région que l’espace de travail à partir duquel vous souhaitez accéder aux données.

    Le compte de stockage Azure Data Lake Storage Gen2 doit avoir un espace de noms hiérarchique.

  • Contributeur ou Propriétaire d’un groupe de ressources Azure.

  • Propriétaire ou Utilisateur avec le rôle RBAC Azure Administrateur de l’accès utilisateur sur le compte de stockage.

Créer des informations d’identification de stockage à l’aide d’une identité managée

Vous pouvez utiliser une identité managée Azure ou un principal de service comme identité autorisant l’accès à votre conteneur de stockage. Les identités managées sont vivement recommandées. Elles présentent l’avantage de permettre à Unity Catalog d’accéder à des comptes de stockage protégés par des règles réseau, ce qui n’est pas possible à l’aide de principaux de service. De plus, elles éliminent la nécessité de gérer les secrets et d’assurer leur rotation. Si vous souhaitez utiliser un principal de service, consultez Créer un stockage managé Unity Catalog à l’aide d’un principal de service (hérité).

  1. Dans le Portail Microsoft Azure, créez un connecteur d’accès Azure Databricks et attribuez-lui des autorisations sur le conteneur de stockage auquel vous souhaitez accéder, en suivant les instructions fournies dans Configurer une identité managée pour Unity Catalog.

    Un connecteur d’accès Azure Databricks est une ressource Azure interne qui vous permet de connecter des identités managées à un compte Azure Databricks. Vous devez avoir le rôle Contributeur ou supérieur sur la ressource du connecteur d’accès dans Azure pour ajouter les informations d’identification de stockage.

    Prenez note de l’ID de ressource du connecteur d’accès.

  2. Connectez-vous à votre espace de travail Azure Databricks compatible avec le catalogue Unity en tant qu’utilisateur disposant du privilège CREATE STORAGE CREDENTIAL.

    Les rôles d’administrateur de metastore et d’administrateur de compte incluent tous deux ce privilège. Si vous êtes connecté comme principal de service (un principal de service Microsoft Entra ID ou Azure Databricks natif), vous devez avoir un rôle d’administrateur de compte pour créer des informations d’identification de stockage qui utilisent une identité managée.

  3. Cliquez sur Icône Catalogue Catalogue.

  4. Dans la page Accès rapide, cliquez sur le bouton Données > externes, accédez à l’onglet Informations d’identification , puis sélectionnez Créer des informations d’identification.

  5. Sélectionnez les informations d’identification du stockage.

  6. Sélectionnez un type d’informations d’identification d’identité managée Azure.

  7. Entrez un nom pour les informations d’identification, puis l’ID de ressource du connecteur d’accès au format suivant :

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  8. (Facultatif) Si vous avez créé le connecteur d’accès en utilisant une identité managée affectée par l’utilisateur, entrez l’ID de ressource de l’identité managée dans le champ ID d’identité managée affectée par l’utilisateur au format :

    /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed-identity-name>
    
  9. (Facultatif) Si vous souhaitez que les utilisateurs aient un accès en lecture seule aux emplacements externes utilisant ces informations d’identification de stockage, sélectionnez Lecture seule. Pour plus d’informations, consultez Marquer des informations d’identification de stockage en lecture seule.

  10. Cliquez sur Créer.

  11. (Facultatif) Lier l’identifiant de stockage à des espaces de travail spécifiques.

    Par défaut, tout utilisateur privilégié peut se servir des informations d’identification du stockage sur n’importe quel espace de travail attaché au metastore. Si vous souhaitez autoriser l’accès uniquement à partir d’espaces de travail spécifiques, accédez à l’onglet Espaces de travail et attribuez des espaces de travail. Consultez (Facultatif) Attribuer un identifiant de stockage à des espaces de travail spécifiques.

  12. Créez un emplacement externe référençant ces informations d’identification de stockage.

(Facultatif) Attribuer un identifiant de stockage à des espaces de travail spécifiques

Important

Cette fonctionnalité est disponible en préversion publique.

Par défaut, les informations d’identification de stockage sont accessibles depuis tous les espaces de travail du metastore. Cela signifie que si un utilisateur a reçu un privilège (tel que CREATE EXTERNAL LOCATION) sur ces informations d’identification de stockage, il peut exercer ce privilège à partir d’un espace de travail attaché au metastore. Si vous utilisez des espaces de travail pour isoler l’accès aux données utilisateur, vous pouvez autoriser l’accès à des informations d’identification de stockage uniquement à partir d’espaces de travail spécifiques. Cette fonctionnalité est connue sous le nom de liaison d'espace de travail ou d'isolation de l'autorisation de stockage.

Un cas d’usage classique pour lier une autorisation de stockage à des espaces de travail spécifiques est le scénario dans lequel un administrateur cloud configure une autorisation de stockage en utilisant des identifiants de compte cloud de production, et vous voulez vous assurer que les utilisateurs d'Azure Databricks utilisent cette autorisation pour créer des emplacements externes uniquement dans l'espace de travail de production.

Pour plus d’informations sur la liaison d’espace de travail, consultez (Facultatif) Affecter un emplacement externe à des espaces de travail spécifiques et Limiter l’accès au catalogue à des espaces de travail spécifiques.

Remarque

Les liaisons de l’espace de travail sont référencées lorsque les privilèges sur les informations d’identification du stockage sont exercés. Par exemple, si un utilisateur crée un emplacement externe à l’aide d’informations d’identification de stockage, la liaison d’espace de travail sur les informations d’identification de stockage est vérifiée uniquement lorsque l’emplacement externe est créé. Une fois l’emplacement externe créé, il fonctionne indépendamment des liaisons d’espace de travail configurées sur les informations d’identification de stockage.

Lier des informations d’identification de stockage à un ou plusieurs espaces de travail

Pour affecter des informations d’identification de stockage à des espaces de travail spécifiques, vous pouvez utiliser Catalog Explorer ou Databricks CLI.

Autorisations requises : propriétaire des informations d’identification du metastore ou du stockage.

Remarque

Les administrateurs de metastore peuvent voir toutes les informations d’identification de stockage dans un metastore à l’aide de Catalog Explorer, et les propriétaires d’informations d’identification de stockage peuvent voir toutes les informations d’identification de stockage qu’ils possèdent dans un metastore, indépendamment du fait que les informations d’identification de stockage soient affectées à l’espace de travail actuel. Les identifiants de stockage qui ne sont pas affectés à l’espace de travail apparaissent en grisé.

Explorateur de catalogues

  1. Connectez-vous à un espace de travail lié au metastore.

  2. Dans la barre latérale, cliquez sur Icône Catalogue Catalogue.

  3. Dans la page Accès rapide, cliquez sur le bouton Données > externes et accédez à l’onglet Informations d’identification .

  4. Sélectionnez les informations d’identification de stockage et accédez à l’onglet Espaces de travail.

  5. Sous l’onglet Espaces de travail , désactivez la case à cocher Tous les espaces de travail ont accès .

    Si vos informations d’identification de stockage sont déjà liées à un ou plusieurs espaces de travail, cette case à cocher est déjà désactivée.

  6. Cliquez sur Affecter à des espaces de travail, puis entrez ou recherchez les espaces de travail que vous souhaitez attribuer.

Pour révoquer l’accès, accédez à l’onglet Espaces de travail, sélectionnez l’espace de travail, puis cliquez sur Révoquer. Pour autoriser l’accès depuis tous les espaces de travail, cochez la case Tous les espaces de travail ont accès.

INTERFACE DE LIGNE DE COMMANDE

Il existe deux groupes de commandes Databricks CLI et deux étapes nécessaires pour affecter des informations d’identification de stockage à un espace de travail.

Dans les exemples suivants, remplacez <profile-name> par le nom de votre profil de configuration d’authentification Azure Databricks. Il doit inclure la valeur d’un jeton d’accès personnel, en plus du nom de l’instance de l’espace de travail et de l’ID d’espace de travail de l’espace de travail où vous avez généré le jeton d’accès personnel. Consultez Authentification à l’aide de jetons d’accès personnels Azure Databricks.

  1. Utilisez la commande update du groupe de commandes storage-credentials pour définir le isolation mode des informations d’identification de stockage sur ISOLATED :

    databricks storage-credentials update <my-storage-credential> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    La valeur par défaut isolation-mode concerne OPEN tous les espaces de travail attachés au metastore.

  2. Utilisez la commande update-bindings du groupe de commandes workspace-bindings pour affecter les espaces de travail aux informations d’identification de stockage :

    databricks workspace-bindings update-bindings storage-credential <my-storage-credential> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    Utilisez les propriétés "add" et "remove" pour ajouter ou supprimer des liaisons d’espace de travail.

    Remarque

    La liaison en lecture seule (BINDING_TYPE_READ_ONLY) n’est pas disponible pour les informations d’identification de stockage. Par conséquent, il n’existe aucune raison de définir binding_type pour la liaison d’informations d’identification de stockage.

Pour lister toutes les affectations d’espace de travail pour des informations d’identification de stockage, utilisez la commande get-bindings du groupe de commandes workspace-bindings :

databricks workspace-bindings get-bindings storage-credential <my-storage-credential> \
--profile <profile-name>

Dissocier des informations d’identification de stockage à partir d’un espace de travail

Les instructions pour révoquer l’accès d’un espace de travail à des informations d’identification de stockage en utilisant Catalog Explorer ou le groupe de commandes CLI workspace-bindings sont incluses dans Lier des informations d’identification de stockage à un ou plusieurs espaces de travail.

Étapes suivantes

Vous pouvez afficher, mettre à jour, supprimer et accorder à d’autres utilisateurs l’autorisation d’utiliser les informations d’identification de stockage. Consultez Gérer les informations d’identification de stockage.

Vous pouvez définir des emplacements externes à l’aide des informations d’identification de stockage. Veuillez consulter la rubrique Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks.