Kategorien:

Kontextfunktionen (Sitzungsobjekt)

IS_ROLE_IN_SESSION

Gibt TRUE zurück, wenn die aktuelle Rolle des Benutzers in der Sitzung (d. h. die von CURRENT_ROLE zurückgegebene Rolle) die Berechtigungen der angegebenen Rolle erbt. Die angegebene Rolle kann die aktuelle Rolle oder eine beliebige, in der Rollenhierarchie niedrigere Rolle sein.

Gibt FALSE zurück, wenn die angegebene Rolle entweder in der Rollenhierarchie über der aktuellen Rolle liegt oder überhaupt nicht in der Rollenhierarchie enthalten ist.

Siehe auch:

IS_OBJECT, Erweiterte Sicherheit auf Spaltenebene

Syntax

is_role_in_session( '<string_literal>' )

Argumente

'Zeichenfolgenliteral'

Der Name der Rolle.

Nutzungshinweise

  • Wenn Sie die Funktion IS_ROLE_IN_SESSION mit Sicherheit auf Spaltenebene verwenden möchten, muss Ihr Snowflake-Konto die Enterprise Edition oder höher sein.

  • Es kann nur ein Rollenname als Argument übergeben werden.

Beispiel

Überprüfen Sie, ob die einer bestimmten Rolle erteilten Berechtigungen an die aktuelle Rolle der Sitzung vererbt werden:

select is_role_in_session('ANALYST');

+-------------------------------+
| IS_ROLE_IN_SESSION('ANALYST') |
|-------------------------------|
| True                          |
+-------------------------------+

Verwenden Sie die Funktion in einer Maskierungsrichtlinie:

case
  when is_role_in_session('ANALYST') then val
  else '*******'
end;