0

我有在模式 (schemaA) 中创建的过程 (procedureA)。SchemaA 用户没有任何特权,仅授予 CONNECT 角色。ProcedureA 负责将其他模式中特定表的选择、更改、更新...权限授予特定用户。我在 oracle 文档(过程权限如何影响调用者的权限)中读到的是该过程使用所有者权限,现在我不明白 sys 用户如何调用此过程,因为 schemaA 用户没有任何权限。过程 A 是在没有 AUTHID CURRENT_USER 的情况下创建的。执行 procedureA 后,权限被正确授予。

谢谢

4

1 回答 1

1

在 Paul Wright 在第 91 页的 SYSDBA 网络钓鱼下的“保护 Oracle 数据库 12c”中指出,如果调用定义者的权限过程,则 SYSDBA 的权限将通过。(可在 Google 图书中找到)

如果这是真的,那么当您将帐户用作 SYSDBA 时(就像 SYS 自动使用的情况一样),即使未定义,其他模式中的过程也会以调用者权限运行。

于 2015-03-10T16:51:45.793 回答