GRANT ROLE¶
Weist eine Rolle einem Benutzer oder einer anderen Rolle zu:
Die Zuweisung einer Rolle an eine andere Rolle schafft eine „Übergeordnet/Untergeordnet-Beziehung“ zwischen den Rollen (auch als Rollenhierarchie bezeichnet).
Die Zuweisung einer Rolle an einen Benutzer ermöglicht es dem Benutzer, alle von der Rolle erlaubten Operationen auszuführen (über die der Rolle gewährten Zugriffsrechte).
Weitere Details dazu finden Sie unter Übersicht zur Zugriffssteuerung.
Syntax¶
GRANT ROLE <name> TO { ROLE <parent_role_name> | USER <user_name> }
Parameter¶
name
Gibt den Bezeichner für die zu gewährende Rolle an. Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.
ROLE parent_role_name
Gewährt der angegebenen Rolle die Rolle.
USER user_name
Gewährt dem angegebenen Benutzer die Rolle.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
OWNERSHIP |
Rolle |
Rolle, die einem Benutzer oder einer anderen Rolle erteilt wird. |
Alternativ können Sie auch eine Rolle mit der globalen Berechtigung MANAGE GRANTS verwenden. Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.
Beachten Sie, dass für die Bearbeitung eines Objekts in einem Schema auch die Berechtigung USAGE für die übergeordnete Datenbank und das Schema erforderlich ist.
Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.
Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
Die vom System definierten Rollen, einschließlich PUBLIC, müssen nicht an andere Rollen vergeben werden, da die Rollenhierarchie für diese Rollen von Snowflake definiert und gepflegt wird.
Beispiele¶
GRANT ROLE analyst TO ROLE SYSADMIN;
GRANT ROLE analyst TO USER user1;