Démarrage rapide

Connectez-vous à votre base de données à l’aide de jetons OAuth ou de mots de passe Postgres. Pour gérer l’infrastructure Lakebase (création de projets, branches, calculs), consultez Autorisations de projet.

Choisissez votre méthode d’authentification

Avant de vous connecter, déterminez la méthode d’authentification qui convient le mieux à votre cas d’usage :

  • Rôle OAuth : Authentifiez-vous à l’aide de votre identité Azure Databricks avec un jeton OAuth. Le propriétaire du projet peut se connecter immédiatement. Pour autoriser d’autres identités Azure Databricks à utiliser l’authentification OAuth, créez leurs rôles Postgres à l’aide de l’interface utilisateur Lakebase, de SQL ou de l’API REST. Consultez Créer un rôle OAuth.
  • Authentification par mot de passe Postgres native : Authentifiez-vous à l’aide d’un rôle Postgres avec un mot de passe de base de données traditionnel. Consultez Créer un rôle de mot de passe Postgres natif.

OAuth fournit une expiration automatique des identifiants et une intégration de l’identité de l’espace de travail, mais nécessite une rotation des jetons pour les applications de longue durée. Les mots de passe Postgres n’expirent pas ou ne nécessitent pas de rotation, mais ne disposent pas de l’expiration automatique d’OAuth et de la gestion centralisée de la sécurité.

Flux d’authentification

Connectez-vous à votre base de données

Lorsque vous vous connectez via Internet public, si vous utilisez un pare-feu côté client, ajoutez les adresses IP utilisées par Lakebase à votre liste de permissions. Consultez les adresses IP et les domaines des services Databricks.

Les exemples ci-dessous utilisent psql, un client Postgres standard. Pour plus d’informations sur l’utilisation de psql pour se connecter, consultez Se connecter avec psql. Vous pouvez également accéder à votre base de données via des notebooks Databricks, l’éditeur SQL Lakebase, l’éditeur de tables ou des outils tiers tels que pgAdmin et d’autres clients compatibles avec Postgres. Pour plus d’options, consultez Interroger vos données .

Chaque projet contient une base de données par défaut nommée databricks_postgres à laquelle vous pouvez vous connecter. Cette base de données appartient au rôle Postgres pour votre identité Databricks (par exemple, user@databricks.com), qui est automatiquement créée lorsque vous créez un projet. Pour créer des rôles Postgres supplémentaires, consultez Gérer les rôles Postgres.

Note

Toutes les connexions de base de données sont soumises à un délai d’inactivité de 24 heures et à une durée de vie maximale de 3 jours. Consultez les délais d’expiration de connexion.

Se connecter avec un rôle OAuth

Les rôles OAuth vous permettent de vous connecter à l’aide de votre identité Azure Databricks avec l’authentification basée sur les jetons. Le rôle OAuth du propriétaire du projet est créé automatiquement. Pour autoriser d’autres identités Azure Databricks à utiliser l’authentification OAuth, créez leurs rôles Postgres à l’aide de l’interface utilisateur Lakebase, de SQL ou de l’API REST. Consultez Créer un rôle OAuth.

Pour générer des jetons OAuth par programmation ou pour des flux de travail automatisés, consultez Obtenir un jeton OAuth dans un flux utilisateur-machine pour les sessions interactives ou obtenir un jeton OAuth dans un flux d’ordinateur à ordinateur pour les principaux de service.

Important

Les jetons OAuth expirent après une heure.

Pour les applications qui conservent des connexions de base de données longues, vous devez implémenter la rotation des jetons pour actualiser automatiquement les informations d’identification avant leur expiration. Sans rotation de jeton, votre application perd la connectivité de la base de données après une heure.

Consultez des exemples de rotation de jetons pour obtenir des exemples de code.

Pour vous connecter avec un rôle OAuth :

  1. Dans l’application Lakebase, sélectionnez votre projet, puis cliquez sur Se connecter.

  2. Sélectionnez la branche, le calcul et la base de données à laquelle vous souhaitez vous connecter, puis sélectionnez votre identité Azure Databricks dans la section Rôles OAuth du menu déroulant Rôle .

  3. Cliquez sur Copier le jeton OAuth, puis exportez le jeton dans la variable d’environnement PGPASSWORD de votre terminal :

    export PGPASSWORD='<oauth-token>'
    
  4. Sélectionnez psql dans le menu déroulant au-dessus du extrait, puis copiez le fragment sur votre terminal et exécutez-le. Le jeton est lu depuis PGPASSWORD par psql, donc on ne vous demande pas de mot de passe. Si on vous le demande quand même, consultez Résoudre les problèmes de connexion OAuth.

Les jetons OAuth expirent une heure après leur génération. Pour se reconnecter après l’expiration du jeton, copiez un nouveau jeton et exportez-le à nouveau vers PGPASSWORD.

Modal de connexion avec le menu déroulant Rôle ouvert, affichant la section des rôles OAuth

Note

Copier le jeton OAuth ne génère un jeton que pour votre identifiant de connexion actuel, pas pour les principaux de service ou pour d’autres utilisateurs. Pour générer des jetons pour d’autres identités, utilisez l’interface CLI ou le SDK.

Dépannage des connexions OAuth

  • psql cesse de répondre quand vous collez le jeton à la requête du mot de passe. Les jetons OAuth sont longs, et dans certains terminaux, en coller un sur l’invite interactive fait psql cesser de répondre. Exportez le jeton vers PGPASSWORD avant d’exécuter psql, comme décrit dans les étapes précédentes.

  • psql demande un mot de passe même si PGPASSWORD est défini. D’autres paramètres Postgres dans votre environnement peuvent prévaloir sur PGPASSWORD, comme un fichier de service de connexion défini par votre profil shell. Pour vous connecter indépendamment de ces réglages, ajoutez le jeton à la chaîne de connexion. Utilisez des guillemets doubles pour que votre shell développe la variable :

    psql "postgresql://your-email%40databricks.com:${PGPASSWORD}@ep-abc-123.databricks.com/databricks_postgres?sslmode=require"
    

    Pour résoudre la cause sous-jacente, exécutez env | grep '^PG' pour vérifier les variables PGSERVICE ou PGSERVICEFILE. Si l’un ou l’autre est réglé, annulez leur définition pour votre session en cours :

    unset PGSERVICE PGSERVICEFILE
    

    Pour empêcher les variables de revenir dans de nouvelles sessions, supprimez de votre profil de shell les lignes export qui les définissent, telles que ~/.bashrc ou ~/.zshrc.

Se connecter avec un mot de passe Postgres natif

L’authentification par mot de passe Postgres native vous permet de vous connecter à l’aide d’un rôle Postgres avec un mot de passe de base de données traditionnel.

Pour vous connecter avec l’authentification par mot de passe Postgres native :

  1. Dans l’application Lakebase, sélectionnez votre projet, puis cliquez sur Se connecter.
  2. Sélectionnez la branche, le calcul et la base de données à laquelle vous souhaitez vous connecter, puis sélectionnez un rôle Postgres dans la section rôles Postgres du menu déroulant Rôle .
  3. Sélectionnez psql dans le menu déroulant au-dessus du extrait, puis copiez le fragment dans votre terminal et exécutez-le pour vous connecter.

Boîte de dialogue de connexion de rôle Postgres

Note

Lakebase inclut un pool de connexions intégré pour les rôles de mot de passe Postgres natifs. Pour réduire la surcharge de connexion pour les applications à débit élevé, consultez Utiliser le regroupement de connexions.

Ressources supplémentaires