Partager via


Utiliser Microsoft Entra ID pour l’authentification avec PostgreSQL

S’APPLIQUE À : Azure Database pour PostgreSQL – Serveur unique versions

Important

Azure Database pour PostgreSQL - Serveur unique est en voie de mise hors service. Nous vous recommandons vivement de procéder à une mise à niveau vers un serveur flexible Azure Database pour PostgreSQL. Pour plus d’informations sur la migration vers le Serveur flexible Azure Database pour PostgreSQL, consultez l’article Qu’arrive-t-il au Serveur unique Azure Database pour PostgreSQL ?.

L’authentification Microsoft Entra est un mécanisme de connexion à Azure Database pour PostgreSQL utilisant les identités définies dans Microsoft Entra ID. Avec l’authentification Microsoft Entra, vous pouvez gérer les identités des utilisateurs de base de données et d’autres services Microsoft dans un emplacement centralisé, ce qui simplifie la gestion des autorisations.

Les avantages de l’utilisation de Microsoft Entra ID sont les suivants :

  • Authentification uniforme des utilisateurs dans les services Azure
  • Gestion des stratégies de mot de passe et de la rotation de mot de passe dans un emplacement unique
  • Formes d’authentification multiples prises en charge par Microsoft Entra ID, ce qui peut éviter d’avoir à stocker les mots de passe
  • Les clients peuvent gérer les autorisations de base de données à l’aide de groupes externes (Microsoft Entra ID).
  • L’authentification Microsoft Entra utilise des rôles de base de données PostgreSQL pour authentifier les identités au niveau de la base de données
  • Prise en charge de l’authentification basée sur des jetons pour les applications se connectant à Azure Database pour PostgreSQL

Pour configurer et utiliser l’authentification Microsoft Entra, procédez comme suit :

  1. Créez et remplissez Microsoft Entra ID avec des identités utilisateur en fonction des besoins.
  2. Le cas échéant, associez ou modifiez l’annuaire Active Directory actuellement associé à votre abonnement Azure.
  3. Créez un administrateur Microsoft Entra pour le serveur Azure Database pour PostgreSQL.
  4. Créez des utilisateurs de base de données dans votre base de données mappés sur les identités Microsoft Entra.
  5. Connectez-vous à votre base de données en extrayant un jeton pour une identité Microsoft Entra et en ouvrant une session.

Remarque

Pour savoir comment créer et remplir Microsoft Entra ID, puis configurer Microsoft Entra ID avec Azure Database pour PostgreSQL, consultez Configurer et se connecter avec Microsoft Entra ID pour Azure Database pour PostgreSQL.

Architecture

Le diagramme général suivant résume le fonctionnement de l’authentification Microsoft Entra avec Azure Database pour PostgreSQL. Les flèches indiquent les voies de communication.

flux d’authentification

Structure de l’administrateur

En cas d’utilisation de l’authentification Microsoft Entra, il existe deux comptes administrateur pour le serveur PostgreSQL ; l’administrateur de PostgreSQL d’origine et l’administrateur Microsoft Entra. Seul l’administrateur basé sur un compte Microsoft Entra peut créer le premier utilisateur de base de données autonome Microsoft Entra ID dans une base de données utilisateur. La connexion administrateur Microsoft Entra peut être un utilisateur Microsoft Entra ou un groupe Microsoft Entra. Lorsque l’administrateur est un compte de groupe, il peut être utilisé par n’importe quel membre du groupe, activant plusieurs administrateurs Microsoft Entra pour le serveur PostgreSQL. L’utilisation d’un compte de groupe en tant qu’administrateur facilite la gestion en vous permettant d’ajouter et de supprimer des membres du groupe dans Microsoft Entra ID sans modifier les utilisateurs ou les autorisations du serveur PostgreSQL. Seul un administrateur Microsoft Entra (utilisateur ou groupe) peut être configuré à tout moment.

structure admin

Remarque

Le principal de service ou l’identité managée ne peut pas agir en tant qu’administrateur Microsoft Entra entièrement fonctionnel dans un serveur unique et cette limitation est corrigée dans notre serveur flexible

Autorisations

Pour créer des utilisateurs qui peuvent s’authentifier avec Microsoft Entra ID, vous devez disposer du rôle azure_ad_admin dans la base de données. Ce rôle est attribué en configurant le compte d’administrateur Microsoft Entra pour un serveur Azure Database pour PostgreSQL spécifique.

Pour créer un utilisateur de base de données Microsoft Entra, vous devez vous connecter en tant qu’administrateur Microsoft Entra. Cela est illustré dans Configurer et se connecter avec Microsoft Entra ID pour Azure Database pour PostgreSQL.

Toute authentification Microsoft Entra n’est possible que si l’administrateur Microsoft Entra a été créé pour Azure Database pour PostgreSQL. Si l’administrateur Microsoft Entra a été supprimé du serveur, les utilisateurs Microsoft Entra existants créés précédemment ne peuvent plus se connecter à la base de données en utilisant leurs informations d’identification Microsoft Entra.

Se connecter à l’aide d’identités Microsoft Entra

L’authentification Microsoft Entra prend en charge les méthodes suivantes de connexion à une base de données à l’aide d’identités Microsoft Entra :

  • Mot de passe Microsoft Entra
  • Microsoft Entra intégré
  • Authentification universelle Microsoft Entra avec MFA
  • Utilisation des certificats ou de clés secrètes client d’application Active Directory
  • Identité gérée

Une fois authentifié auprès d’Active Directory, vous récupérez un jeton. Ce jeton est votre mot de passe de connexion.

Notez que les opérations de gestion, telles que l’ajout de nouveaux utilisateurs, sont uniquement prises en charge pour les rôles d’utilisateur Microsoft Entra à ce stade.

Remarque

Pour plus d’informations sur la façon de se connecter avec un jeton Active Directory, consultez Configurer et se connecter avec Microsoft Entra ID pour Azure Database pour PostgreSQL.

Considérations supplémentaires

  • Pour améliorer la facilité de gestion, nous vous conseillons de mettre en service un groupe Microsoft Entra dédié en tant qu’administrateur.
  • Un seul administrateur Microsoft Entra (utilisateur ou groupe) peut être configuré pour un serveur Azure Database pour PostgreSQL à tout moment.
  • Seul un administrateur de Microsoft Entra pour PostgreSQL peut se connecter initialement au serveur Azure Database pour PostgreSQL à l’aide d’un compte Microsoft Entra. L’administrateur Active Directory peut configurer les utilisateurs de base de données Microsoft Entra suivants.
  • Si un utilisateur est supprimé de Microsoft Entra ID, il ne pourra plus s’authentifier auprès de Microsoft Entra ID, et il ne sera donc plus possible d’acquérir un code d'accès pour cet utilisateur. Dans ce cas, bien que le rôle correspondant se trouve toujours dans la base de données, il ne sera pas possible de se connecter au serveur avec lui.

Remarque

La connexion à l’aide de l’utilisateur Microsoft Entra supprimé peut toujours être effectuée jusqu’à l’expiration du jeton (60 minutes maximum après l’émission du jeton). Si vous supprimez également l’utilisateur de la base de données Azure pour PostgreSQL, cet accès sera immédiatement révoqué.

  • Si l’administrateur Microsoft Entra est supprimé du serveur, ce dernier n’est plus associé à un locataire Microsoft Entra et, par conséquent, toutes les connexions Microsoft Entra sont désactivées pour le serveur. L’ajout d’un nouvel administrateur Microsoft Entra à partir du même locataire réactivera les connexions Microsoft Entra.
  • Azure Database pour PostgreSQL met en correspondance les jetons d’accès au rôle Azure Database pour PostgreSQL à l’aide de l’ID d’utilisateur Microsoft Entra unique de l’utilisateur au lieu d’utiliser le nom d’utilisateur. Cela signifie que si un utilisateur Microsoft Entra est supprimé de Microsoft Entra ID et qu’un nouvel utilisateur est créé avec le même nom, Azure Database pour PostgreSQL considère que le nouvel utilisateur est différent de l’utilisateur précédent. Par conséquent, si un utilisateur est supprimé de Microsoft Entra ID et qu’un nouvel utilisateur portant le même nom a été ajouté, le nouvel utilisateur ne sera pas en mesure de se connecter au rôle existant. Pour y remédier, l’administrateur Microsoft Entra d’Azure Database pour PostgreSQL doit révoquer puis accorder le rôle « azure_ad_user » à l’utilisateur afin d’actualiser l’ID d’utilisateur Microsoft Entra.

Étapes suivantes