Aller au contenu principal

Créez un identifiant de stockage et un emplacement externe pour S3 en utilisant AWS CloudFormation

Cette page explique comment se connecter à un compartiment S3 AWS en créant un objet d'emplacement externe à l'aide d'un Template Quickstart AWS CloudFormation fourni. Lorsque vous créez un emplacement externe à l'aide du template AWS CloudFormation, Databricks configure l'emplacement externe et crée un identifiant de stockage pour vous.

Databricks recommande cette méthode si vous souhaitez configurer rapidement une nouvelle connexion à un emplacement S3 et que vous ne disposez pas déjà d'un identifiant de stockage existant. Pour un aperçu des autres méthodes prises en charge, veuillez consulter Connecter à un emplacement externe AWS S3.

Avant de commencer

Prérequis :

Vous devez créer le compartiment S3 que vous souhaitez utiliser comme emplacement externe dans AWS avant de créer l'objet d'emplacement externe dans Databricks.

  • N’utilisez pas la notation par points (par exemple, incorrect.bucket.name.notation) dans les noms de compartiments S3. Bien qu'AWS autorise les points dans les noms de compartiments, Databricks ne prend pas en charge les compartiments S3 avec notation par points. Les compartiments contenant des points peuvent entraîner des problèmes de compatibilité avec des fonctionnalités telles qu'OpenSharing en raison d'échecs de validation des certificats SSL. Pour plus d'informations, consultez les meilleures pratiques de dénomination de compartiments AWS.

  • Les chemins d’emplacement externe doivent contenir uniquement des caractères ASCII standard (lettres A–Z, a–z, chiffres 0–9 et des symboles courants tels que /, _, -).

  • Le bucket ne peut pas avoir une liste de contrôle d'accès S3 qui lui est associée.

  • Évitez d'utiliser un chemin d'accès dans S3 qui est déjà défini comme un emplacement externe dans un autre métastore Unity Catalog. Vous pouvez lire en toute sécurité les données d'un emplacement S3 externe unique à partir de plusieurs metastores, mais les écritures simultanées au même emplacement S3 à partir de plusieurs metastores peuvent entraîner des problèmes de cohérence.

Databricks : autorisations requises :

  • Vous devez disposer du privilège CREATE STORAGE CREDENTIAL sur le métastore. Les administrateurs de métastore disposent de CREATE STORAGE CREDENTIAL sur le métastore par défaut.
  • Vous devez disposer du privilège CREATE EXTERNAL LOCATION à la fois sur le métastore et sur les informations d'identification de stockage référencées dans l'emplacement externe. Les administrateurs de métastore disposent de CREATE EXTERNAL LOCATION sur le métastore par défaut.

Exigences en matière d’autorisations AWS :

  • Vous devez disposer des autorisations iam:CreateRole pour créer le rôle IAM.

Étape 1 : Créer un emplacement externe pour un compartiment S3 à l'aide d'un AWS CloudFormation Template.

  1. Connectez-vous à un Workspace qui est associé au métastore.

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

  3. Cliquez sur Connecter > Emplacements externes .

  4. Cliquez sur Créer un emplacement externe .

  5. Dans la boîte de dialogue Créer un nouvel emplacement externe , sélectionnez AWS Quickstart (Recommandé) puis cliquez sur Suivant .

    L' AWS Quickstart configure l'emplacement externe et crée un identifiant de stockage pour vous. Si vous choisissez d'utiliser l'option **Manuelle**, vous devez créer manuellement un rôle IAM qui donne accès au compartiment S3 et créer les identifiants de stockage dans Databricks vous-même.

  6. Dans la boîte de dialogue Créer un emplacement externe avec Démarrage rapide , saisissez le chemin du compartiment S3 dans le champ Nom du compartiment .

  7. Cliquez sur Générer un nouveau jeton pour générer le jeton d'accès personnel que vous utiliserez pour vous authentifier entre Databricks et votre compte AWS.

  8. Copiez le jeton et cliquez sur Lancer le démarrage rapide .

  9. Dans le template AWS CloudFormation qui se lance (intitulé Création rapide de pile ), collez le jeton dans le champ Jeton d'accès personnel Databricks .

  10. Acceptez les conditions en bas de page ( Je reconnais qu'AWS CloudFormation pourrait créer des ressources IAM avec des noms personnalisés ).

  11. Cliquez sur « Créer une pile ».

    La création de l'objet d'emplacement externe dans Databricks par le Template CloudFormation peut prendre quelques minutes. Si le Template CloudFormation ne parvient pas à créer l'emplacement externe, vérifiez que votre rôle dispose des autorisations iam:CreateRole.

Étape 2 : Vérifier l'emplacement externe

  1. Dans votre Workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. Cliquez sur Connecter > Emplacements externes .

  3. Confirmez que votre emplacement externe a été créé.

    Les emplacements externes générés automatiquement utilisent la syntaxe de nommage db_s3_external_databricks-S3-ingest-<id>.

  4. Cliquez sur le nom de l'emplacement externe, puis cliquez sur l'onglet tab . En tant que propriétaire de l’emplacement externe, vous devriez voir vos fichiers du compartiment S3 dans l’Explorateur de catalogues.

  5. (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 attaché 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. Voir Attribuer un emplacement externe à des workspaces spécifiques.

  6. Accorder l'autorisation d'utiliser l'emplacement externe.

    Pour que quiconque puisse utiliser l'emplacement externe, vous devez accorder des 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 ou des volumes externes, accordez CREATE EXTERNAL TABLE ou CREATE EXTERNAL VOLUME.

    Pour utiliser Catalog Explorer pour accorder des autorisations :

    1. Cliquez sur le nom de l'emplacement externe pour ouvrir le volet de détails.
    2. Dans l'onglet **tab**, cliquez sur **Accorder**.
    3. Dans la boîte de dialogue Accorder sur <external location> , sélectionnez des utilisateurs, des groupes ou des Service Principals dans le champ Principaux , et sélectionnez le privilège que vous souhaitez accorder.
    4. Cliquez sur Accorder .