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

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

Cet article décrit comment créer des utilisateurs dans une instance de serveur flexible Azure Database pour PostgreSQL.

Supposons que vous souhaitiez apprendre à créer et à gérer des utilisateurs d’abonnement Azure et leurs privilèges. Dans ce cas, vous pouvez consulter l’article Contrôle d’accès en fonction du rôle Azure (Azure RBAC) ou voir comment personnaliser les rôles.

Compte d’administrateur de serveur

Quand vous avez créé votre instance de serveur flexible 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.

L’instance de serveur flexible Azure Database pour PostgreSQL est créé avec les trois 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
  • azuresu
  • 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 azuresu. É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 le serveur flexible Azure Database pour PostgreSQL, l’utilisateur administrateur du serveur reçoit ces privilèges :

  • Connectez-vous, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

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.

Comment créer des utilisateurs administrateurs dans le serveur flexible Azure Database pour PostgreSQL

  1. Obtenez les informations de connexion et le nom d’utilisateur administrateur. Vous avez besoin du nom complet du serveur et des informations d’identification de connexion d’administrateur pour vous connecter à votre instance de serveur flexible Azure DB pour PostgreSQL. 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 d’administrateur et le mot de passe pour vous connecter à votre instance de serveur flexible Azure Database pour PostgreSQL. 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>;
    

Comment créer des utilisateurs de base de données dans le serveur flexible Azure Database pour PostgreSQL

  1. Obtenez les informations de connexion et le nom d’utilisateur administrateur. Vous avez besoin du nom complet du serveur et des informations d’identification de connexion d’administrateur pour vous connecter à votre instance de serveur flexible Azure DB pour PostgreSQL. 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 d’administrateur et le mot de passe pour vous connecter à votre instance de serveur flexible Azure Database pour PostgreSQL. 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.

    Le code SQL ci-dessous crée une base de données, puis un nouvel utilisateur dans l’instance de serveur flexible Azure DB pour PostgreSQL et accorde le privilège 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 --dbname=newdb
    

Étapes suivantes

Ouvrez le pare-feu pour les adresses IP des machines des nouveaux utilisateurs afin de leur permettre de se connecter :