暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 数据库,Execute 权限使得用户能够调用例程

郑小雯 2023-09-07
175

执行例程的权限

Execute 权限使得用户能够调用例程。通过 EXECUTE 或 CALL 语句,或通过使用表达 式中的函数可能调用例程。下列用户拥有缺省的 Execute 权限,这使得他们能够调用例程:

• 在缺省情况下,任何具有 DBA 权限的用户都可执行数据库中的任何例程。

• 如果以限定的 CREATE DBA FUNCTION 或 CREATE DBA PROCEDURE 语句 注册该例程,则仅拥有 DBA 权限的用户对那个例程有缺省的 Execute 权限。

• 如果数据库不符合 ANSI,则用户 public(任何拥有 Connect 数据库权限的用户) 自动地拥有对例程的 Execute 权限,未以 DBA 关键字注册该例程。

• 在符合 ANSI 的数据库中,过程所有者和任何拥有 DBA 权限的用户都可执行该 例程,而无需收到附加的权限。

授予和撤销 Execute 权限

例程有下列 GRANT 和 REVOKE 要求:

• DBA 可将 Execute 权限授予数据库中的任何例程,也可撤销它。

• 例程的创建者可授予或取消对那个特定的例程的 Execute 权限。通过包括带有 GRANT EXECUTE ON 语句的 AS grantor 子句,创建者丧失授予或撤销的能力。

• 如果所有者在 GRANT EXECUTE ON 语句中应用了 WITH GRANT 关键字,则另 一用户可授予 Execute 权限。

对于下列条件,DBA 或例程所有者必须显式地将 Execute 权限授予非 DBA 用户:

• 以 DBA 关键字子句注册了的例程

• 在符合 ANSI 的数据库中的例程

• 不符合 ANSI 的数据库中的例程,但将 NODEFDAC 环境变量设置为 yes。

即使数据库服务器缺省地将权限授予 public,所有者也可限制对例程的 Execute 权限。为 此,请发出 REVOKE EXECUTE ON PUBLIC 语句。DBA 和所有者仍可执行该例程,且 如果使用的话,则可将 Execute 权限授予特定的用户。

使用 COMMUTATOR 和 NEGATOR 函数的 Execute 权限

重要: 如果您显式地授予对 SPL 函数的 Execute 权限,其为 UDR 的换向函数或否定函数, 则在被授予者可使用任意函数之前,您还必须授予对换向函数或否定函数的那种权限。您不可 随同 SPL 过程指定 COMMUTATOR 或 NEGATOR 修饰符。

下列示例演示对于函数的限制授权,以及将它的否定函数限定为一组用户。假设您创建下 列否定函数对:

CREATE FUNCTION greater(y PERCENT, z PERCENT) RETURNS BOOLEAN NEGATOR= less(y PERCENT, z PERCENT); . . . CREATE FUNCTION less(y PERCENT, z PERCENT) RETURNS BOOLEAN NEGATOR= greater(y PERCENT, z PERCENT);

在缺省情况下,任何用户都可执行该函数和否定函数。下列函数仅允许 accounting 执行这 些函数:

REVOKE EXECUTE ON FUNCTION greater FROM PUBLIC; REVOKE EXECUTE ON FUNCTION less FROM PUBLIC; GRANT accounting TO mary, jim, ted; GRANT EXECUTE ON FUNCTION greater TO accounting; GRANT EXECUTE ON FUNCTION less TO accounting;

用户可能接收附带 WITH GRANT OPTION 授权的 Execute 权限来将 Execute 权限授予 其他用户。如果用户失去对例程的 Execute 权限,则还从通过那个用户授予了 Execute 权 限的那些用户撤销 Execute 权限。

要获取更多信息,请参阅《GBase 8s SQL 指南:语法》 中的 GRANT 和 REVOKE 语句 描述。 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论