Décrire les rôles serveur intégrés dans Azure Database pour PostgreSQL

Effectué

PostgreSQL gère l’accès à la base de données à l’aide de rôles. Un rôle peut être un utilisateur de base de données ou un groupe d’utilisateurs. Les rôles peuvent :

  • Posséder des objets de base de données comme des tables ou des fonctions.
  • Attribuer des privilèges sur ces objets à d’autres rôles.
  • Accorder l’appartenance à un autre rôle, ce qui permet au rôle membre d’avoir ses privilèges.

Votre serveur Azure Database pour PostgreSQL est créé avec les trois rôles par défaut :

  • azure_pg_admin
  • azuresu
  • Votre utilisateur administrateur de serveur - partie du rôle azure_pg_admin

Affichez tous les rôles de serveur en exécutant la requête suivante :

SELECT * FROM pg_roles;

Notes

Azure Database pour PostgreSQL est un service PaaS géré et seuls les utilisateurs Microsoft ont le rôle azuresu (super utilisateur).

Lorsque vous avez créé votre serveur, un utilisateur administrateur de serveur a également été créé. Cet utilisateur est automatiquement devenu membre du rôle azure_pg_admin. Dans Azure Database pour PostgreSQL, les privilèges suivants sont accordés à l’utilisateur administrateur de serveur : LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

À présent, le compte d’utilisateur administrateur du serveur que vous avez créé lors de la création du serveur peut :

  • Créer d’autres utilisateurs et leur accorder le rôle azure_pg_admin.
  • Créer des utilisateurs et des rôles moins privilégiés qui ont accès à des bases de données et des schémas individuels.

PostgreSQL inclut certains rôles par défaut qui peuvent être attribués aux utilisateurs. Il s’agit notamment des privilèges couramment nécessaires pour l’accès :

  • pg_read_all_settings
  • pg_signal_backend
  • pg_read_server_files
  • pg_write_server_files
  • pg_execute_server_program

Il existe également des rôles plus spécialisés :

  • pg_monitor
  • pg_read_all_stats
  • pg_stat_scan_tables
  • la réplication

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

  1. Dans Azure Data Studio (ou votre outil client préféré), connectez-vous à votre serveur Azure Database pour PostgreSQL avec les informations d’identification d’administrateur.
  2. Modifiez le code SQL suivant en remplaçant les espaces réservés par votre nom d’utilisateur et votre mot de passe :
CREATE ROLE <new_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>';
GRANT azure_pg_admin TO <new_user>;