You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle用户修改审计策略报ORA-01031权限不足问题咨询

Oracle跨用户修改审计策略权限缺失解决方案

问题复现场景

  • 用户user_a创建名为select_action_on_tables的审计策略,创建语句如下:
create audit policy select_action_on_tables
actions select on user_a.test_table1;
  • 管理员已为user_b授予audit_admin角色,授权语句如下:
grant audit_admin to user_b;
  • user_b执行如下语句修改该审计策略时,系统抛出ORA-01031: insufficient privileges错误,操作失败:
alter audit policy select_action_on_tables add actions select on user_a.test_table2;

权限缺失原因

audit_admin角色的默认权限仅支持用户修改、删除自身创建的审计策略,且仅能为自身schema下的对象配置审计规则。本场景中user_b要修改其他用户(user_a)创建的审计策略,还要为其他schema下的表新增审计规则,两类操作都超出了audit_admin的默认权限范围。

需要补充的必要权限

使用SYS或拥有GRANT ANY PRIVILEGE权限的管理员账号,给user_b授予以下两类权限即可:

  1. 跨用户修改审计策略的系统权限:ALTER ANY AUDIT POLICY,该权限允许用户修改数据库内所有用户创建的统一审计策略,授权语句:
    grant alter any audit policy to user_b;
    
  2. 跨schema对象审计配置权限,二选一即可:
    • 如果需要让user_b后续可以给任意schema的对象配置审计规则,授予AUDIT ANY系统权限:
      grant audit any to user_b;
      
    • 如果仅需要让user_b完成本次针对test_table2的策略修改,仅授予该表对应的对象审计权限即可,权限范围更小更安全:
      grant audit on user_a.test_table2 to user_b;
      

授权完成后user_b即可正常执行审计策略修改语句,无需重启会话。

补充说明:如果后续需要user_b能删除user_a创建的该审计策略,还需要额外授予DROP ANY AUDIT POLICY系统权限,本次修改操作不需要该权限。

内容的提问来源于stack exchange,提问作者Mich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 22:33:23