カテゴリ:

コンテキスト関数 (セッションオブジェクト)

CURRENT_SECONDARY_ROLES

現在のセッションで使用中の セカンダリロール を返します。

セッションに対する別のセカンダリロールのセットをアクティブ化するには、 USE SECONDARY ROLES コマンドを実行します。

構文

CURRENT_SECONDARY_ROLES()
Copy

引数

なし。

戻り値

以下の名前と値のペアを含む、 JSON でエンコードされたオブジェクトである文字列(VARCHAR)を返します。

roles

アクティブ化されたセカンダリロールのリストが含まれます。このリストには、ユーザーに直接付与されたロールのみが含まれます。これらのロールの階層より下位のロールはリスト表示されません。

value

現在のユーザーの DEFAULT_SECONDARY_ROLES プロパティまたは USE SECONDARY ROLES コマンドでリクエストされたセカンダリロールのリストが含まれます。

使用上の注意

共有へのセキュア UDF、または CURRENT_SECONDARY_ROLES を含んでいるセキュアビューへのアクセス権の付与が許可されています。データ共有のコンシューマーアカウントからセキュア UDF またはセキュアビューにアクセスすると、 CURRENT_SECONDARY_ROLES は常に NULL 値を返します。

現在のユーザーは DEFAULT_SECONDARY_ROLES=('ALL') です。カスタムロール role1role2、および role3 が現在のユーザーに付与されており、セカンダリロールとしてアクティブになっています。

SELECT CURRENT_SECONDARY_ROLES();
Copy
+------------------------------------------------------+
|           CURRENT_SECONDARY_ROLES()                  |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"}          |
+------------------------------------------------------+