UDF 보안 및 권한
UDF를 새로 만들려면 SQL 또는 plpythonu(Python)에 대한 언어에 사용 권한이 필요합니다. 기본적으로 USAGE ON LANGUAGE SQL이 PUBLIC에 허용되지만, 특정 사용자 또는 그룹에게 USAGE ON LANGUAGE PLPYTHONU 권한을 명시적으로 허용해야만 합니다.
SQL에 대한 사용을 취소하려면 먼저 PUBLIC에서의 사용을 취소해야 합니다. 그런 다음 SQL UDF 생성이 허용된 사용자 또는 그룹에게만 SQL에 대한 사용 권한을 허용합니다. 다음 예에서는 PUBLIC의 SQL 사용 권한을 취소합니다. 그런 다음 사용자 그룹 udf_devs
에 사용 권한을 부여합니다.
revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;
UDF를 실행하려면 각 함수마다 실행 권한이 필요합니다. 기본적으로 새로운 UDF를 실행하는 권한은 PUBLIC에 허용됩니다. 사용을 제한하려면 함수에 대해 PUBLIC에서 이 권한을 취소합니다. 그런 다음 개인 혹은 그룹에 권한을 허용합니다.
다음 예는 PUBLIC의 f_py_greater
함수 실행 권한을 취소합니다. 그런 다음 사용자 그룹 udf_devs
에 사용 권한을 부여합니다.
revoke execute on function f_py_greater(a float, b float) from PUBLIC; grant execute on function f_py_greater(a float, b float) to group udf_devs;
기본적으로 수퍼유저는 모든 권한을 갖습니다.
자세한 내용은 GRANT 및 REVOKE 단원을 참조하세요.