Partager via


Authentification Microsoft Entra avec 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.
  • Prise en charge de plusieurs formes d’authentification, ce qui peut éliminer la nécessité de stocker des mots de passe.
  • Capacité des clients à gérer les autorisations de base de données à l’aide de groupes externes (Microsoft Entra ID).
  • Utilisation de 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 qui se connectent à l’instance de serveur flexible Azure Database pour PostgreSQL.

Comment fonctionne Microsoft Entra ID dans Azure Database pour PostgreSQL

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

Diagramme du flux d’authentification entre Microsoft Entra ID, l’ordinateur de l’utilisateur et le serveur.

  1. Votre application peut demander un jeton à partir du point de terminaison d’identité de l’instance de serveur flexible Azure Metadata Service.
  2. Quand vous utilisez l’ID client et le certificat, un appel est fait à Microsoft Entra ID pour demander un jeton d’accès.
  3. Microsoft Entra ID renvoie un jeton d’accès JSON Web Token (JWT). Votre application envoie le jeton d’accès lors d'un appel à votre instance de serveur flexible.
  4. L’instance de serveur flexible valide le jeton avec l’ID Microsoft Entra.

Pour connaître les étapes de configuration de l’ID Microsoft Entra avec Azure Database pour PostgreSQL, consultez Utiliser l’ID Microsoft Entra pour l’authentification avec Azure Database pour PostgreSQL.

Différences entre un administrateur PostgreSQL et un administrateur Microsoft Entra

Lorsque vous activez l’authentification Microsoft Entra pour votre principal Microsoft Entra en tant qu’administrateur Microsoft Entra, le compte :

  • Obtient les mêmes privilèges que l’administrateur PostgreSQL d’origine.
  • Peut gérer d’autres rôles Microsoft Entra sur le serveur.

L’administrateur PostgreSQL peut créer uniquement des utilisateurs locaux basés sur un mot de passe. En revanche, l’administrateur Microsoft Entra a l’autorité de gérer à la fois les utilisateurs Microsoft Entra et les utilisateurs locaux basés sur un mot de passe.

L’administrateur Microsoft Entra peut être un utilisateur Microsoft Entra, un groupe Microsoft Entra, un principal de service ou une identité managée. L’utilisation d’un compte de groupe en tant qu’administrateur simplifie la gestion. Il permet l’ajout centralisé et la suppression de membres de groupe dans l’ID Microsoft Entra sans modifier les utilisateurs ou les autorisations dans l’instance de serveur flexible Azure Database pour PostgreSQL.

Vous pouvez configurer simultanément plusieurs administrateurs Microsoft Entra. Vous pouvez désactiver l’authentification par mot de passe sur une instance de serveur flexible Azure Database pour PostgreSQL pour des exigences d’audit et de conformité améliorées.

Capture d’écran de la structure d’administration pour Entra ID.

Les administrateurs Microsoft Entra que vous créez via le portail, l’API ou SQL ont les mêmes autorisations que l’utilisateur administrateur normal que vous avez créé lors de l’approvisionnement du serveur. Vous gérez les autorisations de base de données pour les rôles non-administrateur Microsoft Entra de la même manière que les rôles réguliers.

Connexion par le biais 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 des identités Microsoft Entra :

  • Authentification par mot de passe Microsoft Entra
  • Authentification intégrée Microsoft Entra
  • Authentification universelle Microsoft Entra avec authentification multifacteur
  • Certificats ou clés secrètes client d’application Active Directory
  • Identité managée

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

Pour connaître les étapes de configuration de l’ID Microsoft Entra avec Azure Database pour PostgreSQL, consultez Utiliser l’ID Microsoft Entra pour l’authentification avec Azure Database pour PostgreSQL.

Limitations et considérations

Lorsque vous utilisez l’authentification Microsoft Entra avec Azure Database pour PostgreSQL, gardez à l’esprit les points suivants :

  • Pour que les principaux Microsoft Entra prennent possession des bases de données utilisateur dans n’importe quelle procédure de déploiement, ajoutez des dépendances explicites au sein de votre module de déploiement (Terraform ou Azure Resource Manager) pour vous assurer que l’authentification Microsoft Entra est activée avant de créer des bases de données utilisateur.

  • Vous pouvez configurer plusieurs principaux Microsoft Entra (utilisateur, groupe, principal de service ou identité managée) en tant qu’administrateurs Microsoft Entra pour une instance de serveur flexible Azure Database pour PostgreSQL à tout moment.

  • Seul un administrateur Microsoft Entra pour PostgreSQL peut initialement se connecter à l’instance de serveur flexible 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 vous supprimez un principal Microsoft Entra de Microsoft Entra ID, le principal reste en tant que rôle PostgreSQL, mais ne peut plus acquérir de nouveau jeton d’accès. Dans ce cas, même si le rôle correspondant existe toujours dans la base de données, il ne peut pas s’authentifier auprès du serveur. Les administrateurs de base de données doivent transférer la propriété et supprimer les rôles manuellement.

    Note

    L’utilisateur Microsoft Entra supprimé peut toujours se connecter jusqu’à l’expiration du jeton (60 minutes maximum après l’émission du jeton). Si vous supprimez également l’utilisateur d’Azure Database pour PostgreSQL, cet accès est immédiatement révoqué.

  • Azure Database pour PostgreSQL associe les jetons d’accès au rôle de base de données à l’aide de l’ID d’utilisateur unique Microsoft Entra de l’utilisateur au lieu d’utiliser le nom d’utilisateur. Si vous supprimez un utilisateur Microsoft Entra et créez un utilisateur portant le même nom, Azure Database pour PostgreSQL le considère comme un autre utilisateur. Par conséquent, si vous supprimez un utilisateur de Microsoft Entra ID et ajoutez un nouvel utilisateur portant le même nom, le nouvel utilisateur ne peut pas se connecter au rôle existant.

Questions fréquemment posées

  • Quels sont les modes d’authentification disponibles dans Azure Database pour PostgreSQL ?

    Azure Database pour PostgreSQL prend en charge trois modes d’authentification : l’authentification PostgreSQL uniquement, l’authentification Microsoft Entra uniquement et l’authentification PostgreSQL et Microsoft Entra.

  • Puis-je configurer plusieurs administrateurs Microsoft Entra sur mon instance de serveur flexible ?

    Yes. Vous pouvez configurer plusieurs administrateurs Microsoft Entra sur votre instance de serveur flexible. Lors de l’approvisionnement, vous ne pouvez définir qu’un seul administrateur Microsoft Entra. Mais une fois le serveur créé, vous pouvez définir autant d’administrateurs Microsoft Entra que vous le souhaitez en accédant au volet Authentification .

  • Un administrateur Microsoft Entra est-il juste un utilisateur Microsoft Entra ?

    Non. Un administrateur Microsoft Entra peut être un utilisateur, un groupe, un principal de service ou une identité managée.

  • Un administrateur Microsoft Entra peut-il créer des utilisateurs locaux basés sur un mot de passe ?

    Un administrateur Microsoft Entra a l’autorité de gérer les utilisateurs Microsoft Entra et les utilisateurs locaux basés sur un mot de passe.

  • Que se passe-t-il quand j’active l’authentification Microsoft Entra sur mon instance de serveur flexible Azure Database pour PostgreSQL ?

    Lorsque vous définissez l’authentification Microsoft Entra au niveau du serveur, l’extension PGAadAuth est activée et le serveur redémarre.

  • Comment puis-je me connecter à l’aide de l’authentification Microsoft Entra ?

    Vous pouvez utiliser des outils clients tels que psql ou pgAdmin pour vous connecter à votre instance de serveur flexible. Utilisez votre identifiant utilisateur Microsoft Entra comme nom d’utilisateur et votre jeton Microsoft Entra comme mot de passe.

  • Comment générer mon jeton ?

    Vous générez le jeton en utilisant az login. Pour plus d’informations, consultez Récupérer le jeton d’accès Microsoft Entra.

  • Quelle est la différence entre la connexion de groupe et la connexion individuelle ?

    La seule différence entre une connexion en tant que membre de groupe Microsoft Entra et une connexion en tant qu’utilisateur Microsoft Entra individuel réside dans le nom d’utilisateur. La connexion en tant qu’utilisateur individuel nécessite un ID d’utilisateur Microsoft Entra individuel. La connexion en tant que membre de groupe nécessite le nom du groupe. Dans les deux scénarios, vous utilisez le même jeton Microsoft Entra individuel comme mot de passe.

  • Quelle est la différence entre l’authentification de groupe et l’authentification individuelle ?

    La seule différence entre une connexion en tant que membre de groupe Microsoft Entra et une connexion en tant qu’utilisateur Microsoft Entra individuel réside dans le nom d’utilisateur. La connexion en tant qu’utilisateur individuel nécessite un ID d’utilisateur Microsoft Entra individuel. La connexion en tant que membre de groupe nécessite le nom du groupe. Dans les deux scénarios, vous utilisez le même jeton Microsoft Entra individuel comme mot de passe.

Qu’est-ce que la durée de vie du jeton ?

Les jetons utilisateur sont valides pendant 1 heure maximum. Les jetons pour les identités managées affectées par le système sont valides pendant 24 heures maximum.