Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Die Rolle „rds_superuser“ verstehen
In Postgre SQL kann eine Rolle einen Benutzer, eine Gruppe oder eine Reihe spezifischer Berechtigungen definieren, die einer Gruppe oder einem Benutzer für verschiedene Objekte in der Datenbank gewährt werden. SQLPostgre-Befehle für CREATE USER
und CREATE GROUP
wurden durch allgemeinere Befehle CREATE ROLE
mit spezifischen Eigenschaften zur Unterscheidung von Datenbankbenutzern ersetzt. Man kann sich einen Datenbankbenutzer als eine Rolle mit diesem LOGIN Privileg vorstellen.
Anmerkung
Die Befehle CREATE USER
und CREATE GROUP
können weiterhin verwendet werden. Weitere Informationen finden Sie unter Datenbankrollen
Der postgres
Benutzer ist der Datenbankbenutzer mit den höchsten Rechten auf Ihrem Aurora SQL Postgre-DB-Cluster RDS . Er verfügt über die Eigenschaften, die durch die folgende CREATE ROLE
-Anweisung definiert sind.
CREATE ROLE postgres WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION VALID UNTIL 'infinity'
Die EigenschaftenNOSUPERUSER
, NOREPLICATION
INHERIT
, und VALID UNTIL 'infinity'
sind die Standardoptionen für CREATEROLE, sofern nicht anders angegeben.
Standardmäßig verfügt postgres
über Berechtigungen, die der rds_superuser
-Rolle gewährt wurden, und über Berechtigungen zum Erstellen von Rollen und Datenbanken. Die rds_superuser
-Rolle erlaubt dem postgres
-Benutzer, folgende Aktionen auszuführen:
Fügen Sie Erweiterungen hinzu, die für die Verwendung mit Aurora Postgre SQL. Weitere Informationen finden Sie unter Arbeiten mit Erweiterungen und Fremddaten-Wrappern.
-
Rollen für Benutzer erstellen und Benutzern Berechtigungen gewähren. Weitere Informationen finden Sie unter CREATEROLE
und GRANT in der Postgre-Dokumentation. SQL -
Datenbanken erstellen. Weitere Informationen finden Sie CREATEDATABASE
in der Postgre-Dokumentation. SQL Gewähren Sie
rds_superuser
-Berechtigungen anderen Benutzerrollen, die nicht über diese Berechtigungen verfügen, und widerrufen Sie diese Berechtigungen bei Bedarf. Es wird empfohlen, diese Rolle nur denjenigen Benutzern zu gewähren, die Superuser-Aufgaben ausführen. Mit anderen Worten, Sie können diese Rolle Datenbankadministratoren (DBAs) oder Systemadministratoren zuweisen.Die
rds_replication
-Rolle Datenbankbenutzern gewähren (oder entziehen), die nicht über dierds_superuser
-Rolle verfügen.Die
rds_password
-Rolle Datenbankbenutzern gewähren (oder entziehen), die nicht über dierds_superuser
-Rolle verfügen.Statusinformationen über alle Datenbankverbindungen über die Ansicht
pg_stat_activity
abrufen. Bei Bedarf kannrds_superuser
alle Verbindungen mitpg_terminate_backend
oderpg_cancel_backend
stoppen.
In der CREATE ROLE postgres...
Erklärung können Sie sehen, dass die postgres
Benutzerrolle ausdrücklich Postgre-Berechtigungen verbietet. SQL superuser
Aurora Postgre SQL RDS ist ein verwalteter Dienst, sodass Sie nicht auf das Host-Betriebssystem zugreifen und keine Verbindung mit dem SQL superuser
Postgre-Konto herstellen können. Viele der Aufgaben, für die superuser
Zugriff auf ein eigenständiges Postgre-System erforderlich ist, SQL werden automatisch von Aurora verwaltet.
Weitere Informationen zur Gewährung von Rechten finden Sie GRANT
Die rds_superuser
Rolle ist eine von mehreren vordefinierten Rollen in einem Aurora SQL Postgre-DB-Cluster.
Anmerkung
In Postgre SQL 13 und früheren Versionen werden vordefinierte Rollen als Standardrollen bezeichnet.
In der folgenden Liste finden Sie einige der anderen vordefinierten Rollen, die automatisch für einen neuen Aurora SQL Postgre-DB-Cluster erstellt werden. Vordefinierte Rollen und ihre Berechtigungen können nicht geändert werden. Sie können Berechtigungen für diese vordefinierten Rollen nicht löschen, umbenennen oder ändern. Jeder entsprechende Versuch führt zu einem Fehler.
rds_passwort – Eine Rolle, die Passwörter ändern und Passwortbeschränkungen für Datenbankbenutzer einrichten kann. Die
rds_superuser
Rolle wird standardmäßig mit dieser Rolle zugewiesen und kann Datenbankbenutzern zugewiesen werden. Weitere Informationen finden Sie unter Steuern des Benutzerzugriffs auf die Postgre-Datenbank SQL.RDSFür SQL Postgre-Versionen, die älter als 14 sind, kann die
rds_password
Rolle Passwörter ändern und Passwortbeschränkungen für Datenbankbenutzer und Benutzer mitrds_superuser
Rolle einrichten. Ab RDS SQL Postgre-Version 14 und höher kannrds_password
Role Passwörter ändern und Passwortbeschränkungen nur für Datenbankbenutzer einrichten. Nur Benutzer mitrds_superuser
Rolle können diese Aktionen für andere Benutzer mitrds_superuser
Rolle ausführen.
rdsadmin — Eine Rolle, die erstellt wurde, um viele der Verwaltungsaufgaben zu erledigen, die ein Administrator mit
superuser
Berechtigungen in einer eigenständigen SQL Postgre-Datenbank ausführen würde. Diese Rolle wird intern von für viele Verwaltungsaufgaben verwendet.
Um alle vordefinierten Rollen zu sehen, können Sie sich mit der primären Instance Ihres Aurora SQL Postgre-DB-Clusters, Ihrer SQL Postgre-DB-Instance verwenden. RDS Die Ausgabe sieht wie folgt aus:
List of roles
Role name | Attributes | Member of
--------------+-----------------------------------+------------------------------------
postgres | Create role, Create DB +| {rds_superuser}
| Password valid until infinity |
rds_superuser | Cannot login | {pg_monitor,pg_signal_backend,
| +| rds_replication,rds_password}
...
In der Ausgabe sehen Sie, dass rds_superuser
keine Datenbankbenutzerrolle ist (sie kann sich nicht anmelden), aber über die Berechtigungen vieler anderer Rollen verfügt. Sie können auch sehen, dass dieser Datenbankbenutzer postgres
Mitglied der rds_superuser
-Rolle ist. Wie bereits erwähnt, postgres
ist dies der Standardwert auf der Seite Datenbank erstellen der RDS Amazon-Konsole. Wenn Sie einen anderen Namen gewählt haben, wird dieser Name stattdessen in der Rollenliste angezeigt.
Anmerkung
In den SQL Versionen 15.2 und 14.7 von Aurora Postgre wurde ein restriktives Verhalten der Rolle eingeführt. rds_superuser
Einem Aurora SQL Postgre-Benutzer muss die CONNECT
Berechtigung für die entsprechende Datenbank erteilt werden, um eine Verbindung herzustellen, auch wenn dem Benutzer die rds_superuser
Rolle erteilt wurde. Vor den SQL Versionen 14.7 und 15.2 von Aurora Postgre konnte ein Benutzer eine Verbindung zu jeder Datenbank und Systemtabelle herstellen, wenn dem Benutzer die Rolle zugewiesen wurde. rds_superuser
Dieses restriktive Verhalten steht im Einklang mit den AWS Verpflichtungen von Amazon Aurora zur kontinuierlichen Verbesserung der Sicherheit.
Bitte aktualisieren Sie die entsprechende Logik in Ihren Anwendungen, falls die oben genannte Erweiterung Auswirkungen hat.