Die Rolle „rds_superuser“ verstehen - Amazon Relational Database Service

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 in der SQL Postgre-Dokumentation.

Der postgres Benutzer ist der Datenbankbenutzer mit den höchsten Rechten auf Ihrem für die SQL Postgre-DB-Instance. 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, NOREPLICATIONINHERIT, 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 Amazon verfügbar sindRDS. Weitere Informationen finden Sie unter Arbeiten mit SQL Postgre-Funktionen, die von Amazon RDS für Postgre unterstützt werden SQL

  • Rollen für Benutzer erstellen und Benutzern Berechtigungen gewähren. Weitere Informationen finden Sie unter CREATEROLEund GRANTin der Postgre-Dokumentation. SQL

  • Datenbanken erstellen. Weitere Informationen finden Sie CREATEDATABASEin 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 die rds_superuser-Rolle verfügen.

  • Die rds_password-Rolle Datenbankbenutzern gewähren (oder entziehen), die nicht über die rds_superuser-Rolle verfügen.

  • Statusinformationen über alle Datenbankverbindungen über die Ansicht pg_stat_activity abrufen. Bei Bedarf kann rds_superuser alle Verbindungen mit pg_terminate_backend oder pg_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 for Postgre SQL ist ein verwalteter Dienst, sodass Sie nicht auf das Host-Betriebssystem zugreifen und keine Verbindung mit dem SQL superuser Postgre-Konto herstellen können.

Weitere Informationen zur Gewährung von Rechten finden Sie GRANTin der SQL Postgre-Dokumentation.

Die rds_superuser Rolle ist eine von mehreren vordefinierten Rollen in einem . RDSfür die SQL Postgre-DB-Instance.

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 erstellt werden. RDSfür die SQL Postgre-DB-Instance. 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 mit rds_superuser Rolle einrichten. Ab RDS SQL Postgre-Version 14 und höher kann rds_password Role Passwörter ändern und Passwortbeschränkungen nur für Datenbankbenutzer einrichten. Nur Benutzer mit rds_superuser Rolle können diese Aktionen für andere Benutzer mit rds_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 RDSfor Postgre SQL für viele Verwaltungsaufgaben verwendet.

  • rdstopmgr — Eine Rolle, die intern von Amazon RDS zur Unterstützung von Multi-AZ-Bereitstellungen verwendet wird.

  • rds_reserved — Eine Rolle, die intern von Amazon verwendet wird, um Datenbankverbindungen RDS zu reservieren.

Um alle vordefinierten Rollen zu sehen, können Sie sich mit , verbinden und den psql \du Metakommando 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.