Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comprendre le rôle rds_superuser
Dans PostgreSQL, un rôle peut définir un utilisateur, un groupe ou un ensemble d'autorisations spécifiques accordées à un groupe ou à un utilisateur pour divers objets de la base de données. Les commandes PostgreSQL CREATE USER
et CREATE GROUP
ont été remplacées par la commande CREATE ROLE
plus générique avec des propriétés spécifiques permettant de distinguer les utilisateurs de la base de données. Un utilisateur de base de données peut être considéré comme un rôle disposant du privilège LOGIN.
Note
Les commandes CREATE USER
et CREATE GROUP
peuvent toujours être utilisées. Pour plus d'informations, consultez Database Roles
L'utilisateur postgres
est l'utilisateur de base de données disposant des privilèges les plus élevés sur votre instance de base de données RDS for PostgreSQL. Il présente les caractéristiques définies par l'instruction CREATE ROLE
suivante.
CREATE ROLE postgres WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION VALID UNTIL 'infinity'
Sauf indication contraire, les propriétés NOSUPERUSER
, NOREPLICATION
, INHERIT
et VALID UNTIL 'infinity'
sont les options par défaut de CREATE ROLE.
Par défaut, postgres
fait en sorte que des privilèges soient octroyés au rôle rds_superuser
ainsi que des autorisations permettant de créer des rôles et des bases de données. Le rôle rds_superuser
permet à l'utilisateur postgres
d'effectuer les opérations suivantes :
-
Ajoutez les extensions qu'il est possible d'utiliser avec Amazon RDS. Pour de plus amples informations, veuillez consulter Utilisation des SQL fonctionnalités de Postgre prises en charge par Amazon RDS pour Postgre SQL
-
Créer des rôles pour les utilisateurs et leur accorder des privilèges. Pour plus d'informations, consultez CREATE ROLE
et GRANT dans la documentation de PostgreSQL. -
Créer des bases de données. Pour plus d'informations, consultez CREATE DATABASE
dans la documentation de PostgreSQL. -
Accorder des privilèges
rds_superuser
aux rôles utilisateur qui ne disposent pas de ces privilèges, et révoquer les privilèges si nécessaire. Nous vous recommandons d'accorder ce rôle uniquement aux utilisateurs effectuant des tâches de super-utilisateur. En d'autres termes, vous pouvez attribuer ce rôle aux administrateurs de base de données (DBAs) ou aux administrateurs système. -
Accorder (et révoquer) le rôle
rds_replication
aux utilisateurs de base de données qui ne possèdent pas le rôlerds_superuser
. -
Accorder (et révoquer) le rôle
rds_password
aux utilisateurs de base de données qui ne possèdent pas le rôlerds_superuser
. -
Obtenir des informations d'état sur toutes les connexions à la base de données en utilisant la vue
pg_stat_activity
. En cas de besoin,rds_superuser
peut arrêter toutes les connexions à l'aide depg_terminate_backend
oupg_cancel_backend
.
Dans l'instruction CREATE ROLE postgres...
, vous pouvez voir que le rôle utilisateur postgres
rejette spécifiquement les autorisations superuser
PostgreSQL. RDS for PostgreSQL étant un service géré, vous ne pouvez ni accéder au système d'exploitation hôte, ni vous connecter à l'aide du compte superuser
PostgreSQL. La plupart des tâches qui exigent un accès superuser
sur une instance autonome de PostgreSQL sont gérées automatiquement par Amazon RDS.
Pour plus d'informations sur l'octroi de privilèges, veuillez consulter GRANT
Le rôle rds_superuser
est l'un des nombreux rôles prédéfinis d'un Instance de base de données RDS for PostgreSQL.
Note
Dans PostgreSQL 13 et versions antérieures, les rôles prédéfinis s'appellent rôles par défaut.
La liste suivante répertorie certains des autres rôles prédéfinis créés automatiquement pour un nouveau Instance de base de données RDS for PostgreSQL. Les rôles prédéfinis et leurs privilèges ne peuvent pas être modifiés. Vous ne pouvez pas supprimer, renommer ou modifier les privilèges de ces rôles prédéfinis. Toute tentative de ce type génère une erreur.
-
rds_password : rôle pouvant modifier les mots de passe et configurer des contraintes de mot de passe pour les utilisateurs de base de données. Ce
rds_superuser
rôle est attribué par défaut au rôle et peut être accordé aux utilisateurs de la base de données. Pour de plus amples informations, veuillez consulter Contrôle de l'accès utilisateur à la base de données PostgreSQL.-
Pour les versions de RDS pour PostgreSQL antérieures à 14
rds_password
, le rôle peut modifier les mots de passe et définir des contraintes de mot de passe pour les utilisateurs de base de données et les utilisateurs dotés d'un rôle.rds_superuser
À partir de RDS pour PostgreSQL version 14 et versions ultérieuresrds_password
, le rôle peut modifier les mots de passe et configurer des contraintes de mot de passe uniquement pour les utilisateurs de base de données. Seuls les utilisateurs ayantrds_superuser
un rôle peuvent effectuer ces actions sur d'autres utilisateurs ayantrds_superuser
un rôle.
-
-
rdsadmin : rôle créé pour gérer la plupart des tâches de gestion que l'administrateur qui utilise les privilèges
superuser
aurait exécutées sur une base de données PostgreSQL autonome. Ce rôle est utilisé en interne par RDS for PostgreSQL pour de nombreuses tâches de gestion. -
rdstopmgr – Rôle utilisé en interne par Amazon RDS pour prendre en charge les déploiements multi-AZ.
-
rds_reserved — Rôle utilisé en interne par Amazon RDS pour réserver des connexions à la base de données.