Gérer les rôles Microsoft Entra dans Azure Database pour PostgreSQL – Serveur flexible

S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur flexible

Cet article décrit comment créer des rôles de base de données activés par Microsoft Entra ID au sein d’une instance de serveur flexible Azure Database pour PostgreSQL.

Remarque

Ce guide suppose que vous avez déjà activé l’authentification Microsoft Entra sur votre instance de serveur flexible Azure Database pour PostgreSQL. Voir Comment configurer l'authentification Microsoft Entra

Si vous souhaitez en savoir plus sur la création et la gestion des utilisateurs d’un abonnement Azure et de leurs privilèges, consultez l’article Contrôle d’accès en fonction du rôle Azure (Azure RBAC) ou lisez Guide pratique pour personnaliser les rôles.

Créer ou supprimer des administrateurs Microsoft Entra en utilisant le portail Azure ou l’API Azure Resource Manager (ARM)

  1. Ouvrez la page Authentification pour votre instance de serveur flexible Azure Database pour PostgreSQL dans le portail Azure.
  2. Pour ajouter un administrateur : sélectionnez Ajouter un administrateur Microsoft Entra, et sélectionnez un utilisateur, un groupe, une application ou une identité managée dans le locataire Microsoft Entra actuel.
  3. Pour supprimer un administrateur, sélectionnez l’icône Supprimer pour l’administrateur à supprimer.
  4. Sélectionnez Enregistrer et attendez que l’opération de provisionnement soit terminée.

Screenshot of managing Microsoft Entra administrators via portal.

Remarque

La prise en charge de la gestion des administrateurs Microsoft Entra via Azure SDK, az cli et Azure PowerShell sera bientôt disponible.

Gérer les rôles Microsoft Entra à l'aide de SQL

Une fois le premier administrateur Microsoft Entra créé à partir du portail Azure ou de l’API, vous pouvez utiliser le rôle d'administrateur pour gérer les rôles Microsoft Entra dans votre instance de serveur flexible Azure Database pour PostgreSQL.

Nous vous recommandons de vous familiariser avec la plateforme d’identités Microsoft pour utiliser au mieux l’intégration de Microsoft Entra au serveur flexible Azure Database pour PostgreSQL.

Types de principal

Le serveur flexible Azure Database pour PostgreSQL stocke en interne le mappage entre les rôles de base de données PostgreSQL et les identificateurs uniques des objets AzureAD. Chaque rôle de base de données PostgreSQL peut être mappé à l'un des types d'objet Microsoft Entra suivants :

  1. Utilisateur – Inclut les utilisateurs locaux du locataire et les utilisateurs invités.
  2. Principal de service. Inclut les applications et les identités managées
  3. Groupe Quand un rôle PostgreSQL est lié à un groupe Microsoft Entra, tout membre utilisateur ou principal de service de ce groupe peut se connecter à l’instance de serveur flexible Azure Database pour PostgreSQL avec le rôle de groupe.

Répertorier les rôles Microsoft Entra à l'aide de SQL

select * from pgaadauth_list_principals(true);

Paramètres :

  • true : retourne Administration utilisateurs.
  • false –renverra tous les utilisateurs de Microsoft Entra, à la fois les administrateurs Microsoft Entra et les administrateurs non Microsoft Entra.

Créer un rôle en utilisant le nom principal Microsoft Entra

select * from pgaadauth_create_principal('<roleName>', <isAdmin>, <isMfa>);

--For example: 

select * from pgaadauth_create_principal('mary@contoso.com', false, false);

Paramètres :

  • roleName – Nom du rôle à créer. Cela doit correspondre à un nom du principal Microsoft Entra :
    • Pour des utilisateurs, utilisez le nom d’utilisateur principal du profil. Pour les utilisateurs invités, incluez le nom complet dans leur domaine de base avec l’étiquette #EXT#.
    • Pour les groupes et les principaux de service, utilisez le nom d’affichage. Le nom doit être unique dans le locataire.
  • isAdmin – Défini sur true lors de la création d’un utilisateur administrateur et sur false pour un utilisateur normal. L’utilisateur administrateur créé de cette façon dispose des mêmes privilèges qu’un autre créé via le portail ou l’API.
  • isMfa – Indicateur précisant si l’authentification multifacteur doit être appliquée pour ce rôle.

Supprimer un rôle en utilisant le nom de principal Microsoft Entra

N’oubliez pas que tout rôle Microsoft Entra créé dans PostgreSQL doit être supprimé en utilisant un administrateur Microsoft Entra. Si vous utilisez un administrateur PostgreSQL standard pour supprimer un rôle Entra, une erreur se produit.

DROP ROLE rolename;

Créer un rôle à l'aide de l'identifiant d'objet Microsoft Entra

select * from pgaadauth_create_principal_with_oid('<roleName>', '<objectId>', '<objectType>', <isAdmin>, <isMfa>);

For example: select * from pgaadauth_create_principal_with_oid('accounting_application', '00000000-0000-0000-0000-000000000000', 'service', false, false);

Paramètres :

  • roleName – Nom du rôle à créer.
  • objectId – Identificateur d'objet unique de l'objet Microsoft Entra :
    • Pour les Utilisateurs, les Groupes et les Identités managées, l'ObjectId peut être trouvé en recherchant le nom de l'objet sur la page Microsoft Entra ID du portail Azure. Voir ce guide à titre d’exemple
    • Pour les applications, l’ObjectId du principal de service correspondant doit être utilisé. Sur le portail Azure, l’ObjectId nécessaire se trouve dans la page Applications d’entreprise.
  • objectType – Type de l'objet Microsoft Entra à lier à ce rôle : service, utilisateur, groupe.
  • isAdmin – Défini sur true lors de la création d’un utilisateur administrateur et sur false pour un utilisateur normal. L’utilisateur administrateur créé de cette façon dispose des mêmes privilèges qu’un autre créé via le portail ou l’API.
  • isMfa – Indicateur précisant si l’authentification multifacteur doit être appliquée pour ce rôle.

Activer l'authentification Microsoft Entra pour un rôle PostgreSQL existant à l'aide de SQL

Le serveur flexible Azure Database pour PostgreSQL utilise les étiquettes de sécurité associées aux rôles de base de données pour stocker le mappage Microsoft Entra ID.

Vous pouvez utiliser le code SQL suivant pour attribuer une étiquette de sécurité :

SECURITY LABEL for "pgaadauth" on role "<roleName>" is 'aadauth,oid=<objectId>,type=<user|group|service>,admin';

Paramètres :

  • roleName – Nom d'un rôle PostgreSQL existant pour lequel l'authentification Microsoft Entra doit être activée.
  • objectId – Identificateur d'objet unique de l'objet Microsoft Entra.
  • utilisateur : principaux de l’utilisateur final.
  • service : les applications ou les identités managées se connectent sous leurs propres informations d’identification de service.
  • groupe – Nom du groupe Microsoft Entra.

Étapes suivantes