CREATE ROLE

Legen Sie eine neue Rolle an oder ersetzen Sie eine bestehende Rolle im System.

Nach dem Anlegen von Rollen können Sie der Rolle Objektberechtigungen zuweisen und die Rolle dann anderen Rollen oder einzelnen Benutzern zuweisen, um die Sicherheit der Zugriffssteuerung für Objekte im System zu ermöglichen.

Darüber hinaus unterstützt dieser Befehl die folgenden Varianten:

  • CREATE OR ALTER ROLE: Erstellt eine Rolle, wenn sie nicht existiert, oder ändert eine bestehende Rolle.

Siehe auch:

GRANT <Berechtigungen>, GRANT ROLE, GRANT OWNERSHIP, DROP ROLE, ALTER ROLE, SHOW ROLES

CREATE OR ALTER <objekt>

Syntax

CREATE [ OR REPLACE ] ROLE [ IF NOT EXISTS ] <name>
  [ COMMENT = '<string_literal>' ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
Copy

Syntaxvariante

CREATE OR ALTER ROLE

Erstellt eine neue Rolle, wenn sie noch nicht existiert, oder wandelt eine vorhandene Rolle in die in der Anweisung definierte Rolle um. Eine CREATE OR ALTER ROLE-Anweisung folgt den Syntaxregeln einer CREATE ROLE-Anweisung und hat die gleichen Einschränkungen wie eine ALTER ROLE-Anweisung.

CREATE OR ALTER ROLE <name>
  [ COMMENT = '<string_literal>' ]
Copy

Weitere Informationen dazu finden Sie unter Nutzungshinweise zu CREATE OR ALTER ROLE.

Erforderliche Parameter

name

Bezeichner für die Rolle. Dieser muss für Ihr Konto 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.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

Optionale Parameter

COMMENT = 'string_literal'

Gibt einen Kommentar für die Rolle an.

Standard: Kein Wert

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

Gibt den Namen des Tags und den Wert der Tag-Zeichenfolge an.

Der Tag-Wert ist immer eine Zeichenfolge, die maximale 256 Zeichen lang sein kann.

Weitere Informationen zur Angabe von Tags in einer Anweisung finden Sie unter Tag-Kontingente für Objekte und Spalten.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

CREATE ROLE

Konto

Only the USERADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

OWNERSHIP

Datenbankrolle

Erforderlich zur Ausführung einer CREATE OR ALTER ROLE-Anweisung für eine vorhandene Rolle.

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einem bestimmten Satz 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.

Allgemeine Nutzungshinweise

  • Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

  • CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.

Nutzungshinweise zu CREATE OR ALTER ROLE

  • Es gelten alle Einschränkungen des Befehls ALTER ROLE.

  • Das Setzen oder Aufheben eines Tags wird nicht unterstützt. Bestehende Tags werden jedoch nicht durch eine CREATE OR ALTERROLE-Anweisung verändert und bleiben unverändert.

Beispiele

CREATE ROLE myrole;
Copy