사용자 정의 함수에 대한 권한 부여

이 항목에는 UDF 또는 UDTF로 특정 SQL 작업을 수행하기 위해 오브젝트에 필요한 최소 권한이 나와 있습니다.

이 항목의 내용:

UDFs 및 UDTFs에 대한 권한 부여하기

UDF 또는 UDTF에서 SQL 작업을 수행하려면 작업을 수행하는 사람에게 필요한 권한이 부여된 역할이 할당되었어야 합니다. 다음과 같은 SQL 작업이 포함됩니다.

  • CREATE FUNCTION 또는 Snowpark API 와 같은 함수 만들기.

  • SQL 또는 Snowpark API를 통해 함수에 대한 액세스를 삭제, 변경, 관리하기 위한 함수 소유하기.

  • SQL 또는 Snowpark API로 함수 호출하기.

역할에는 데이터베이스와 스키마를 포함하여, 함수와 관련된 오브젝트와 (필요한 경우) 함수 종속성을 보유하는 스테이지에 대한 권한을 할당해야 합니다.

오브젝트에 대한 권한을 역할에 부여하려면 GRANT 문을 사용하십시오.

다음 예제의 코드에서는 my_role 에 함수 my_java_udf 에 대한 USAGE 권한을 부여합니다.

GRANT USAGE ON FUNCTION my_java_udf(number, number) TO my_role;
Copy

UDF 또는 UDTF 만들기

UDF 또는 UDTF의 생성, 관리 및 실행을 위해서는 최소한으로 다음의 권한이 있는 역할이 필요합니다.

오브젝트

권한

참고

데이터베이스

USAGE

스키마

USAGE, CREATE FUNCTION

스테이지

USAGE(외부 스테이지) 또는 READ(내부 스테이지)

함수가 스테이지의 파일에 종속되거나 파일에서 데이터를 읽는 경우에 필요합니다. 여기에는 다음의 스테이징된 파일이 포함됩니다.

  • UDF에 대한 처리기 코드를 포함하는 파일입니다. 스테이징된 처리기와 인라인 처리기에 대한 자세한 내용은 처리기 코드를 인라인 또는 스테이지에 유지하기 섹션을 참조하십시오.

  • JAR 파일, Python 모듈, .zip 파일 등을 비롯해, 처리기 코드에 종속 항목으로 필요한 라이브러리. 자세한 내용은 코드에 종속성을 사용할 수 있도록 만들기 섹션을 참조하십시오.

  • 처리기에서 코드를 통해 읽은 콘텐츠가 포함된 파일. 여기에는 처리기에서 처리하는 비정형 데이터가 포함됩니다.

UDF 또는 UDTF 소유하기

UDF 또는 UDTF가 생성된 후 함수 소유자(즉, 함수에 대한 OWNERSHIP 권한이 있는 역할을 가진 사람)는 최소한 다음 권한이 있어야 합니다.

오브젝트

권한

참고

데이터베이스

USAGE

스키마

USAGE

스테이지

USAGE(외부 스테이지) 또는 READ(내부 스테이지)

함수가 스테이지의 파일에 종속되거나 파일에서 데이터를 읽는 경우에 필요합니다. 여기에는 다음의 스테이징된 파일이 포함됩니다.

  • UDF에 대한 처리기 코드를 포함하는 파일입니다. 스테이징된 처리기와 인라인 처리기에 대한 자세한 내용은 처리기 코드를 인라인 또는 스테이지에 유지하기 섹션을 참조하십시오.

  • JAR 파일, Python 모듈, .zip 파일 등을 비롯해, 처리기 코드에 종속 항목으로 필요한 라이브러리. 자세한 내용은 코드에 종속성을 사용할 수 있도록 만들기 섹션을 참조하십시오.

  • 처리기에서 코드를 통해 읽은 콘텐츠가 포함된 파일. 여기에는 처리기에서 처리하는 비정형 데이터가 포함됩니다.

함수

OWNERSHIP

UDF 또는 UDTF 호출하기

UDF 또는 UDTF를 호출하는 역할은 최소한 다음 권한이 있어야 합니다.

오브젝트

권한

참고

데이터베이스

USAGE

스키마

USAGE

이 테이블의 스키마 수준 오브젝트를 포함하는 스키마입니다. 오브젝트가 여러 스키마에 포함된 경우 각각에 대해 USAGE 권한이 필요합니다.

스테이지

USAGE(외부 스테이지) 또는 READ(내부 스테이지)

함수가 스테이지의 파일에 종속되거나 파일에서 데이터를 읽는 경우에 필요합니다. 여기에는 다음의 스테이징된 파일이 포함됩니다.

  • UDF에 대한 처리기 코드를 포함하는 파일입니다. 스테이징된 처리기와 인라인 처리기에 대한 자세한 내용은 처리기 코드를 인라인 또는 스테이지에 유지하기 섹션을 참조하십시오.

  • JAR 파일, Python 모듈, .zip 파일 등을 비롯해, 처리기 코드에 종속 항목으로 필요한 라이브러리. 자세한 내용은 코드에 종속성을 사용할 수 있도록 만들기 섹션을 참조하십시오.

  • 처리기에서 코드를 통해 읽은 콘텐츠가 포함된 파일. 여기에는 처리기에서 처리하는 비정형 데이터가 포함됩니다.

함수

USAGE

함수 소유자가 아닌 누군가가 함수를 호출할 때 필요합니다. 함수에 대한 USAGE는 함수를 호출할 사람에게 할당된 역할에 부여해야 합니다.