- カテゴリ:
コンテキスト関数 (セッションオブジェクト)
CURRENT_SECONDARY_ROLES¶
現在のセッションで使用中の セカンダリロール を返します。
セッションに対する別のセカンダリロールのセットをアクティブ化するには、 USE SECONDARY ROLES コマンドを実行します。
構文¶
CURRENT_SECONDARY_ROLES()
引数¶
なし。
戻り値¶
以下の名前と値のペアを含む、 JSON でエンコードされたオブジェクトである文字列(VARCHAR)を返します。
roles
アクティブ化されたセカンダリロールのリストが含まれます。このリストには、ユーザーに直接付与されたロールのみが含まれます。これらのロールの階層より下位のロールはリスト表示されません。
value
現在のユーザーの
DEFAULT_SECONDARY_ROLES
プロパティまたは USE SECONDARY ROLES コマンドでリクエストされたセカンダリロールのリストが含まれます。
使用上の注意¶
共有へのセキュア UDF、または CURRENT_SECONDARY_ROLES を含んでいるセキュアビューへのアクセス権の付与が許可されています。データ共有のコンシューマーアカウントからセキュア UDF またはセキュアビューにアクセスすると、 CURRENT_SECONDARY_ROLES は常に NULL 値を返します。
例¶
現在のユーザーは DEFAULT_SECONDARY_ROLES=('ALL')
です。カスタムロール role1
、 role2
、および role3
が現在のユーザーに付与されており、セカンダリロールとしてアクティブになっています。
SELECT CURRENT_SECONDARY_ROLES();
+------------------------------------------------------+
| CURRENT_SECONDARY_ROLES() |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"} |
+------------------------------------------------------+