GRANT - 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.

GRANT

Definiert die Zugriffsberechtigungen für einen Benutzer oder eine Rolle.

Zu den Berechtigungen gehören Zugriffsoptionen wie die Möglichkeit zum Lesen von Daten in Tabellen und Ansichten, zum Schreiben von Daten, zum Erstellen von Tabellen sowie zum Entfernen von Tabellen. Verwenden Sie diesen Befehl, um bestimmte Berechtigungen für eine Tabelle, eine Datenbank, ein Schema, eine Funktion, eine Prozedur, eine Sprache oder eine Spalte zu erteilen. Um Berechtigungen für ein Datenbankobjekt zu widerrufen, verwenden Sie den Befehl REVOKE.

Zu den Berechtigungen gehören auch die folgenden Zugriffsoptionen für Datashare-Produzenten:

  • Gewährung von Datashare-Zugriff auf Konsumenten-Namespaces und -Konten.

  • Gewähren der Berechtigung zum Ändern eines Datashares durch Hinzufügen oder Entfernen von Objekten aus dem Datashare.

  • Gewähren der Berechtigung zum Freigeben eines Datashares durch Hinzufügen oder Entfernen von Konsumenten-Namespaces aus dem Datashare.

Die Optionen für den Datashare-Zugriff für Konsumenten sind wie folgt:

  • Gewähren des vollen Zugriffs für Benutzer auf Datenbanken, die aus einem Datashare erstellt wurden, oder auf externe Schemata, die auf solche Datenbanken verweisen.

  • Gewähren von Berechtigungen auf Objektebene für Benutzer für Datenbanken, die aus einem Datashare erstellt wurden, wie dies für lokale Datenbankobjekte möglich ist. Um diese Berechtigungsebene zu gewähren, müssen Sie die WITH PERMISSIONS Klausel verwenden, wenn Sie eine Datenbank aus dem Datashare erstellen. Weitere Informationen finden Sie unter CREATE DATABASE.

Weitere Informationen zu Datashare-Berechtigungen finden Sie unter Datenaustausch innerhalb und zwischen Clustern.

Sie können auch Rollen zuweisen, um die Datenbankberechtigungen zu verwalten und zu kontrollieren, welche Aktionen Benutzer in Bezug auf Ihre Daten durchführen können. Indem Sie Rollen definieren und Benutzern Rollen zuweisen, können Sie die Aktionen einschränken, die diese Benutzer ausführen können, z. B. die Benutzer auf die CREATE TABLE Befehle und beschränken. INSERT Weitere Informationen zu dem CREATE ROLE Befehl finden Sie unterCREATE ROLE. In Amazon Redshift gibt es systemdefinierte Rollen, die Sie ebenfalls verwenden können, um Ihren Benutzern bestimmte Berechtigungen zu erteilen. Weitere Informationen finden Sie unter Systemdefinierte Amazon-Redshift-Rollen.

Sie können nur GRANT Datenbankbenutzern und Benutzergruppen, die die SCHEMA ON-Syntax verwenden, REVOKE USAGE Berechtigungen für ein externes Schema erteilen. Wenn Sie ON EXTERNAL SCHEMA mit verwenden AWS Lake Formation, können Sie nur GRANT REVOKE Berechtigungen für eine AWS Identity and Access Management (IAM) -Rolle hinzufügen. Eine Liste der Berechtigungen finden Sie in der Syntax.

Für gespeicherte Prozeduren ist EXECUTE die einzige Berechtigung, die Sie gewähren können,

Sie können GRANT (auf einer externen Ressource) nicht innerhalb eines Transaktionsblocks ausführen (BEGIN... END). Weitere Informationen zu Transaktionen finden Sie unter Serialisierbare Isolierung.

Wenn Sie sehen möchten, welche Berechtigungen Benutzern für eine Datenbank erteilt wurden, verwenden Sie HAS_DATABASE_PRIVILEGE. Wenn Sie sehen möchten, welche Berechtigungen Benutzern für ein Schema erteilt wurden, verwenden Sie HAS_SCHEMA_PRIVILEGE. Wenn Sie sehen möchten, welche Berechtigungen Benutzern für eine Tabelle erteilt wurden, verwenden Sie HAS_TABLE_PRIVILEGE.

Syntax

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | ALTER | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | TEMPORARY | TEMP | ALTER } [,...] | ALL [ PRIVILEGES ] } ON DATABASE db_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | USAGE | ALTER } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL FUNCTIONS IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL PROCEDURES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT USAGE ON LANGUAGE language_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Im Folgenden finden Sie die Syntax für Berechtigungen auf Spaltenebene für Amazon-Redshift-Tabellen und -Ansichten.

GRANT { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { [ TABLE ] table_name [, ...] } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Im Folgenden finden Sie die Syntax für die ASSUMEROLE Berechtigungen, die Benutzern und Gruppen mit einer bestimmten Rolle gewährt werden. Informationen zum Einstieg in die Nutzung der ASSUMEROLE Berechtigung finden Sie unterNutzungshinweise für die Erteilung der Erlaubnis ASSUMEROLE.

GRANT ASSUMEROLE ON { 'iam_role' [, ...] | default | ALL } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]

Im Folgenden finden Sie die Syntax für die Integration von Redshift Spectrum in Lake Formation.

GRANT { SELECT | ALL [ PRIVILEGES ] } ( column_list ) ON EXTERNAL TABLE schema_name.table_name TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | ALTER | DROP | DELETE | INSERT } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL TABLE schema_name.table_name [, ...] TO { { IAM_ROLE iam_role } [, ...] | PUBLIC } [ WITH GRANT OPTION ] GRANT { { CREATE | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL SCHEMA schema_name [, ...] TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ]
Produzentenseitige Datashare-Berechtigungen

Im Folgenden finden Sie die SyntaxGRANT, mit der einem Benutzer ALTER oder einer Rolle SHARE Berechtigungen erteilt werden. Der Benutzer kann die Datenfreigabe mit der ALTER Erlaubnis ändern oder einem Verbraucher mit der Erlaubnis die SHARE Nutzung gewähren. ALTERund SHARE sind die einzigen Berechtigungen, die Sie Benutzern und Rollen für ein Datashare gewähren können.

GRANT { ALTER | SHARE } ON DATASHARE datashare_name TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Im Folgenden finden Sie die Syntax für die Verwendung von GRANT Datashare-Nutzungsberechtigungen auf Amazon Redshift. Mit dieser Erlaubnis gewähren Sie einem Verbraucher Zugriff auf eine Datenfreigabe. USAGE Sie können diese Berechtigung nicht an Benutzer oder Benutzergruppen erteilen. Diese Erlaubnis unterstützt auch nicht die WITH GRANT OPTION für die GRANT Anweisung. Nur Benutzer oder Benutzergruppen mit der ihnen zuvor erteilten SHARE Berechtigung FOR zum Datenaustausch können diese Art von GRANT Anweisung ausführen.

GRANT USAGE ON DATASHARE datashare_name TO NAMESPACE 'namespaceGUID' | ACCOUNT 'accountnumber' [ VIA DATA CATALOG ]

Im Folgenden finden Sie ein Beispiel dafür, wie Sie einem Lake-Formation-Konto die Berechtigung zur Nutzung eines Datashares gewähren können.

GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '123456789012' VIA DATA CATALOG;
Konsumentenseitige Datashare-Berechtigungen

Im Folgenden finden Sie die Syntax für Nutzungsberechtigungen zur GRANT gemeinsamen Nutzung von Daten für eine bestimmte Datenbank oder ein bestimmtes Schema, das aus einem Datashare erstellt wurde.

Weitere Berechtigungen, die Verbraucher für den Zugriff auf eine aus einem Datashare erstellte Datenbank benötigen, hängen davon ab, ob der CREATE DATABASE Befehl, mit dem die Datenbank aus dem Datashare erstellt wurde, die Klausel verwendet hat oder nicht. WITH PERMISSIONS Weitere Hinweise zu dem CREATE DATABASE Befehl und WITH PERMISSIONS der Klausel finden Sie unter. CREATE DATABASE

Datenbanken, die ohne Verwendung der WITH PERMISSIONS Klausel erstellt wurden

Wenn Sie für eine Datenbank, die aus einer Datenfreigabe ohne die WITH PERMISSIONS Klausel erstellt wurde, eine Erteilung USAGE vornehmen, müssen Sie die Berechtigungen nicht separat für die Objekte in der gemeinsam genutzten Datenbank erteilen. Entitäten, denen die Verwendung für Datenbanken gewährt wurde, die aus Datenfreigaben ohne die WITH PERMISSIONS Klausel erstellt wurden, haben automatisch Zugriff auf alle Objekte in der Datenbank.

Datenbanken, die mit der Klausel erstellt wurden WITH PERMISSIONS

Wenn Sie für eine Datenbank gewährenUSAGE, in der die gemeinsam genutzte Datenbank aus einem Datashare mit der WITH PERMISSIONS Klausel erstellt wurde, müssen verbraucherseitigen Identitäten weiterhin die entsprechenden Berechtigungen für Datenbankobjekte in der gemeinsam genutzten Datenbank erteilt werden, um auf sie zugreifen zu können, genauso wie Sie Berechtigungen für lokale Datenbankobjekte gewähren würden. Verwenden Sie die dreiteilige Syntax database_name.schema_name.object_name, um Objekten in einer Datenbank, die aus einem Datashare erstellt wurde, Berechtigungen zu gewähren. Verwenden Sie die zweiteilige Syntax schema_name.object_name, um Objekten in einem externen Schema, das auf ein gemeinsam genutztes Schema innerhalb der gemeinsam genutzten Datenbank verweist, Berechtigungen zu gewähren.

GRANT USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema} TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Mit bereichsbezogenen Berechtigungen können Sie einem Benutzer oder einer Rolle Berechtigungen für alle Objekte eines Typs innerhalb einer Datenbank oder eines Schemas gewähren. Benutzer und Rollen mit bereichsbezogenen Berechtigungen verfügen über die angegebenen Berechtigungen für alle aktuellen und future Objekte innerhalb der Datenbank oder des Schemas.

Den Umfang der bereichsbezogenen Berechtigungen auf Datenbankebene finden Sie unter. SVV_DATABASE_PRIVILEGES Den Umfang der bereichsbezogenen Berechtigungen auf Schemaebene finden Sie unter. SVV_SCHEMA_PRIVILEGES

Im Folgenden sehen Sie die Syntax zum Erteilen bereichsbezogener Berechtigungen für Benutzer oder Rollen. Weitere Informationen zu bereichsbezogenen Berechtigungen finden Sie unter. Bereichsbeschränkte Berechtigungen

GRANT { CREATE | USAGE | ALTER } [,...] | ALL [ PRIVILEGES ] } FOR SCHEMAS IN DATABASE db_name TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...] GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } } FOR TABLES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name} [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR FUNCTIONS IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR PROCEDURES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT USAGE FOR LANGUAGES IN {DATABASE db_name} TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]

Beachten Sie, dass bei bereichsbezogenen Berechtigungen nicht zwischen Berechtigungen für Funktionen und für Prozeduren unterschieden wird. Die folgende Anweisung gewährt beispielsweise bob die EXECUTE Berechtigung sowohl für Funktionen als auch für Prozeduren im Schema. Sales_schema

GRANT EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema TO bob;

Im Folgenden finden Sie die Syntax für Berechtigungen für Machine-Learning-Modelle in Amazon Redshift.

GRANT CREATE MODEL TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON MODEL model_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Im Folgenden finden Sie die Syntax zum Erteilen von Rollenberechtigungen in Amazon Redshift.

GRANT { ROLE role_name } [, ...] TO { { user_name [ WITH ADMIN OPTION ] } | ROLE role_name }[, ...]

Im Folgenden finden Sie die Syntax zum Erteilen von Systemberechtigungen für Rollen in Amazon Redshift.

GRANT { { CREATE USER | DROP USER | ALTER USER | CREATE SCHEMA | DROP SCHEMA | ALTER DEFAULT PRIVILEGES | ACCESS CATALOG | CREATE TABLE | DROP TABLE | ALTER TABLE | CREATE OR REPLACE FUNCTION | CREATE OR REPLACE EXTERNAL FUNCTION | DROP FUNCTION | CREATE OR REPLACE PROCEDURE | DROP PROCEDURE | CREATE OR REPLACE VIEW | DROP VIEW | CREATE MODEL | DROP MODEL | CREATE DATASHARE | ALTER DATASHARE | DROP DATASHARE | CREATE LIBRARY | DROP LIBRARY | CREATE ROLE | DROP ROLE | TRUNCATE TABLE VACUUM | ANALYZE | CANCEL }[, ...] } | { ALL [ PRIVILEGES ] } TO { ROLE role_name } [, ...]

Im Folgenden finden Sie die Syntax für die Gewährung von Berechtigungen zur Erläuterung der Sicherheitsrichtlinienfilter auf Zeilenebene einer Abfrage im EXPLAIN Plan. Sie können das Recht mithilfe der REVOKE Anweisung widerrufen.

GRANT EXPLAIN RLS TO ROLE rolename

Im Folgenden finden Sie die Syntax zum Erteilen von Berechtigungen zum Umgehen von RLS-Richtlinien auf Zeilenebene für eine Abfrage.

GRANT IGNORE RLS TO ROLE rolename

Im Folgenden finden Sie die Syntax zum Erteilen von Berechtigungen für die angegebene RLS-Richtlinie auf Zeilenebene.

GRANT SELECT ON [ TABLE ] table_name [, ...] TO RLS POLICY policy_name [, ...]

Parameter

SELECT

Erteilt die Berechtigung, mithilfe einer SELECT Anweisung Daten aus einer Tabelle oder Ansicht auszuwählen. Die SELECT Berechtigung ist auch erforderlich, um auf vorhandene Spaltenwerte für UPDATE DELETE Operationen zu verweisen.

INSERT

Erteilt die Berechtigung, Daten mithilfe einer INSERT Anweisung oder einer Anweisung in eine COPY Tabelle zu laden.

UPDATE

Erteilt die Berechtigung, eine Tabellenspalte mithilfe einer UPDATE Anweisung zu aktualisieren. UPDATEOperationen erfordern ebenfalls die SELECT entsprechende Genehmigung, da sie auf Tabellenspalten verweisen müssen, um zu bestimmen, welche Zeilen aktualisiert werden sollen, oder um neue Werte für Spalten zu berechnen.

DELETE

Erteilt die Berechtigung, eine Datenzeile aus einer Tabelle zu löschen. DELETEOperationen benötigen ebenfalls die SELECT entsprechende Genehmigung, da sie Tabellenspalten referenzieren müssen, um zu bestimmen, welche Zeilen gelöscht werden sollen.

DROP

Erteilt die Berechtigung zum Entfernen einer Tabelle Diese Berechtigung gilt in Amazon Redshift und in einer AWS Glue Data Catalog , die für Lake Formation aktiviert ist.

REFERENCES

Erteilt die Berechtigung, eine Fremdschlüsseleinschränkung zu erstellen. Sie müssen diese Berechtigung sowohl für die referenzierte als auch für die referenzierende Tabelle erteilen. Andernfalls kann der Benutzer die Einschränkung nicht erstellen.

ALTER

Erteilt dem Benutzer oder der Benutzergruppe die folgenden Berechtigungen, abhängig vom Datenbankobjekt:

  • Erteilt für Tabellen ALTER die Erlaubnis, eine Tabelle oder Ansicht zu ändern. Weitere Informationen finden Sie unter ALTER TABLE.

  • Erteilt für Datenbanken ALTER die Erlaubnis, eine Datenbank zu ändern. Weitere Informationen finden Sie unter ALTER DATABASE.

  • Erteilt für Schemas ALTER die Erlaubnis, ein Schema zu ändern. Weitere Informationen finden Sie unter ALTER SCHEMA.

  • Erteilt für externe Tabellen ALTER die Erlaubnis, eine Tabelle in einer Tabelle zu ändern AWS Glue Data Catalog , die für Lake Formation aktiviert ist. Diese Berechtigung gilt nur bei Verwendung von Lake Formation.

TRUNCATE

Gewährt die Berechtigung zum Kürzen einer Tabelle. Ohne diese Berechtigung kann nur der Eigentümer einer Tabelle oder ein Superuser eine Tabelle kürzen. Weitere Informationen zu diesem TRUNCATE Befehl finden Sie unterTRUNCATE.

ALL [ PRIVILEGES ]

Gewährt dem angegebenen Benutzer oder der angegebenen Rolle alle verfügbaren Berechtigungen gleichzeitig. Das PRIVILEGES-Schlüsselwort ist optional.

GRANTALLON gewährt SCHEMA keine CREATE Berechtigungen für externe Schemas.

Sie können die ALL Berechtigung für eine Tabelle in einer Tabelle erteilen AWS Glue Data Catalog , die für Lake Formation aktiviert ist. In diesem Fall werden einzelne Berechtigungen (wie SELECTALTER, usw.) im Datenkatalog aufgezeichnet.

Anmerkung

Amazon Redshift unterstützt die TRIGGER Berechtigungen RULE und nicht. Weitere Informationen finden Sie unter Postgre-Funktionen werden nicht unterstützt SQL.

ASSUMEROLE

Erteilt Benutzern COPY UNLOAD EXTERNALFUNCTION, Rollen oder Gruppen mit einer bestimmten Rolle die Erlaubnis,,, und CREATE MODEL Befehle auszuführen. Der Benutzer, die Rolle oder die Gruppe übernimmt diese Rolle beim Ausführen des jeweiligen Befehls. Informationen zur Verwendung der ASSUMEROLE Berechtigung finden Sie unterNutzungshinweise für die Erteilung der Erlaubnis ASSUMEROLE.

ON [TABLE] Tabellenname

Erteilt die angegebenen Berechtigungen für eine Tabelle oder Ansicht. Das TABLE-Schlüsselwort ist optional. Sie können in einer einzelnen Anweisung mehrere Tabellen und Ansichten auflisten.

EIN IN ALL TABLES schema_name SCHEMA

Erteilt die angegebenen Berechtigungen für alle Tabellen und Ansichten im referenzierten Schema.

(column_name [,...]) AUF table_name TABLE

Gewährt Benutzern, Gruppen oder für die angegebenen Spalten der PUBLIC Amazon Redshift Redshift-Tabelle oder -Ansicht die angegebenen Berechtigungen.

(column_list) AUF schema_name.table_name EXTERNAL TABLE

Gewährt einer IAM Rolle die angegebenen Berechtigungen für die angegebenen Spalten der Lake Formation-Tabelle im referenzierten Schema.

AUF EXTERNAL TABLE schema_name.table_name

Gewährt einer IAM Rolle in den angegebenen Lake Formation-Tabellen im referenzierten Schema die angegebenen Berechtigungen.

AUF EXTERNAL SCHEMA schema_name

Gewährt einer IAM Rolle im referenzierten Schema die angegebenen Berechtigungen.

ON iam_role

Gewährt einer IAM Rolle die angegebenen Berechtigungen.

TO username

Gibt den Benutzer an, der die Berechtigungen erhält.

ZU IAM _ ROLE iam_role

Zeigt die IAM Rolle an, die die Berechtigungen erhält.

WITH GRANT OPTION

Gibt an, dass der Benutzer, der die Berechtigungen erhält, anderen Benutzern dieselben Berechtigungen gewähren kann. WITHGRANTOPTIONkann einer Gruppe oder einer anderen Person nicht gewährt werdenPUBLIC.

ROLERollenname

Erteilt die Berechtigungen einer Rolle.

GROUPGruppenname

Erteilt die Berechtigungen einer Benutzergruppe. Dies kann eine durch Kommata getrennte Liste sein, wenn mehrere Benutzergruppen angegeben werden.

PUBLIC

Erteilt allen Benutzern die angegebenen Berechtigungen, einschließlich Benutzern, die später erstellt werden. PUBLICsteht für eine Gruppe, die immer alle Benutzer umfasst. Die Berechtigungen eines einzelnen Benutzers bestehen aus der Summe der BerechtigungenPUBLIC, die allen Gruppen gewährt wurden, denen der Benutzer angehört, und allen Berechtigungen, die dem Benutzer einzeln gewährt wurden.

Die Gewährung einer Lake Formation EXTERNAL TABLE führt PUBLIC dazu, dass der Lake Formation Jedermanns die Genehmigung erteilt wird.

CREATE

Erteilt dem Benutzer oder der Benutzergruppe die folgenden Berechtigungen, abhängig vom Datenbankobjekt:

  • Bei Datenbanken CREATE ermöglicht es Benutzern, Schemas innerhalb der Datenbank zu erstellen.

  • CREATEErmöglicht Benutzern bei Schemas das Erstellen von Objekten innerhalb eines Schemas. Um ein Objekt umzubenennen, muss der Benutzer über die CREATE entsprechende Berechtigung verfügen und Eigentümer des umzubenennenden Objekts sein.

  • CREATEON wird für externe Amazon Redshift Spectrum Spectrum-Schemas SCHEMA nicht unterstützt. Um die Verwendung externer Tabellen in einem externen Schema zu gewähren, gewähren Sie den Benutzern, die SCHEMA Zugriff benötigen, USAGE ON. Nur der Eigentümer eines externen Schemas oder ein Superuser darf externe Tabellen im externen Schema erstellen. Mit dem Befehl ALTER SCHEMA können Sie den Besitzer eines externen Schemas ändern.

TEMPORARY | TEMP

Erteilt die Berechtigung, in der angegebenen Datenbank temporäre Tabellen zu erstellen. Um Amazon Redshift Spectrum-Abfragen auszuführen, benötigt der Datenbankbenutzer die Berechtigung, temporäre Tabellen in der Datenbank zu erstellen.

Anmerkung

Standardmäßig erhalten Benutzer aufgrund ihrer automatischen Mitgliedschaft in der PUBLIC Gruppe die Berechtigung, temporäre Tabellen zu erstellen. Um Benutzern die Berechtigung zum Erstellen temporärer Tabellen zu entziehen, entziehen Sie der PUBLIC Gruppe die TEMP Berechtigung. Erteilen Sie dann explizit die Berechtigung, temporäre Tabellen für bestimmte Benutzer oder Benutzergruppen zu erstellen.

AUF DATABASE db_name

Erteilt die angegebenen Berechtigungen für eine Datenbank.

USAGE

USAGEErteilt Berechtigungen für ein bestimmtes Schema, wodurch Benutzer auf Objekte in diesem Schema zugreifen können. Bestimmte Aktionen für diese Objekte müssen separat erteilt werden (z. B. SELECT UPDATE Berechtigungen für Tabellen) für lokale Amazon Redshift Redshift-Schemas. Standardmäßig verfügen alle Benutzer über eine CREATE USAGE Berechtigung für das PUBLIC Schema.

Wenn Sie externen Schemas mithilfe der SCHEMA ON-Syntax gewähren, müssen Sie Aktionen nicht separat für die Objekte im externen Schema gewähren. USAGE Die entsprechenden Katalogberechtigungen steuern differenzierte Berechtigungen für die externen Schemaobjekte.

AUF SCHEMA schema_name

Erteilt die angegebenen Berechtigungen für ein Schema.

GRANTCREATEON SCHEMA und die CREATE Berechtigung in GRANT ALL ON werden für externe Amazon Redshift Spectrum Spectrum-Schemas SCHEMA nicht unterstützt. Um die Verwendung externer Tabellen in einem externen Schema zu gewähren, gewähren Sie den Benutzern, die SCHEMA Zugriff benötigen, USAGE ON. Nur der Eigentümer eines externen Schemas oder ein Superuser darf externe Tabellen im externen Schema erstellen. Mit dem Befehl ALTER SCHEMA können Sie den Besitzer eines externen Schemas ändern.

EXECUTEON ALL FUNCTIONS IN SCHEMA schema_name

Erteilt die angegebenen Berechtigungen für alle Funktionen im referenzierten Schema.

Amazon Redshift unterstützt GRANT keine REVOKE OR-Anweisungen für integrierte pg_proc-Einträge, die im Namespace pg_catalog definiert sind.

EXECUTEPROCEDUREON prozedur_name

Erteilt die EXECUTE Berechtigung für eine bestimmte gespeicherte Prozedur. Da die Namen gespeicherter Prozeduren überladen sein können, müssen Sie die Argumentliste für die Prozedur angeben. Weitere Informationen finden Sie unter Benennen von gespeicherten Prozeduren.

EXECUTEEIN ALL PROCEDURES IN SCHEMA schema_name

Erteilt die angegebenen Berechtigungen für alle gespeicherten Prozeduren im referenzierten Schema.

USAGEAUF language_name LANGUAGE

Erteilt die USAGE Erlaubnis für eine Sprache.

Die USAGE LANGUAGE ON-Berechtigung ist erforderlich, um benutzerdefinierte Funktionen (UDFs) durch Ausführen des CREATE FUNCTION Befehls zu erstellen. Weitere Informationen finden Sie unter UDFSicherheit und Berechtigungen.

Die USAGE LANGUAGE ON-Berechtigung ist erforderlich, um gespeicherte Prozeduren durch Ausführen des CREATE PROCEDURE Befehls zu erstellen. Weitere Informationen finden Sie unter Sicherheit und Berechtigungen für gespeicherte Prozeduren .

Verwenden Sie für Python UDFsplpythonu. Für SQLUDFs, benutzesql. Für gespeicherte Prozeduren verwenden Sie plpgsql.

FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]

Gibt den SQL Befehl an, für den die Berechtigung erteilt wurde. Sie können angebenALL, dass die Berechtigung für die CREATE MODEL AnweisungenCOPY, UNLOAD EXTERNALFUNCTION, und erteilt werden soll. Diese Klausel gilt nur für die Erteilung der ASSUMEROLE Genehmigung.

ALTER

Erteilt Benutzern die ALTER Berechtigung, Objekte zu einer Datenfreigabe hinzuzufügen oder daraus zu entfernen oder die Eigenschaft festzulegen. PUBLICACCESSIBLE Weitere Informationen finden Sie unter ALTER DATASHARE.

SHARE

Erteilt Benutzern und Benutzergruppen Berechtigungen zum Hinzufügen von Datenkonsumenten zu einem Datashare. Diese Berechtigung ist erforderlich, damit der betreffende Konsument (Konto oder Namespace) von seinen Clustern aus auf das Datashare zugreifen kann. Bei dem Verbraucher kann es sich um dasselbe oder ein anderes AWS Konto mit demselben oder einem anderen Cluster-Namespace handeln, der durch einen global eindeutigen Bezeichner () angegeben wird. GUID

AUF DATASHARE datashare_name

Erteilt die angegebenen Berechtigungen für das referenzierte Datashare. Informationen über die Granularität der Zugriffskontrolle für Verbraucher finden Sie unter Datenaustausch auf verschiedenen Ebenen in Amazon Redshift.

USAGE

Wenn USAGE dies einem Verbraucherkonto oder einem Namespace innerhalb desselben Kontos gewährt wird, kann das spezifische Verbraucherkonto oder der Namespace innerhalb des Kontos schreibgeschützt auf das Datashare und die Objekte des Datenaustauschs zugreifen.

NAMESPACEGUIDZUM 'Cluster-Namespace'

Gibt einen Namespace in demselben Konto an, in dem Konsumenten die angegebenen Berechtigungen für das Datashare erhalten können. Namespaces verwenden ein alphanumerisches 128-Bit-Zeichen. GUID

ZU ACCOUNT 'Kontonummer' [] VIA DATA CATALOG

Gibt die Nummer eines anderen Kontos an, dessen Konsumenten die angegebenen Berechtigungen für das Datashare erhalten können. Die Angabe von VIA DATA CATALOG '' bedeutet, dass Sie einem Lake Formation Formation-Konto die Nutzung des Datashare gewähren. Wenn Sie diesen Parameter weglassen, gewähren Sie die Nutzungsberechtigung einem Konto, dem der Cluster gehört.

ON DATABASE shared_database_name> [,...]

Erteilt die angegebenen Nutzungsberechtigungen für die angegebene Datenbank, die im angegebenen Datashare erstellt wird.

AUF SCHEMA shared_schema

Erteilt die angegebenen Berechtigungen für das angegebene Schema, das im angegebenen Datashare erstellt wird.

FOR{SCHEMAS| | TABLES FUNCTIONS |PROCEDURES} IM LANGUAGES

Gibt die Datenbankobjekte an, für die Berechtigungen gewährt werden sollen. Die Parameter nach IN definieren den Bereich der gewährten Berechtigung.

CREATE MODEL

Erteilt die CREATE MODEL Berechtigung bestimmten Benutzern oder Benutzergruppen.

AUF MODEL model_name

Erteilt die EXECUTE Erlaubnis für ein bestimmtes Modell.

ACCESS CATALOG

Gewährt die Berechtigung, relevante Metadaten von Objekten anzuzeigen, auf die die Rolle Zugriff hat.

{ role } [, ...]

Die Rolle, die einer anderen Rolle, einem Benutzer oder gewährt werden sollPUBLIC.

PUBLICsteht für eine Gruppe, die immer alle Benutzer umfasst. Die Berechtigungen eines einzelnen Benutzers bestehen aus der Summe der BerechtigungenPUBLIC, die allen Gruppen gewährt wurden, denen der Benutzer angehört, und allen Berechtigungen, die dem Benutzer einzeln gewährt wurden.

AN {{user_name [WITHADMINOPTION]} | role} [,...]

Erteilt die angegebene Rolle einem bestimmten Benutzer mit der WITH ADMINOPTION, einer anderen Rolle oder. PUBLIC

Die WITH ADMIN OPTION Klausel stellt allen Empfängern die Verwaltungsoptionen für alle erteilten Rollen zur Verfügung.

EXPLAINRLSROLETO-Rollenname

Erteilt einer Rolle die Berechtigung, die Sicherheitsrichtlinienfilter auf Zeilenebene einer Abfrage im EXPLAIN Plan zu erläutern.

IGNORERLSZUM ROLLENAMEN ROLE

Erteilt die Berechtigung, RLS-Richtlinien für eine Abfrage an eine Rolle zu umgehen.

Weitere Informationen zu den Nutzungshinweisen für finden Sie GRANT unter. Nutzungshinweise

Anwendungsbeispiele finden Sie GRANT unterBeispiele.