connect to postgresql flexible server using Web App Identity manager

Ahmed AYADI 5 Points de réputation
2024-12-07T11:00:15.2933333+00:00

I have a web app service that uses postgresql flexible server database.

I want to use the Web App Identity instead of user and password.

Azure
Azure
Plateforme et infrastructure de cloud computing pour la génération, le déploiement et la gestion d’applications et de services à travers un réseau mondial de centres de données gérés par Microsoft.
332 questions
0 commentaires Aucun commentaire
{count} votes

1 réponse

Trier par : Le plus utile
  1. Anthony LAVABRE 885 Points de réputation
    2024-12-07T17:54:12.73+00:00

    Bonjour,

    Pour utiliser l'identité de votre application Web (Managed Identity) au lieu d'un utilisateur et mot de passe pour accéder à une base de données PostgreSQL Flexible Server sur Azure, voici les étapes générales à suivre :


    1. Activer l'identité gérée pour votre application Web
    2. Accédez à votre application Web sur le portail Azure.
    3. Sous l'onglet Identité, activez l'identité gérée système (ou attribuée par l'utilisateur si vous avez une configuration spécifique).
    4. Notez l'ID de l'identité si nécessaire pour une utilisation ultérieure.

    1. Configurer PostgreSQL Flexible Server
    2. Accédez à votre base de données PostgreSQL Flexible Server dans Azure.
    3. Allez dans Contrôle d'accès (IAM) et ajoutez un rôle à l'identité de l'application Web :
      • Rôle : Lecteur de données PostgreSQL ou Contributeur de données PostgreSQL selon les permissions nécessaires.
        • Assurez-vous que l'identité mappée est bien celle de votre application Web.

    1. Activer l'authentification Azure AD pour PostgreSQL
    2. Dans votre base de données PostgreSQL Flexible Server :
    • Activez l'authentification Azure Active Directory (AAD) si ce n'est pas déjà fait.
      • Ajoutez un utilisateur PostgreSQL lié à l'identité de votre application via une commande SQL comme suit :
         ```sql
        
        CREATE
             
                 Adaptez cette commande selon les permissions souhaitées.
        
        

    1. Configurer la chaîne de connexion dans l'application Web

    Dans votre code ou configuration d'application, utilisez une chaîne de connexion AAD, qui ne nécessite pas d'inclure un nom d'utilisateur ou un mot de passe. Vous pouvez par exemple utiliser une bibliothèque telle que pg (Node.js), psycopg2 (Python), etc., avec des jetons AAD.

    Un exemple Python avec psycopg2 :

    import
    
    • Assurez-vous que votre application peut se connecter sans erreurs.
    • Testez l'accès à la base pour vérifier que les permissions sont correctement appliquées.

    Bien à vous,

    0 commentaires Aucun commentaire

Votre réponse

Les réponses peuvent être marquées comme Réponses acceptées par l’auteur de la question, ce qui permet aux utilisateurs de connaître la réponse qui a résolu le problème de l’auteur.