Créer des utilisateurs dans Azure Database pour PostgreSQL - Serveur unique

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

Important

Le Serveur unique Azure Database pour PostgreSQL est en voie de mise hors service. Nous vous recommandons vivement de procéder à une mise à niveau vers le 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 ?

Cet article décrit comment créer des utilisateurs dans un serveur Azure Database pour PostgreSQL.

Si vous souhaitez en savoir plus sur la création et la gestion des utilisateurs ayant 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 comment personnaliser les rôles.

Compte d’administrateur de serveur

Quand vous avez créé votre serveur Azure Database pour PostgreSQL, vous avez fourni un nom d’utilisateur et un mot de passe d’administrateur de serveur. Pour plus d’informations, vous pouvez suivre la procédure détaillée du Guide de démarrage rapide. Étant donné que le nom d’utilisateur administrateur de serveur est un nom personnalisé, vous pouvez rechercher le nom d’utilisateur administrateur de serveur choisi à partir du portail Azure.

Le serveur Azure Database pour PostgreSQL est créé avec les 3 rôles par défaut définis. Vous pouvez voir ces rôles en exécutant la commande : SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azure_superuser
  • votre utilisateur administrateur de serveur

Votre utilisateur administrateur de serveur est un membre du rôle azure_pg_admin. Toutefois, le compte d’administrateur de serveur ne fait pas partie du rôle azure_superuser. Étant donné que ce service est un service PaaS géré, seul Microsoft fait partie du rôle de super utilisateur.

Le moteur PostgreSQL utilise des privilèges pour contrôler l’accès aux objets de base de données, comme indiqué dans la documentation du produit PostgreSQL. Dans Azure Database pour PostgreSQL, les privilèges suivants sont accordés à l’utilisateur administrateur de serveur : LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Le compte d’utilisateur administrateur de serveur peut être utilisé pour créer des utilisateurs supplémentaires et accorder à ces utilisateurs le rôle azure_pg_admin. Le compte administrateur de serveur peut être utilisé pour créer des utilisateurs et des rôles possédant moins de privilèges et ayant accès à des schémas de base de données individuels.

Création d’utilisateurs administrateurs supplémentaires dans Azure Database pour PostgreSQL

  1. Obtenez les informations de connexion et le nom d’utilisateur administrateur. Pour vous connecter à votre serveur de base de données, il vous faut le nom de serveur complet et les informations d’identification de connexion d’administrateur. Vous pouvez facilement localiser le nom du serveur et les informations de connexion sur la page Vue d’ensemble ou sur la page Propriétés du serveur dans le portail Azure.

  2. Utilisez le compte et le mot de passe d’administrateur pour vous connecter à votre serveur de base de données. Utilisez votre outil préféré client, comme pgAdmin ou psql. Si vous n’êtes pas certain de la manière de vous connecter, consultez le démarrage rapide

  3. Modifiez et exécutez le code SQL suivant. Remplacez votre nouveau nom d’utilisateur pour la valeur de l’espace réservé <new_user> et remplacez le mot de passe d’espace réservé avec votre propre mot de passe fort.

    CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>';
    
    GRANT azure_pg_admin TO <new_user>;
    

Création d’utilisateurs de base de données dans Azure Database pour PostgreSQL

  1. Obtenez les informations de connexion et le nom d’utilisateur administrateur. Pour vous connecter à votre serveur de base de données, il vous faut le nom de serveur complet et les informations d’identification de connexion d’administrateur. Vous pouvez facilement localiser le nom du serveur et les informations de connexion sur la page Vue d’ensemble ou sur la page Propriétés du serveur dans le portail Azure.

  2. Utilisez le compte et le mot de passe d’administrateur pour vous connecter à votre serveur de base de données. Utilisez votre outil préféré client, comme pgAdmin ou psql.

  3. Modifiez et exécutez le code SQL suivant. Remplacez la valeur de l’espace réservé <db_user> par votre nouveau nom d’utilisateur prévu, et la valeur de l’espace réservé <newdb> par le nom à attribuer à la base de données. Remplacez le mot de passe d’espace réservé par votre propre mot de passe fort.

    Cette syntaxe de code SQL crée une nouvelle base de données nommée testdb, à titre d’exemple. Elle crée ensuite un nouvel utilisateur dans le service PostgreSQL et accorde des privilèges de connexion à la nouvelle base de données pour cet utilisateur.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. À l’aide d’un compte administrateur, vous devrez peut-être accorder des privilèges supplémentaires pour sécuriser les objets dans la base de données. Reportez-vous à la section Documentation sur PostgreSQL pour en savoir plus sur les rôles et privilèges de base de données. Par exemple :

    GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
    

    Si un utilisateur crée une table « role », cette table lui appartient. Si un autre utilisateur a besoin d’accéder à la table, vous devez accorder des privilèges à l’autre utilisateur au niveau de la table.

    Par exemple :

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Connectez-vous à votre serveur, en spécifiant la base de données désignée, à l’aide des nouveaux nom d’utilisateur et mot de passe. Cet exemple montre la ligne de commande psql. Cette commande vous invite à entrer le mot de passe pour le nom d’utilisateur. Indiquez votre propre nom de serveur, nom de base de données et nom d’utilisateur.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user@mydemoserver --dbname=newdb
    

Étapes suivantes

Ouvrez le pare-feu pour les adresses IP des machines des nouveaux utilisateurs afin de leur permettre de se connecter : Créer et gérer des règles de pare-feu Azure Database pour PostgreSQL à l’aide du portail Azure ou Azure CLI.

Pour plus d’informations sur la gestion des comptes d’utilisateurs, consultez la documentation du produit PostgreSQL relative aux rôles et privilèges de base de données, à la syntaxe GRANT et aux privilèges.