UDF 安全性和权限 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

UDF 安全性和权限

要创建 UDF,您必须具有使用 SQL 或 plpythonu (Python) 语言的权限。默认情况下,向 PUBLIC 授予 USAGE ON LANGUAGE SQL 权限,但是,您必须明确授予 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,您必须拥有每个函数的执行权限。预设情况下,向 PUBLIC 授予运行新 UDF 的权限。要限制使用,请从 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;

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

有关更多信息,请参阅 GRANTREVOKE