在 Oracle 中为具有特定和有限权力的特定角色授予 "GRANT" 特权

Granting "GRANT" privilege in Oracle for a specific role with a specific and limited power

假设您有一个 Oracle 用户 "A" 需要对一组包的 EXECUTE 权限。有时,不同的用户 "B" 创建了一个需要由 "A" 执行的新包。因此,作为包创建过程的一部分,"B" 必须能够授予 "A" 对新包的执行权限。 (注意:"A" 可以是用户或角色)。 重要的是 "B" 只能授予 "A" 对新包的执行权限,而不能授予任何其他用户任何其他权限。 此外,任何新的此类包都会在其名称中显示定义明确的模式,例如 "ABCD_PACK_?????????"。是否可以仅对名称以 "ABDC_PACK" 开头的包授予 "B" 对 "A" 的 GRANT 特权? 谢谢

看起来没有简单的方法来为用户定义一种自定义授权,实现我所寻找的唯一方法是实现特殊代码,打开 B 的权限,然后关闭它一旦拨款完成。然而,这种方法并没有以全面的方式解决安全问题。 如果 ORACLE 考虑增强其数据库的安全功能,特别是鉴于市场的紧缩要求,那就太好了。