IS_GRANTED_TO_INVOKER_ROLE 함수: 출력 변경 사항

주의

이 동작 변경 사항은 2023_04 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

IS_GRANTED_TO_INVOKER_ROLE 함수의 동작은 다음과 같습니다.

이전

인자가 다음 컨텍스트의 역할에 해당하는 경우 이 함수는 FALSE로 평가됩니다.

  • 함수 자체 호출: 활성 기본 역할의 역할 계층 구조(즉, CURRENT_ROLE()).

  • 저장 프로시저 호출자의 권한.

  • 저장 프로시저 소유자의 권한.

  • 작업 소유자.

테이블을 보호하는 마스킹 정책에서 함수가 사용되는 경우 함수는 정책 소유자의 역할 계층 구조를 평가합니다. 함수 인자의 역할이 정책을 소유한 역할의 역할 계층 구조에 있는 경우 함수는 TRUE로 평가됩니다. 그렇지 않으면 함수는 FALSE로 평가됩니다.

현재

함수 평가에서는 다음 컨텍스트에서 세션의 기본 역할 계층 구조를 사용합니다.

  • 함수 자체의 호출.

  • 테이블

  • 호출자의 권한이 있는 저장 프로시저.

함수는 소유자 권한이 있는 저장 프로시저에서 사용되는 경우 소유자 권한이 있는 저장 프로시저를 소유하는 역할의 역할 계층 구조를 평가합니다.

마찬가지로, 함수는 작업과 함께 사용되는 경우 작업을 소유한 역할의 역할 계층 구조를 평가합니다.

IS_GRANTED_TO_INVOKER_ROLE 함수를 사용하는 기존 마스킹 정책을 식별하려면 다음 문을 실행하십시오.

USE ROLE ACCOUNTADMIN;

SELECT *
    FROM snowflake.account_usage.masking_policies
    WHERE policy_body ilike '%is_granted_to_invoker_role%';
Copy

참조: 984