Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Cette fonctionnalité est en préversion publique dans les régions suivantes : westus, , westus2eastuseastus2, , centralus, southcentralus, , northeuropewesteurope, , australiaeastbrazilsouth, , canadacentral, centralindia, , . southeastasiauksouth
Un rôle Postgres pour l’identité Azure Databricks du propriétaire de l’instance de base de données Lakebase est créé automatiquement.
Initialement, seul le propriétaire de l’instance peut se connecter et accéder à l’instance via Postgres. Pour permettre à d’autres identités Azure Databricks de se connecter à l’instance de base de données, l’identité Azure Databricks doit avoir un rôle Postgres correspondant.
Cette page explique comment ajouter et gérer d’autres rôles basés sur des identités Azure Databricks dans PostgreSQL.
Créer des rôles Postgres et accorder des privilèges pour les identités Azure Databricks
Créez des rôles Postgres à l’aide de l’interface utilisateur Azure Databricks ou des requêtes PostgreSQL.
Note
Les actions de gestion des rôles sont régies par les autorisations accordées sur l’instance de base de données. Vérifiez que vous disposez du niveau d’accès approprié avant de tenter de gérer les rôles.
IU
Les utilisateurs disposant CAN USE d’une autorisation sur l’instance de base de données peuvent afficher les rôles Postgres existants associés aux identités Azure Databricks ou ajouter un rôle pour leur propre identité à l’instance.
Les utilisateurs avec CAN MANAGE peuvent en outre créer des rôles pour d’autres identités Azure Databricks, avec des privilèges supplémentaires, et supprimer des rôles pour n’importe quelle identité Azure Databricks.
Vous pouvez attribuer des autorisations supplémentaires à tous les utilisateurs, groupes ou principaux de service souhaités dans la page vue d’ensemble des instances de base de données .
- Cliquez sur
Applications dans le coin supérieur droit et sélectionnez Lakebase Postgres.
- Cliquez sur Provisionné pour ouvrir la page Instances approvisionnées .
- Sélectionnez votre instance de base de données.
- Sélectionnez la page Rôles dans la barre latérale de l’application Lakebase.
- Cliquez sur Ajouter un rôle dans le coin supérieur droit.
- Dans le menu déroulant Principal , sélectionnez un utilisateur, un groupe ou un principal de service que vous souhaitez accorder à la base de données l’accès. Vous devez sélectionner une identité Azure Databricks qui n’a pas encore de rôle Postgres dans l’instance.
- (Facultatif) Sélectionnez Rôles système à accorder :
-
databricks_superuser : accorde l’accès en lecture et en écriture à toutes les données. Il s’agit d’un rôle administratif avec de larges privilèges qui héritent de
pg_read_all_data,pg_write_all_dataetpg_monitor. Consultez les rôles et autorisations précréés.
-
databricks_superuser : accorde l’accès en lecture et en écriture à toutes les données. Il s’agit d’un rôle administratif avec de larges privilèges qui héritent de
- (Facultatif) Sélectionnez Attributs système pour accorder des fonctionnalités spécifiques :
- CREATEDB : accorde l’autorisation de créer de nouvelles bases de données.
- CREATEROLE : accorde l’autorisation de créer de nouveaux rôles.
- BYPASSRLS : accorde l’autorisation de contourner les stratégies de sécurité au niveau des lignes (RLS).
- Cliquez sur Ajouter.
PostgreSQL
Avant de créer de nouveaux rôles Postgres, vérifiez que vous répondez aux exigences suivantes :
- Vous devez disposer des autorisations
CREATEetCREATE ROLEsur la base de données. - Vous devez vous authentifier et vous connecter à Postgres en tant qu’identité Azure Databricks (utilisateur, principal de service ou groupe). Les sessions authentifiées Postgres natives ne peuvent pas créer de rôles Azure Databricks.
- Votre jeton d’authentification doit être valide et non expiré au moment de la création du rôle.
Utilisez la databricks_create_role fonction pour ajouter et créer des rôles PostgreSQL basés sur des identités Azure Databricks. L’extension databricks_auth PostgreSQL personnalisée fournit la databricks_create_role fonction.
Créez l’extension
databricks_auth. Chaque base de données Postgres doit avoir sa propre extension.CREATE EXTENSION IF NOT EXISTS databricks_auth;Utilisez la
databricks_create_rolefonction pour ajouter et créer des rôles Postgres pour les identités Azure Databricks. Le rôle ne doit pas déjà exister. Si un rôle portant le même nom existe, supprimez-le avant de créer le rôle basé sur l’identité Azure Databricks.SELECT databricks_create_role('identity_name', 'identity_type');Les paramètres
identity_nameetidentity_typedépendent du type d’identité Azure Databricks :Utilisateur Azure Databricks :
- identity_name : e-mail de l’utilisateur, par exemple
myuser@databricks.com - identity_type :
USER
SELECT databricks_create_role('myuser@databricks.com','USER');- identity_name : e-mail de l’utilisateur, par exemple
Principal du service Azure Databricks :
- identity_name : ID d’application du principal de service, par exemple
8c01cfb1-62c9-4a09-88a8-e195f4b01b08 - identity_type :
SERVICE_PRINCIPAL
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08','SERVICE_PRINCIPAL');- identity_name : ID d’application du principal de service, par exemple
Groupe Azure Databricks :
- identity_name : nom du groupe (sensible à la casse) :
My Group 123 - identity_type :
GROUP
SELECT databricks_create_role('My Group 123','GROUP');- identity_name : nom du groupe (sensible à la casse) :
Un rôle créé à l’aide de
databricks_create_rolen’a que les privilèges accordés àPUBLICaprès sa création. Pour accorder ou révoquer des privilèges supplémentaires, utilisez les commandes de gestion des privilèges PostgresGRANTstandard etREVOKE.Accordez au rôle l’autorisation de lecture pour accéder à une table.
GRANT SELECT ON "my_schema"."my_table" TO <role-name>;Supprimez l’accès en écriture à une table du rôle.
REVOKE INSERT, UPDATE, DELETE ON TABLE "my_schema"."my_table" FROM <role-name>;Révoquez tout l’accès à une base de données du rôle.
REVOKE CONNECT ON DATABASE "example_database" FROM <role-name>;
Afficher les rôles d’identité Azure Databricks
IU
Vous pouvez voir quels utilisateurs, groupes et principaux de service ont un rôle Postgres correspondant dans la page de vue d’ensemble des instances de base de données .
- Cliquez sur
Applications dans le coin supérieur droit et sélectionnez Lakebase Postgres.
- Cliquez sur Provisionné pour ouvrir la page Instances approvisionnées .
- Sélectionnez votre instance de base de données.
- Sélectionnez la page Rôles dans la barre latérale de l’application Lakebase.
PostgreSQL
Utilisez des requêtes PostgreSQL pour répertorier tous les rôles d’identité Azure Databricks créés par défaut et à partir de l’utilisation de la databricks_create_role fonction, utilisez la databricks_list_roles fonction dans l’extension databricks_auth . Cela répertorie tous les utilisateurs, les principaux de service et les groupes Azure Databricks ajoutés pour l’authentification en tant que rôles Postgres.
CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;
Supprimer un rôle Postgres basé sur l’identité Azure Databricks
IU
La suppression d’un rôle ne peut pas être annulée. Vous pouvez recréer un rôle, mais toute réaffectation de propriété d’objet n’est pas réversible sans supprimer le nouveau rôle qui possède des objets réaffectés.
- Cliquez sur
Applications dans le coin supérieur droit et sélectionnez Lakebase Postgres.
- Cliquez sur Provisionné pour ouvrir la page Instances approvisionnées .
- Sélectionnez votre instance de base de données.
- Sélectionnez la page Rôles dans la barre latérale de l’application Lakebase.
- Pour le rôle que vous souhaitez supprimer, cliquez sur
Sur le côté droit de la ligne.
- Cliquez sur Supprimer.
- (Facultatif) Si le rôle possède des objets, activez Réaffecter les objets détenus pour permettre la suppression du rôle. Cette option réaffecte les objets possédés à un autre rôle avant leur suppression. Certains objets (tels que les octrois au rôle supprimé) ne sont pas réaffectables et sont supprimés après la réaffectation de tous les objets réaffectables.
- Cliquez sur Confirmer.
PostgreSQL
Un rôle Postgres basé sur l’identité Azure Databricks peut être supprimé et retiré de la même façon que n’importe quel autre rôle Postgres. Pour plus d’informations, consultez la documentation PostgreSQL sur la suppression de rôles. Une fois qu’un rôle basé sur l’identité Azure Databricks est supprimé, il ne peut pas être utilisé pour l’authentification basée sur les jetons et l’accès à Postgres.