Oracle 过程 - 调用者权利与所有者权利
Oracle procedure - invoker right vs owner rights
我有在模式 (schemaA) 中创建的过程 (procedureA)。 SchemaA 用户没有任何权限,仅授予 CONNECT 角色。 ProcedureA 负责授予 select,alter,update... 其他模式中特定 table 的特权给特定用户。我在 oracle 文档 (How Procedure Privileges Affect Invoker's Rights) 中读到的是该过程使用所有者权限,现在我不明白 sys 用户如何调用该过程,因为 schemaA 用户没有任何权限。 ProcedureA 是在没有 AUTHID CURRENT_USER 的情况下创建的。执行procedureA后权限被正确授予。
谢谢
在 Paul Wright 的 "Protecting Oracle Database 12c" 中,第 91 页的 SYSDBA 网络钓鱼下指出,如果调用定义者权限过程,SYSDBA 的权限将通过。 (在 Google 本书中找到)
如果这是真的,那么当您将帐户用作 SYSDBA 时(自动使用 SYS 的情况),其他模式中的过程 运行 具有调用者权限,即使未定义也是如此。
我有在模式 (schemaA) 中创建的过程 (procedureA)。 SchemaA 用户没有任何权限,仅授予 CONNECT 角色。 ProcedureA 负责授予 select,alter,update... 其他模式中特定 table 的特权给特定用户。我在 oracle 文档 (How Procedure Privileges Affect Invoker's Rights) 中读到的是该过程使用所有者权限,现在我不明白 sys 用户如何调用该过程,因为 schemaA 用户没有任何权限。 ProcedureA 是在没有 AUTHID CURRENT_USER 的情况下创建的。执行procedureA后权限被正确授予。
谢谢
在 Paul Wright 的 "Protecting Oracle Database 12c" 中,第 91 页的 SYSDBA 网络钓鱼下指出,如果调用定义者权限过程,SYSDBA 的权限将通过。 (在 Google 本书中找到)
如果这是真的,那么当您将帐户用作 SYSDBA 时(自动使用 SYS 的情况),其他模式中的过程 运行 具有调用者权限,即使未定义也是如此。