Décrire les rôles intégrés du serveur Azure Database pour PostgreSQL
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ède des objets de base de données tels que des tables ou des fonctions.
- Attribuez des privilèges sur ces objets à d’autres rôles.
- Attribuez l'appartenance à un autre rôle, permettant ainsi au rôle de membre d'avoir ses prérogatives.
Votre serveur Azure Database pour PostgreSQL est créé avec trois rôles par défaut :
- azure_pg_admin
- azuresu
- votre utilisateur administrateur de serveur - partie du rôle de azure_pg_admin
Affichez tous les rôles serveur en exécutant la requête suivante :
SELECT * FROM pg_roles;
Note
Azure Database pour PostgreSQL est un service PaaS managé et seuls les utilisateurs De 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 membre du rôle azure_pg_admin. L’utilisateur administrateur du serveur Azure Database pour PostgreSQL dispose des privilèges suivants : 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éez plus d’utilisateurs et attribuez-leur le rôle azure_pg_admin.
- Créez des utilisateurs et des rôles moins privilégiés qui ont accès à des bases de données et 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
- réplication
Créer des utilisateurs administrateurs dans Azure Database pour PostgreSQL
- Dans Azure Data Studio (ou votre outil client préféré), connectez-vous à votre serveur Azure Database pour PostgreSQL avec les informations d’identification de connexion administrateur.
- 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>;