데이터 품질을 위한 액세스 제어

다음 섹션에서는 데이터 품질 및 DMFs(데이터 메트릭 함수)와 관련된 작업에 대한 액세스 제어 요구 사항을 설명합니다.

일반적인 작업

참고

스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한. 스키마에 대한 특정 권한을 부여받은 역할은 해당 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 USAGE 권한을 함께 부여받지 않더라도 해당 스키마에 대한 오브젝트를 생성할 수 있습니다.

작업

필수 권한/역할

참고

DMF를 테이블 또는 뷰와 연결

계정에 대한 EXECUTE DATA METRIC FUNCTION 권한

DMF에 대한 USAGE 권한

다음 중 하나:

  • 테이블에 대한 OWNERSHIP 권한이 있는 역할

  • 테이블에 대해 SELECT 권한이 있으며 EXECUTE AS ROLE 속성으로 지정된 역할.

EXECUTE AS ROLE 속성에 대한 자세한 내용은 테이블 또는 뷰에 대한 필수 권한 섹션을 참조하세요.

오브젝트와 DMFs 간 연결 보기

DMF에 대한 USAGE 권한

DMF와 연결된 테이블 또는 뷰에 대한 SELECT 권한

사용자 지정 DMF 생성하기

스키마에 대한 CREATE DATA METRIC FUNCTION 권한

수동으로 DMF 호출하기

DMF에 대한 USAGE 권한

호출에 지정된 테이블 또는 뷰에 대한 SELECT 권한

데이터 품질 결과 보기

보기 옵션

필수 권한/역할

참고

DATA_QUALITY_MONITORING_RESULTS_RAW 이벤트 테이블

DATA_QUALITY_MONITORING_ADMIN 애플리케이션 역할

DATA_QUALITY_MONITORING_RESULTS 뷰

다음 중 하나:

  • DATA_QUALITY_MONITORING_ADMIN 애플리케이션 역할

  • DATA_QUALITY_MONITORING_VIEWER 애플리케이션 역할

DATA_QUALITY_MONITORING_RESULTS 함수

다음 중 하나:

  • DATA_QUALITY_MONITORING_ADMIN 애플리케이션 역할

  • DATA_QUALITY_MONITORING_VIEWER 애플리케이션 역할

  • DATA_QUALITY_MONITORING_LOOKUP 애플리케이션 역할

DATA_QUALITY_MONITORING_LOOKUP 애플리케이션 역할을 사용하는 경우 다음도 필요합니다.

  • DMF와 연결된 테이블에 대한 OWNERSHIP 또는 SELECT 권한

  • DMF에 대한 USAGE 권한

테이블 또는 뷰에 대한 필수 권한

DMF를 테이블 또는 뷰에 연결하기 위한 액세스 제어 요구 사항 중 하나는 해당 테이블 또는 뷰에 대한 적절한 권한을 갖는 것입니다. DMF를 오브젝트에 연결하려면 역할에 다음 권한 중 하나가 있어야 합니다.

  • 테이블 또는 뷰에 대한 OWNERSHIP 권한

  • 테이블 또는 뷰에 대한 SELECT 권한

오브젝트에 대해 SELECT 권한이 있는 역할이 DMFs를 오브젝트와 연결할 수 있도록 하려면 연결을 정의할 때 EXECUTE AS ROLE 속성을 설정해야 합니다. 이 속성은 DMF가 실행될 때의 역할을 지정합니다. 예를 들어 역할 analyst_role``에 테이블 ``t1``에 대한 SELECT 권한이 있다고 가정해 보겠습니다. ``analyst_role 역할로 실행되도록 positive_number_count DMF를 테이블 ``t1``에 연결하려면 다음 명령을 실행합니다.

ALTER TABLE t1
  ADD DATA METRIC FUNCTION governance.dfms.positive_number_count on (c1, c2, c3)
    EXECUTE AS ROLE analyst_role;
Copy

이 명령은 analyst_role 역할이 있는 사용자 또는 역할 계층 구조에서 더 높은 역할(예: ACCOUNTADMIN 역할)을 가진 사용자가 실행할 수 있습니다.

EXECUTE AS ROLE 속성을 지정하지 않은 경우 DMF는 테이블 소유자의 역할로 실행됩니다. DMF가 실행될 때의 역할은 현재 사용자의 역할에 따라 다르게 동작하는 데이터 거버넌스 정책에 영향을 줄 수 있으므로 중요합니다.

EXECUTE AS ROLE 속성의 이점

EXECUTE AS ROLE 속성을 통해 소유자가 아닌 사용자가 테이블 또는 뷰에서 DMF를 연결하고 실행할 수 있습니다. 이를 통해 데이터 거버너가 테이블을 소유하지 않고도 데이터 품질 검사를 생성할 수 있습니다.

제한 사항

MODIFY DATA METRIC FUNCTION 절을 사용하여 EXECUTE AS ROLE 속성으로 지정된 역할을 변경할 수 없습니다. 연결을 삭제한 다음, 새 EXECUTE AS ROLE 역할로 다시 만들어야 합니다.

시스템 DMFs에 대해 USAGE 권한 부여

시스템 DMF를 연결하고 실행하려면 시스템 DMF에 대한 USAGE 권한이 필요합니다. 사용자에게 모든 시스템 DMFs에 대해 USAGE 권한을 부여하려면 SNOWFLAKE.DATA_METRIC_USER 데이터베이스 역할을 부여할 수 있습니다.

예를 들어, data_governor 역할이 있는 사용자가 시스템 DMFs 작업을 수행하도록 하려면 다음 명령을 실행합니다.

GRANT DATABASE ROLE snowflake.data_metric_user TO ROLE data_governor;
Copy

또는 다음 액세스 제어 옵션은 시스템 DMFs에 대해 USAGE 권한도 부여합니다. 이러한 옵션은 시스템 DMFs 이상에 대한 액세스를 제공하므로 주의해야 합니다.

사용자 지정 DMF에 대해 권한 부여

GRANT 및 REVOKE 명령은 사용자가 생성한 사용자 지정 DMF의 인자를 지정해야 합니다 예:

GRANT USAGE ON FUNCTION
  governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
  TO data_engineer;
Copy