Partager via


Gérer les utilisateurs dans Azure Database pour PostgreSQL

Cet article explique 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 sur le contrôle d’accès en fonction du rôle Azure (Azure RBAC) ou examiner comment personnaliser des rôles.

Compte d’administrateur de serveur

Lorsque 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, consultez Créer une base de données Azure pour PostgreSQL pour voir l’approche pas à pas. Étant donné que le nom d’utilisateur administrateur du serveur est un nom personnalisé, vous pouvez localiser le nom d’utilisateur administrateur du serveur choisi à partir du portail Azure.

L’instance de serveur flexible Azure Database pour PostgreSQL est créée 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 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 managé, seul Microsoft fait partie du rôle 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, l’utilisateur administrateur du serveur dispose de ces privilèges :

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

Le compte d’utilisateur administrateur du serveur peut être utilisé pour créer davantage d’utilisateurs et accorder à ces utilisateurs le rôle azure_pg_admin. En outre, le compte d’administrateur de serveur peut être utilisé pour créer des utilisateurs et des rôles moins privilégiés qui ont accès à des bases de données et schémas individuels.

Guide pratique pour créer d’autres utilisateurs administrateurs dans 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 Database pour PostgreSQL. Vous pouvez facilement trouver le nom du serveur et les informations de connexion à partir de la page Vue d’ensemble du serveur ou de la page Propriétés 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 client préféré, tel que pgAdmin ou psql. Si vous ne savez pas comment vous connecter, consultez Créer une base de données Azure pour PostgreSQL.

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

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

Guide pratique pour créer des utilisateurs de base de données dans 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 Database pour PostgreSQL. Vous pouvez facilement trouver le nom du serveur et les informations de connexion à partir de la page Vue d’ensemble du serveur ou de la page Propriétés 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 client préféré, tel que pgAdmin ou psql.

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

    Ce code SQL ci-dessous crée une base de données, puis crée un utilisateur dans l’instance de serveur flexible Azure Database 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 d’administrateur, vous devrez peut-être accorder d’autres privilèges pour sécuriser les objets de la base de données. Pour plus d’informations sur les rôles et privilèges de base de données, reportez-vous à la documentation PostgreSQL . Par exemple:

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

    Si un utilisateur crée un « rôle », la table appartient à cet utilisateur. 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 du nouveau nom d’utilisateur et du mot de passe. Cet exemple montre la ligne de commande psql. Avec cette commande, vous êtes invité à entrer le mot de passe du nom d’utilisateur. Remplacez votre propre nom de serveur, le nom de la base de données et le nom d’utilisateur.

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