ALTER DEFAULT PRIVILEGES - Amazon Redshift

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.

ALTER DEFAULT PRIVILEGES

Definiert den Standardsatz von Zugriffsberechtigungen, die auf Objekte angewendet werden sollen, die in future vom angegebenen Benutzer erstellt werden. Standardmäßig können Benutzer nur ihre eigenen Standardzugriffsrechte ändern. Nur ein Superuser kann Standardberechtigungen für andere Benutzer angeben.

Sie können Standardrechte auf Rollen, Benutzer oder Benutzergruppen anwenden. Sie können Standardberechtigungen global für alle Objekte festlegen, die in der aktuellen Datenbank erstellt wurden, oder für Objekte, die nur in den angegebenen Schemas erstellt wurden.

Standardberechtigungen gelten nur für neue Objekte. Durch das Ausführen von ALTER DEFAULT PRIVILEGES werden die Berechtigungen für bestehende Objekte nicht geändert. Informationen zum Erteilen von Berechtigungen für alle aktuellen und future Objekte, die von einem beliebigen Benutzer in einer Datenbank oder einem Schema erstellt wurden, finden Sie unter Bereichsberechtigungen.

Um Informationen zu den Standardrechten für Datenbankbenutzer anzuzeigen, führen Sie eine Abfrage für die Systemkatalogtabelle PG_DEFAULT_ACL aus.

Weitere Informationen zu Rechten finden Sie in GRANT.

Erforderliche Berechtigungen

Im Folgenden sind die erforderlichen Berechtigungen für ALTER DEFAULT PRIVILEGES aufgeführt:

  • Superuser

  • Benutzer mit der Berechtigung ALTER DEFAULT PRIVILEGES

  • Benutzer, die ihre eigenen Standardzugriffsberechtigungen ändern

  • Benutzer, die Berechtigungen für Schemas festlegen, auf die sie Zugriffsberechtigungen haben

Syntax

ALTER DEFAULT PRIVILEGES [ FOR USER target_user [, ...] ] [ IN SCHEMA schema_name [, ...] ] grant_or_revoke_clause where grant_or_revoke_clause is one of: GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON TABLES TO { user_name [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS TO { user_name [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON PROCEDURES TO { user_name [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON TABLES FROM user_name [, ...] [ RESTRICT ] REVOKE { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON TABLES FROM { ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM user_name [, ...] [ RESTRICT ] REVOKE { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM { ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ] REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON PROCEDURES FROM user_name [, ...] [ RESTRICT ] REVOKE { EXECUTE | ALL [ PRIVILEGES ] } ON PROCEDURES FROM { ROLE role_name | GROUP group_name | PUBLIC } [, ...] [ RESTRICT ]

Parameter

FOR USER target_user

Optional. Der Name des Benutzers, für den Standardrechte definiert sind. Nur Superuser können Standardrechte für andere Benutzer ändern. Der Standardwert ist der aktuelle Benutzer.

IN SCHEMA schema_name

Optional. Wenn eine IN SCHEMA-Klausel angezeigt wird, gelten die angegebenen Standardrechte für neue Objekte, die im angegebenen schema_name erstellt werden. In diesem Fall müssen der Benutzer oder die Benutzergruppe, die das Ziel von ALTER DEFAULT PRIVILEGES ist, das CREATE-Recht für das angegebene Schema besitzen. Standardrechte, die für ein Schema spezifisch sind, werden vorhandenen globalen Standardrechten hinzugefügt. Standardmäßig werden Standardrechte global auf die gesamte Datenbank angewendet.

GRANT

Der Satz von Rechten, die den angegebenen Benutzern oder Gruppen für alle neuen Tabellen und Ansichten, Funktionen oder gespeicherten Prozeduren gewährt werden sollen, die vom angegebenen Benutzer erstellt wurden. Sie können mit der GRANT-Klausel die gleichen Rechte und Optionen wie mit dem Befehl GRANT festlegen.

WITH GRANT OPTION

Eine Klausel, die angibt, dass der Benutzer, der die Rechte erhält, anderen Benutzern die gleichen Rechte gewähren kann. Sie können einer Gruppe oder PUBLIC keine Rechte WITH GRANT OPTION gewähren.

TO user_name | ROLE role_name | GROUP group_name

Der Name des Benutzers, der Rolle oder der Benutzergruppe, auf die die angegebenen Standardrechte angewendet werden.

REVOKE

Der Satz von Rechten, der den angegebenen Benutzern oder Gruppen für alle neuen Tabellen, Funktionen oder gespeicherten Prozeduren entzogen werden soll, die vom angegebenen Benutzer erstellt werden. Sie können mit der REVOKE-Klausel die gleichen Rechte und Optionen wie mit dem Befehl REVOKE festlegen.

GRANT OPTION FOR

Eine Klausel, die nur die Option, anderen Benutzern ein spezifisches Recht zu gewähren, und nicht das Recht selbst widerruft. Sie können GRANT OPTION nicht für eine Gruppe oder PUBLIC widerrufen.

FROM user_name | ROLE role_name | GROUP group_name

Der Name des Benutzers, der Rolle oder der Benutzergruppe, für die die angegebenen Standardrechte standardmäßig widerrufen werden.

RESTRICT

Die Option RESTRICT widerruft nur die Berechtigungen, die der Benutzer direkt gewährt hat. Dies ist die Standardeinstellung.

Beispiele

Angenommen, Sie möchten jedem Benutzer in der Benutzergruppe report_readers erlauben, alle vom Benutzer erstellten Tabellen und Ansichten anzuzeigenreport_admin. In diesem Fall führen Sie den folgenden Befehl als Superuser aus.

alter default privileges for user report_admin grant select on tables to group report_readers;

Im folgenden Beispiel gewährt der erste Befehl SELECT-Rechte für alle neuen Tabellen und Ansichten, die Sie erstellen.

alter default privileges grant select on tables to public;

Im folgenden Beispiel wird der Benutzergruppe sales_admin das INSERT-Recht für alle neuen Tabellen und Ansichten gewährt, die Sie im Schema sales erstellen.

alter default privileges in schema sales grant insert on tables to group sales_admin;

Im folgenden Beispiel wird der Befehl ALTER DEFAULT PRIVILEGES im vorherigen Beispiel zurückgenommen.

alter default privileges in schema sales revoke insert on tables from group sales_admin;

Standardmäßig besitzt die Benutzergruppe PUBLIC die Ausführungsberechtigung für alle neuen, von Benutzern definierten Funktionen. Um die public-Ausführungsberechtigungen für Ihre neuen Funktionen zu widerrufen und dann die Ausführungsberechtigung nur der Benutzergruppe dev_test zu gewähren, führen Sie die folgenden Befehle aus.

alter default privileges revoke execute on functions from public; alter default privileges grant execute on functions to group dev_test;