Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

UDF 安全性和权限

要创建 UDF,您必须具有使用 SQL 或 plpythonu (Python) 语言的权限。默认情况下,向 PUBLIC 授予 USAGE ON LANGUAGE SQL 权限,但是,您必须明确授予 USAGE ON LANGUAGE PLPYTHONU 权限才能指定用户或组。

要撤销 SQL 的使用权限,请先从 PUBLIC 撤销使用权限。然后,仅向允许创建 SQL UDF 的特定用户或组授予 SQL 使用权限。以下示例从 PUBLIC 撤销对 SQL 的使用权限。然后它会向用户组 udf_devs 授予使用权限。

Copy
revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;

要执行 UDF,您必须拥有每个函数的执行权限。默认情况下,向 PUBLIC 授予新 UDF 的执行权限。要限制使用,请从 PUBLIC 撤销函数的执行权限。然后向特定的个人或组授予权限。

以下示例从 PUBLIC 撤销对函数 f_py_greater 的执行权限。然后它会向用户组 udf_devs 授予使用权限。

Copy
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;

默认情况下,超级用户拥有全部权限。

有关更多信息,请参阅 GRANTREVOKE