- カテゴリ:
コンテキスト関数 (セッションオブジェクト)
IS_APPLICATION_ROLE_IN_SESSION¶
アプリケーション・ロールがコンシューマーの現在のセッションで有効になっているかどうかを検証します。
- こちらもご参照ください。
構文¶
IS_APPLICATION_ROLE_IN_SESSION( '<string_literal>' )
引数¶
'string_literal'
アプリケーションロール名。
戻り値¶
指定したロール名がコンシューマーの現在のセッションでアクティブ化された場合は
TRUE
。この関数は常にコンシューマーの現在のセッションを使用し、この関数を使用してコンシューマーにアプリケーションロールが付与される場合、
TRUE
を返します。アプリケーションロールは所有されているけれども、アプリには付与されていないため、アプリケーションが関数を呼び出しても、この関数は
TRUE
を返しません。指定したアプリケーションロール名がコンシューマーの現在のセッションでアクティブ化されていない場合は
FALSE
。
使用上の注意¶
この関数は、Snowflake Native App 内から呼び出された場合にのみサポートされます。アプリ外のユーザーから呼び出された場合は機能しません。
IS_APPLICATION_ROLE_IN_SESSIONマスキングポリシー :doc:`</user-guide/security-column-intro> または `行アクセスポリシー :doc:`</user-guide/security-row-intro> で ` 関数を使用する場合、Snowflake がEnterprise Edition 以上である必要があります。
引数として渡すことができるロール名は1つだけです。
Snowflakeは実体化するデータを決定できないため、この関数はマテリアライズドビューの定義では使用できません。
例¶
指定されたアプリケーションロールが現在のセッションにあるかどうかを確認します。
SELECT IS_APPLICATION_ROLE_IN_SESSION('ANALYST');
+-------------------------------------------+
| IS_APPLICATION_ROLE_IN_SESSION('ANALYST') |
+-------------------------------------------+
| FALSE |
+-------------------------------------------+