GRANT DATABASE ROLE¶
Weist eine Datenbankrolle einer Kontorolle oder einer anderen Datenbankrolle zu.
Durch diese Aktion wird zwischen der Datenbankrolle und der Rolle, der sie zugewiesen wird, eine Übergeordnet/Untergeordnet-Beziehung geschaffen (auch als Rollenhierarchie bezeichnet).
Beachten Sie, dass Datenbankrollen Benutzern nicht direkt zugewiesen werden können.
Weitere Details dazu finden Sie unter Übersicht zur Zugriffssteuerung.
Syntax¶
GRANT DATABASE ROLE <name> TO ROLE <parent_role_name>
Parameter¶
name
Gibt den Bezeichner (d. h. den Namen) der Datenbankrolle an. Dieser muss für die Datenbank, in der die Rolle erstellt wird, eindeutig sein.
Der Bezeichner muss mit einem alphabetischen Zeichen beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B.
"My object"
). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.Wenn der Bezeichner nicht vollqualifiziert ist (im Format
db_name.database_role_name
), sucht der Befehl die Datenbankrolle in der aktuellen Datenbank der Sitzung.ROLE parent_role_name
Weist die Rolle der angegebenen Kontorolle oder Datenbankrolle zu.
Eine Datenbankrolle kann entweder einer Kontorolle oder einer anderen Datenbankrolle in derselben Datenbank zugewiesen werden. Wenn die übergeordnete Rolle eine Datenbankrolle ist und der Bezeichner nicht vollqualifiziert ist (im Format
db_name.database_role_name
), sucht der Befehl die Datenbankrolle in der aktuellen Datenbank der Sitzung.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung oder Rolle |
Objekt |
Anmerkungen |
---|---|---|
ACCOUNTADMIN |
SNOWFLAKE.BUDGET_CREATOR |
Ein Benutzer mit der Rolle ACCOUNTADMIN kann diese Datenbankrolle an eine kundenspezifische Rolle vergeben. |
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 DATABASE ROLE analyst TO ROLE SYSADMIN;