Aller au contenu principal

Authentifier à une instance de base de données

info

Lakebase Provisioned est l'offre originale de Lakebase qui utilise un compute provisionné que vous mettez à l'échelle manuellement. Pour les régions prises en charge, consultez la disponibilité des régions. Pour la dernière version de Lakebase, avec compute à dimensionnement automatique, mise à l'échelle jusqu'à zéro, création de branches et restauration instantanée, consultez Lakebase Autoscaling.

Depuis le 12 mars 2026, les nouvelles instances Lakebase sont créées en tant que projets de dimensionnement automatique. Les instances provisionnées existantes sont mises à niveau automatiquement vers la mise à l'échelle automatique, à compter de juin 2026. Pour plus de détails, consultez Mise à niveau vers le dimensionnement automatique Lakebase.

Les identités Databricks et les rôles Postgres sont des systèmes distincts. Il n'y a pas de synchronisation automatique entre eux. Vous devez créer des rôles Postgres pour les identités Databricks qui nécessitent un accès PostgreSQL. Voir rôles Postgres.

Cette page décrit comment s'authentifier à une instance de base de données Lakebase. Il existe deux façons de s'authentifier :

  1. Obtenez un jeton OAuth et authentifiez-vous à l'aide des identités Databricks.
  2. Utilisez les rôles Postgres natifs avec des mots de passe.

Authentifiez-vous avec les identités Databricks

Lorsque vous vous authentifiez en tant qu'identité Databricks, vous devez générer un jeton OAuth et l'utiliser comme mot de passe lors de la connexion à Postgres.

Considérations avant de commencer

  • Les jetons OAuth expirent après une heure, mais l'expiration n'est appliquée qu'à la connexion. Les connexions ouvertes restent actives même si le jeton expire. Cependant, toute commande PostgreSQL qui requiert une authentification échoue si le jeton a expiré.

  • Les jetons OAuth utilisés pour l'authentification Postgres sont limités au Workspace et doivent appartenir au même Workspace qui possède l'instance de base de données. L'authentification par jeton inter-Workspace n'est pas prise en charge. Pour en savoir plus sur l'authentification, consultez Authentification pour le CLI Databricks.

  • L'authentification basée sur des jetons nécessite un mot de passe en texte clair, donc seules les connexions SSL sont autorisées. Assurez-vous que la bibliothèque cliente que vous utilisez pour accéder à Postgres avec une authentification basée sur des jetons est configurée pour établir une connexion SSL.

Obtenez un jeton OAuth dans un flux utilisateur-machine

Si vous êtes propriétaire ou administrateur de base de données, ou si votre identité Databricks a un rôle Postgres correspondant pour l'instance de base de données, vous pouvez obtenir un jeton OAuth à partir de l'interface utilisateur, de l'interface CLI Databricks ou de l'un des SDK Databricks. Vous pouvez restreindre la portée du jeton de manière appropriée à l'aide du CLI Databricks.

Pour les autres utilisateurs d'identité Databricks, consultez Autoriser l'accès des utilisateurs à Databricks avec OAuth pour obtenir les instructions d'autorisation au niveau du Workspace afin d'obtenir des jetons OAuth.

Lorsque le statut de votre instance de base de données est Disponible , utilisez l'interface utilisateur de Databricks pour obtenir un jeton OAuth :

  1. Cliquez sur Icône d'application. Applications dans le coin supérieur droit et sélectionnez Lakebase Postgres .
  2. Cliquez sur **Provisionné** pour ouvrir la page **Instances provisionnées**.
  3. Recherchez et cliquez sur le nom de l'instance de base de données pour laquelle vous souhaitez obtenir un jeton OAuth.
  4. Cliquez sur l'onglet Connection details tab.
  5. Cliquez sur **Obtenir le jeton OAuth**. Un indicateur signale la création du jeton.
  6. Cliquez sur Copier le jeton OAuth pour copier le jeton dans votre presse-papiers.

Obtenez un jeton OAuth dans un flux machine à machine

Pour activer un accès sécurisé et automatisé (machine-à-machine) à l'instance de base de données, vous devez obtenir un jeton OAuth à l'aide d'un Service Principal Databricks. Ce processus implique la configuration du Service Principal, la génération des identifiants et la création de jetons OAuth pour l'authentification.

  1. Configurez un service principal avec des identifiants à durée de vie illimitée. Pour obtenir des instructions, consultez Autoriser l'accès du Service Principal à Databricks avec OAuth.
  2. Créez de nouveaux jetons OAuth en tant que Service Principal.

Lorsque le Statut de votre instance de base de données est Disponible , utilisez la CLI Databricks v0.256.0 et versions ultérieures pour obtenir un jeton OAuth :

  1. Utilisez la commande suivante pour récupérer un jeton.

    Bash
      databricks database generate-database-credential \
    --request-id $(uuidgen) \
    --json '{"instance_names": ["db-instance-name"]}'
  2. Ceci génère une réponse dans le format suivant. Copiez le token de la réponse.

    JSON
    {
    "expiration_time": "2025-08-24T14:15:22Z",
    "token": "<string>"
    }
remarque

Renouveler les jetons OAuth avant l'expiration horaire :

  • Vérifiez la date d'expiration du jeton OAuth à chaque utilisation et refresh si nécessaire.
  • Vous pouvez également configurer un thread d’arrière-plan pour refresh périodiquement le jeton OAuth actuel.

Dépanner l'identité du jeton

Si l'identité de votre jeton ne correspond pas à l'étiquette de sécurité, vous pourriez recevoir un message d'erreur comme celui-ci.

A valid oauth token was supplied but the token's identity "<USER>" did not match the security label configured for role "<SERVICE PRINCIPAL>". Please ensure that the token is generated for the correct databricks identity.

Exécutez la commande suivante pour vérifier quelle identité Databricks est renvoyée :

Bash
databricks current-user me

Si l'identité attendue n'est pas renvoyée, vérifiez que les bons identifiants ont été utilisés lors de l'initialisation du client du workspace.

S’authentifier en tant que groupe Databricks

Les groupes et les appartenances aux groupes ne sont pas synchronisés de Databricks vers Postgres, pas plus que les autorisations Unity Catalog. Cependant, après qu'un groupe Databricks est ajouté à Postgres, tout utilisateur Databricks du groupe peut se connecter en tant que groupe en utilisant le mot de passe de l'utilisateur. Cela vous permet de gérer les autorisations au niveau du groupe dans Postgres. Tout membre direct ou indirect (utilisateur ou Service Principal) de l'identité de groupe Databricks peut s'authentifier auprès de Postgres et se connecter en tant que rôle Postgres du groupe Databricks.

Lors de l'authentification en tant qu'identité de groupe à l'aide d'un jeton d'utilisateur ou de Service Principal, l'appartenance au groupe est validée uniquement au moment de l'authentification. Toute connexion ouverte avec un jeton de membre de groupe reste ouverte si le membre est retiré du groupe après l'authentification. Toute nouvelle demande de connexion d'un membre de groupe supprimé est rejetée lors de l'authentification.

Bash
export PGPASSWORD='<OAuth token of a group member>'
export GROUPROLENAME=<pg-case-sensitive-group-role-name>

psql -h $HOSTNAME -p 5432 -d databricks_postgres -U $GROUPROLENAME

Seuls les groupes attribués au Workspace Databricks de l'instance de base de données sont pris en charge pour la connexion Postgres basée sur les groupes. Pour savoir comment attribuer un groupe à un workspace, consultez Attribuer un groupe à un workspace.

Authentifiez-vous avec les rôles et les mots de passe Postgres.

Si vous avez des clients qui ne prennent pas en charge la rotation des identifiants après une heure, vous pouvez créer des rôles Postgres natifs avec des mots de passe :

  1. Cliquez sur Icône d&#39;application. Applications dans le coin supérieur droit et sélectionnez Lakebase Postgres .

  2. Cliquez sur **Provisionné** pour ouvrir la page **Instances provisionnées**.

  3. Sélectionnez l'instance de base de données que vous souhaitez mettre à jour.

  4. Cliquez sur **Modifier** en haut à droite.

  5. Activer Activer la connexion au rôle natif Postgres .

  6. Cliquez sur Enregistrer .

  7. Connectez-vous à Postgres, ou utilisez l'éditeur SQL, pour créer un rôle avec un mot de passe.

    SQL
    CREATE ROLE new_role LOGIN PASSWORD 'your strong password';
  8. Accordez des autorisations Postgres supplémentaires au nouveau rôle. Voir accorder des privilèges aux rôles Postgres en utilisant PostgreSQL.

Ressources supplémentaires

Après avoir obtenu un identifiant (jeton OAuth ou mot de passe), vous pouvez vous connecter à votre instance de base de données.