Aller au contenu principal

Gérer les rôles

Les rôles Postgres contrôlent l'accès à vos bases de données, schémas, tables et autres objets de base de données Postgres. Utilisez l'UI de Lakebase pour créer et gérer des rôles pour votre équipe.

remarque

Avant de travailler avec les rôles, découvrez comment vous connecter à votre base de données et vous authentifier à l'aide de jetons OAuth ou de l'authentification par mot de passe natif Postgres.

Présentation des rôles

Lorsque vous créez un projet, un rôle Postgres est automatiquement créé pour votre identité Databricks (par exemple, user@databricks.com). Ce rôle est propriétaire de la base de données databricks_postgres default et est membre de databricks_superuser, ce qui lui confère de larges privilèges pour gérer les objets de la base de données. Vous pouvez créer des rôles supplémentaires dans la Branch default de votre projet ou dans les Branches enfants.

Si vous gérez votre projet avec Terraform et que vous souhaitez placer ce rôle implicite de propriétaire sous la gestion IaC, consultez Configuration type d'un projet Lakebase avec Terraform pour le modèle d'adoption replace_existing.

Si vous utilisez plutôt des Declarative Automation Bundles, consultez la configuration de projet Lakebase typique avec les Declarative Automation Bundles pour le même modèle.

remarque

L'état des rôles Postgres est indépendant entre les Branch. Lorsque vous créez une Branch, elle reflète les rôles Postgres, les bases de données, les adhésions aux rôles et les autorisations du parent au moment du Branch. Après le branchement, chaque Branch évolue indépendamment — les rôles et bases de données créés, les GRANT et REVOKE appliqués, et les attributs ou adhésions de rôles modifiés sur une Branch n'ont aucun effet sur les autres Branches, y compris la Branch parente. Il n'y a pas de synchronisation automatique de l'état des rôles entre les Branch.

Autorisations de projet (CAN USE, CAN MANAGE) fonctionnent différemment : elles s’appliquent à l’ensemble du projet et à toutes ses Branch. Consultez Gérer les autorisations de projet.

Créer un rôle

Utilisez la boîte de dialogue Ajouter un rôle dans l'application Lakebase pour créer un rôle OAuth pour une identité Databricks ou un rôle de mot de passe Postgres natif.

Créer un rôle OAuth

Les rôles OAuth sont liés à une identité Databricks (utilisateur, Service Principal ou groupe) et s'authentifient à l'aide de jetons OAuth, qui expirent après une heure.

Lorsque vous créez une branch enfant, elle reflète le rôle et l'état de la base de données du parent au moment du branching. Après cela, l'état du rôle de chaque branch évolue indépendamment. Pour les groupes, seuls les groupes au niveau du workspace sont pris en charge.

Accordez éventuellement databricks_superuser (hérite de pg_read_all_data, pg_write_all_data et pg_monitor) ou les attributs Postgres standard (CREATEDB, CREATEROLE, BYPASSRLS). Consultez les attributs de rôle dans la documentation PostgreSQL.

Pour créer un rôle OAuth, accédez à Rôles & Bases de données > Ajouter un rôle > tab OAuth , sélectionnez une identité dans la liste déroulante Principal , configurez les autorisations, et cliquez sur Ajouter.

Ajouter un rôle — Tab OAuth

remarque

Vous pouvez également créer des rôles OAuth en utilisant l'extension databricks_auth avec SQL ou l'API REST. Voir Créer des rôles Postgres.

Créer un rôle de mot de passe

Les rôles de mot de passe utilisent un mot de passe Postgres statique et ne sont pas liés à une identité Databricks. Ils sont utiles pour les applications ou les outils qui nécessitent des informations d'identification de base de données traditionnelles.

L'application Lakebase génère un mot de passe sécurisé automatiquement. Copiez-le immédiatement après la création — il ne sera plus affiché. Si vous avez besoin d'un mot de passe personnalisé, définissez-le plus tard à l'aide de SQL. Les mêmes autorisations facultatives du rôle OAuth s'appliquent (databricks_superuser, CREATEDB, CREATEROLE, BYPASSRLS). Les noms de rôles doivent être des identifiants Postgres valides et ne peuvent pas dépasser 63 caractères.

Pour créer un rôle de mot de passe, naviguez vers Rôles & Bases de données > Ajouter un rôle > tab , saisissez un nom de rôle, configurez les autorisations, cliquez sur Ajouter , et copiez le mot de passe généré.

Ajouter un rôle — Mot de passe tab

Afficher les rôles

Pour afficher tous les rôles dans une Branch, accédez à la tab Rôles et bases de données de votre Branch dans l'application Lakebase.

Liste des rôles

Gérer les connexions par mot de passe

Les connexions par mot de passe sont désactivées par default pour les nouveaux projets Lakebase Autoscaling. Les projets existants ne sont pas affectés par ce default.

Pour activer les connexions par mot de passe, accédez aux Paramètres de votre projet > Connexions à la base de données et cochez Mot de passe (Rôles Postgres natifs) .

Pour désactiver les connexions par mot de passe, accédez à votre projet **Paramètres** > **Connexions à la base de données** et décochez **Mot de passe (rôles Postgres natifs)**. Les rôles de mot de passe existants ne sont pas supprimés, mais ne peuvent pas s'authentifier tant que les connexions par mot de passe sont désactivées.

Vous pouvez également contrôler cela par compute endpoint. Dans les paramètres de compute de votre Branch, sélectionnez Modifier > Connexions aux bases de données et cochez ou décochez Mot de passe (rôles Postgres) .

Paramètres de connexion à la base de données

important

Il s'agit d'un changement de comportement. Si vous avez des scripts d'automatisation ou des pipelines CI qui créent de nouveaux projets Autoscaling de Lakebase et dépendent des connexions par mot de passe Postgres natives, vous devez maintenant activer explicitement les connexions par mot de passe après la création du projet.

Pour activer ou désactiver les connexions par mot de passe par programmation :

Bash
# Enable password connections
databricks postgres update-project projects/<project-id> spec.enable_pg_native_login \
--json '{"spec": {"enable_pg_native_login": true}}'

# Disable password connections
databricks postgres update-project projects/<project-id> spec.enable_pg_native_login \
--json '{"spec": {"enable_pg_native_login": false}}'

Reset un mot de passe

Vous pouvez Reset le mot de passe des rôles de mot de passe Postgres natifs. Les rôles OAuth utilisent des jetons OAuth pour l'authentification et n'ont pas de mots de passe à Reset.

Pour Reset le mot de passe d'un rôle :

  1. Accédez à l'onglet Rôles et bases de données de votre Branch dans l'application Lakebase.
  2. Sélectionnez Reset password dans le menu du rôle et cliquez sur Reset .
  3. Copiez le nouveau mot de passe généré.
remarque

La réinitialisation d'un mot de passe dans l'application Lakebase réinitialise le mot de passe à une valeur générée avec une entropie de 60 bits. Pour définir votre propre valeur de mot de passe, vous pouvez réinitialiser le mot de passe à l'aide de l'éditeur SQL ou d'un client SQL comme psql avec la syntaxe suivante :

SQL
ALTER USER user_name WITH PASSWORD 'new_password';

Le mot de passe doit comporter au moins 12 caractères avec un mélange de caractères minuscules, majuscules, numériques et symboles. Les mots de passe définis par l'utilisateur sont validés au moment de la création pour garantir une entropie de 60 bits.

Obtenir un nouveau jeton OAuth

Si vous utilisez l'authentification OAuth et avez besoin d'un nouveau jeton OAuth (les jetons expirent après une heure), vous pouvez en obtenir un à partir de la modale Connect :

  1. Accédez à votre projet dans l'application Lakebase.
  2. Cliquez sur Connecter pour ouvrir la fenêtre modale de connexion à la base de données.
  3. Sélectionnez votre rôle OAuth dans la liste déroulante Rôles .
  4. Cliquez sur Copier le jeton OAuth pour copier un nouveau jeton.

En savoir plus : Se connecter avec un rôle OAuth | À propos de l'authentification

Supprimer un rôle

important

La suppression d'un rôle est une action permanente qui ne peut pas être annulée, et vous ne pouvez pas supprimer un rôle propriétaire d'une base de données. La base de données doit être supprimée avant de supprimer le rôle qui en est propriétaire.

Pour supprimer un rôle :

  1. Accédez à l'onglet Rôles et bases de données de votre Branch dans l'application Lakebase.
  2. Sélectionnez Supprimer le rôle dans le menu des rôles et confirmez la suppression.
remarque

La gestion des rôles de base de données nécessite l'autorisation de projet CAN MANAGE ou CAN USE. Si vous n'avez pas l'autorisation requise, vous verrez un message « Autorisations requises » lors d'une tentative d'action liée au rôle. Contactez un administrateur Workspace pour demander l'accès. Pour plus d'information, consultez Gérer les autorisations du projet.