カテゴリ:

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

IS_GRANTED_TO_INVOKER_ROLE

INVOKER_ROLE 関数によって返されたロールが引数で指定されたロールの権限を継承する場合は、 TRUE を返します。

INVOKER_ROLE 関数は、SQL ステートメントを実行するオブジェクトのアカウントロールのみを識別して返します。データベースロールはサポートされていません。

ロール階層の詳細については、以下をご参照ください。

TRUE

IS_GRANTED_TO_INVOKER_ROLE('ANALYST') が TRUE の場合、 INVOKER_ROLE 関数によって返されるロールは、 ANALYST カスタムロールの権限を継承します。したがって、 INVOKER_ROLE 関数によって返されるロールは、同じロール階層の ANALYST カスタムロールよりも高い権限のロールです。

FALSE

IS_GRANTED_TO_INVOKER_ROLE('ANALYST') が FALSE の場合、 INVOKER_ROLE 関数によって返されるロールは、 ANALYST カスタムロールの権限を継承しません。したがって、 INVOKER_ROLE 関数によって返されるロールは、 ANALYST カスタムロールよりも低い権限のロールであるか、 INVOKER_ROLE と ANALYST カスタムロールが異なるロール階層にあります。

こちらもご参照ください。

IS_OBJECT高度な列レベルのセキュリティトピック

構文

is_granted_to_invoker_role( '<string_literal>' )
Copy

引数

'string_literal'

ロールの名前。

使用上の注意

  • マスキングポリシー で IS_GRANTED_TO_INVOKER_ROLE 関数を使用する場合は、SnowflakeアカウントがEnterprise Edition以上であることを確認してください。

  • 引数として渡すことができるロール名は1つだけです。

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