USE SECONDARY ROLES

Gibt die aktiven/aktuellen Sekundärrollen für die Sitzung an. Die derzeit aktiven Sekundärrollen legen den Kontext fest, der bestimmt, ob der aktuelle Benutzer über die erforderlichen Berechtigungen zum Ausführen von SQL-Aktionen verfügt.

Beachten Sie, dass die Berechtigung zur Ausführung von CREATE <Objekt>-Anweisungen zur Erstellung von Objekten von der Primärrolle erteilt wird.

Weitere Informationen finden Sie unter Durchsetzung der Sekundärrolle.

Siehe auch:

USE ROLE

Syntax

USE SECONDARY ROLES {
      ALL
    | NONE
    | <role_name> [ , <role_name> ... ]
  }

Parameter

ALL

Alle Rollen, die dem Benutzer zusätzlich zur aktuellen aktiven Primärrolle zugewiesen wurden.

Beachten Sie, dass die Menge der Rollen bei der Ausführung jeder SQL-Anweisung neu ausgewertet wird. Wenn dem Benutzer zusätzliche Rollen zugewiesen werden und dieser Benutzer eine neue SQL-Anweisung ausführt, sind die neu zugewiesenen Rollen aktive Sekundärrollen für die neue SQL-Anweisung. Die gleiche Logik gilt für Rollen, die einem Benutzer entzogen werden.

NONE

Deaktiviert Sekundärrollen. Die Berechtigung für alle SQL-Aktionen wird über die Primärrolle erteilt.

role_name [ , role_name ... ]

Aktiviert die angegebenen Rollen als Sekundärrollen. Bei den Sekundärrollen kann es sich um benutzerdefinierte Kontorollen oder um Systemrollen handeln. Geben Sie den Rollennamen so an, wie er in Snowflake gespeichert ist.

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ß- und Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

Nutzungshinweise

  • Bei Angabe einzelner Rollennamen:

    • Jede benannte Rolle muss dem aktuellen Benutzenden zugewiesen worden sein. Der Befehl validiert sofort jede angegebene Rolle. Wenn eine Rolle nicht zugewiesen wurde, schlägt der Befehl mit einem Fehler fehl.

    • Der Befehl zeichnet die gewünschte Gruppe von Sekundärrollen für die Sitzung auf. Die Rollen, die für jede nachfolgende SQL-Anweisung aktiviert werden, können eine Teilmenge der gewünschten Gruppe sein, z. B. wenn eine Sitzungsrichtlinie bestimmte Sekundärrollen einschränkt.

  • Wann ALL angegeben ist, validiert der Befehl die Rollenzuweisungen nicht im Voraus. Stattdessen werden die aktiven Sekundärrollen bei der Ausführung der einzelnen SQL-Anweisungen dynamisch bestimmt. Das bedeutet, dass neu zugewiesene Rollen automatisch aktiviert werden und entzogene Rollen nicht mehr aktiv sind, ohne dass Sie den Befehl erneut ausführen müssen.

  • Wenn eine Sitzungsrichtlinie einschränkt, welche Sekundärrollen aktiviert werden können, ist der Befehl trotzdem erfolgreich, gibt aber möglicherweise eine Informationsmeldung zurück, die besagt, dass die aktivierten Sekundärrollen durch die Richtlinie eingeschränkt werden.

Beispiele

USE SECONDARY ROLES ALL;
USE SECONDARY ROLES test_role_1, test_role_2;