• 数据库级别的审计


    审计: 跟踪数据库中的可以操作

    超级用户的审计

    超级用户有三种操作一定会被审计:

    • 超级用户的连接
    • 数据库的启动
    • 数据库的停止

    打开超级用户的额外审计:

    alter system set audit_sys_operation=true scope=spfile;

    超级用户审计的跟踪文件记录在哪里?

    1. show parameter audit_file_dest
    2. SQL> show parameter audit_file_dest
    3. NAME TYPE VALUE
    4. ------------------------------------ ----------- ------------------------------
    5. audit_file_dest string /u01/app/oracle/admin/cdb1/adu
    6. mp
    7. SQL>

    普通用户的审计:

    普通用户审计的线索记录在哪里?

    audit_trail=DB --> 使用数据字典aud$记录审计的线索

    audit_trail=OS --> 使用audit_file_dest指向的目录保存审计文件

    打开语句审计:

    • audit delete table; -->会话级成功,失败都审计
    • audit delete table whenever sucessful; --> 会话级成功
    • audit delete table whenever not sucessful; --> 会话级失败
    • audit delete table by access; --> 访问级成功、失败都审计
    • audit delete table by access whenever successful; --> 访问级成功
    • audit delete table by access whenever not successful;--> 访问级失败
    1. audit delete table by scott;
    2. audit delete table by scott whenever successful;
    3. audit delete table by scott whenever not successful;
    4. audit delete table by scott by access;
    5. audit delete table by scott by access whenever successful;
    6. audit delete table by scott by access whenever not sucessful;

    查看哪些语句已经被打开了审计:

    1. SQL>
    2. SQL> select audit_option,success,failure from dba_stmt_audit_opts where user_name='SCOTT';
    3. no rows selected
    4. SQL>

    查看审计线索

    1. SQL> delete aud$;
    2. 1 row deleted.
    3. SQL> commit;
    4. Commit complete.
    5. SQL> select * from aud$;
    6. no rows selected

    查看操作代码对应的操作名称:

    select name from audit_actions where action=1;

    关闭语句审计:

    noaudit delete table by scott;
    exec print_table('select * from aud$ where userid="SCOTT"');
    

    特权审计: 刚刚打开的审计对已持续的连接无效!!

    audit create any table by scott;

    查看特权审计:

    select PRIVILEGE,SUCCESS,FAILURE from dba_priv_audit_opts where user_name='SCOTT';

    对象审计:在具体某一个对象上面打开的审计选项

    1. audit delete on scott.emp;
    2. audit insert on scott.emp by access whenever not successful;
    1. SQL>
    2. SQL> select audit_option,success,failure from dba_stmt_audit_opts;
    3. no rows selected
    4. SQL>

  • 相关阅读:
    【初识C语言】/*有关C语言函数部分细节展示*/
    跳舞机游戏-第13届蓝桥杯Scratch选拔赛真题精选
    机器学习总结(一)——回归问题概述
    java毕业设计大学生备考平台Mybatis+系统+数据库+调试部署
    Koa2基础笔记
    前端简单的爱心形状
    使用HBuilder X开发Vue3+node+element-plus(一)
    【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(8 月 28 日论文合集)
    内核编译 --- 链接器
    hive入门到魔改-阶段一(hive概念&安装&初步使用)
  • 原文地址:https://blog.csdn.net/u011868279/article/details/128193827