文章目录

  • 快速搞懂19c 数据库安全新特性 (二) Privilege Analysis(权限分析)
    • 为什么需要权限分析功能
    • 各版本的功能演进
    • 如何使用Privilege Analysis(权限分析)
    • Privilege Analysis(权限分析)测试例

快速搞懂19c 数据库安全新特性 (二) Privilege Analysis(权限分析)

为什么需要权限分析功能

权限分析可以动态分析Oracle用户的各种权限(privileges)和角色(Role)的使用/不使用情况进行跟踪、分析、生成使用报告,从而帮助用户在满足业务需求的前提下,实现配置数据库时的权限(privileges)和角色(Role)精细化管理,提高应用程序和数据库操作的安全性。

▲来源:https://blog.csdn.net/lqx0405/article/details/52242499

参考:(以后的链接为处理过的短网址)

Release 19 Security Guide
http://dwz.date/abwx
>5 Performing Privilege Analysis to Find Privilege Use

各版本的功能演进

随着Oracle版本的更新,Privilege Analysis(权限分析)也不断地变化:

・版本12.1:Enterprise Edition版本中推出Privilege Analysis(权限分析),但作为Database Vault高级安全选项之一,是需要额外的授权的。

・版本12.2:对该功能进行了加强
- 能够捕获更多的权限使用状况
-能够捕获权限的未使用状况
-能够多次运行捕获策略

・版本18c:使用该功能不再需要额外的授权

・版本19c:该功能不再作为高级安全选项,作为一般安全功能。
(该变化本质上对用户并没有什么影响)

参考:

Release 18 Administrator's Guidehttp://dwz.date/abw7
>Changes in Oracle Database Vault 12c Release 2 (12.2)
>Privilege Analysis EnhancementsRelease 18 Database Licensing Information User Manual
http://dwz.date/abwN
>Table 1-10 Security Release 19 Database New Features Guide
http://dwz.date/abwT
>Privilege Analysis Now Available in Oracle Database Enterprise Edition

如何使用Privilege Analysis(权限分析)

权限分析功能可以通过Oracle Enterprise Manager Cloud Control 或DBMS_PRIVILEGE_CAPTURE程序包来进行调用。
为了使用DBMS_PRIVILEGE_CAPTURE程序包,以及使用数据字典视图来确认相关信息,需要赋予用户CAPTURE_ADMIN角色。

进行权限分析的具体步骤如下:

1.根据业务需求,创建权限分析策略。
2.启用策略,开始捕获权限使用情况。
3.禁用策略,停止捕获权限使用情况。
4.生成权限分析结果。

在创建权限分析策略(DBMS_PRIVILEGE_CAPTURE.CREATE_CAPTURE)时,
可以指定权限分析的类型以实现特定目标,权限分析的类型如下:

G_DATABASE:基于数据库范围的权限分析(SYS权限除外)。
G_ROLE:基于角色(Role)的权限分析。
G_CONTEXT:基于上下文(根据条件)的权限分析。
G_ROLE_AND_CONTEXT:基于角色和上下文的权限分析。

参考:

Release 19 PL/SQL Packages and Types Reference
http://dwz.date/abyu
>126 DBMS_PRIVILEGE_CAPTURE

Privilege Analysis(权限分析)测试例


--1.创建用户conn / as sysdba
set echo on
set termout on --创建分析用户
drop user cap_user cascade;
create user cap_user identified by cap_user;
grant connect,resource to cap_user;
grant capture_admin to cap_user;--创建测试用户
drop user test_priv cascade;
create user test_priv identified by test_priv;
grant connect,resource to test_priv;
grant SELECT ANY TABLE to test_priv;--2.定义权限分析策略
--DBMS_PRIVILEGE_CAPTURE.CREATE_CAPTURE
--G_DATABASE,G_ROLE,G_CONTEXT,G_ROLE_AND_CONTEXTconn cap_user/cap_user--2-1 SYS_CONTEXT 权限分析
--如果存在的话删除存在的分析策略
EXEC DBMS_PRIVILEGE_CAPTURE.DROP_CAPTURE ('Context Based Policy');BEGINDBMS_PRIVILEGE_CAPTURE.CREATE_CAPTURE(name           => 'Context Based Policy',description    => 'Context Based Policy test',type           => DBMS_PRIVILEGE_CAPTURE.G_CONTEXT,condition      => 'SYS_CONTEXT(''USERENV'', ''SESSION_USER'')=''TEST_PRIV''');END;
/--3. 启用策略BEGINDBMS_PRIVILEGE_CAPTURE.ENABLE_CAPTURE (name       => 'Context Based Policy',run_name   => 'Context_Based_Policy_first_run');END;
/---确认分析策略
col NAME format a20
SELECT NAME, TYPE, ENABLED FROM DBA_PRIV_CAPTURES;SQL> SELECT NAME, TYPE, ENABLED FROM DBA_PRIV_CAPTURES;NAME                 TYPE             E-------------------- ---------------- -Context Based Policy CONTEXT          Y★ORA$DEPENDENCY       DATABASE         N--4.使用测试用户执行一些操作 (监测对象)
conn test_priv/test_priv
select * from dual;--5. 禁用策略
conn cap_user/cap_userEXEC DBMS_PRIVILEGE_CAPTURE.DISABLE_CAPTURE ('Context Based Policy');--6.生成权限分析报告BEGINDBMS_PRIVILEGE_CAPTURE.GENERATE_RESULT (name      => 'Context Based Policy',run_name  => 'Context_Based_Policy_first_run');END;/--7.查看权限分析报告
--DBA_USED_{PRIVS|SYSPRIVS|OBJPRIVS}
--DBA_UNUSED_{PRIVS|SYSPRIVS|OBJPRIVS}--7.1 使用的权限分析报告
set linesize 200
set pagesize 200
col SYS_PRIV format a20
col OBJECT_OWNER format a20
col OBJECT_NAME format a30
col RUN_NAME format a30SELECT SYS_PRIV, OBJECT_OWNER, OBJECT_NAME, RUN_NAME FROM DBA_USED_PRIVSWHERE USERNAME = 'TEST_PRIV';SYS_PRIV             OBJECT_OWNER         OBJECT_NAME                    RUN_NAME-------------------- -------------------- ------------------------------ ------------------------------SYS                  DUAL                           CONTEXT_BASED_POLICY_FIRST_RUNSYS                  DUAL                           CONTEXT_BASED_POLICY_FIRST_RUNCREATE SESSION                                                           CONTEXT_BASED_POLICY_FIRST_RUNSYS                  DBMS_APPLICATION_INFO          CONTEXT_BASED_POLICY_FIRST_RUN--7.2 未使用的权限分析报告
col OBJ_PRIV format a20
col PATH format a60
SELECT SYS_PRIV, OBJ_PRIV, OBJECT_NAME, PATH FROM DBA_UNUSED_PRIVS
WHERE CAPTURE = 'Context Based Policy';SYS_PRIV             OBJ_PRIV             OBJECT_NAME                    PATH-------------------- -------------------- ------------------------------ ------------------------------------------------------------SELECT ANY TABLE                                                         GRANT_PATH('TEST_PRIV')SET CONTAINER                                                            GRANT_PATH('TEST_PRIV', 'CONNECT')CREATE INDEXTYPE                                                         GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE OPERATOR                                                          GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE TYPE                                                              GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE TRIGGER                                                           GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE PROCEDURE                                                         GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE SEQUENCE                                                          GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE CLUSTER                                                           GRANT_PATH('TEST_PRIV', 'RESOURCE')CREATE TABLE                                                             GRANT_PATH('TEST_PRIV', 'RESOURCE')READ                 JSON$USER_COLLECTION_METADATA  GRANT_PATH('TEST_PRIV', 'RESOURCE', 'SODA_APP')EXECUTE              DBMS_SODA_ADMIN                GRANT_PATH('TEST_PRIV', 'RESOURCE', 'SODA_APP')EXECUTE              DBMS_SODA_USER_ADMIN           GRANT_PATH('TEST_PRIV', 'RESOURCE', 'SODA_APP')13 rows selected.

相关阅读:
快速搞懂19c 数据库安全新特性 (一)Schema Only Accounts

快速搞懂Oracle 19c安全新特性 (二) Privilege Analysis(权限分析)相关推荐

  1. 资源放送丨Oracle 20C DataGuard 新特性解读PPT视频

    前段时间,墨天轮分享了云和恩墨高级工程师 章芋文 带来的直播< Oracle 20C DataGuard 新特性解读>,在这里我们共享一下PPT和视频,供大家参考学习. 从Oracle官方 ...

  2. 一文快速搞懂Kudu到底是什么

    文章目录 引言 文章传送门: Kudu 介绍 背景介绍 新的硬件设备 Kudu 是什么 Kudu 应用场景 Kudu 架构 数据模型 分区策略 列式存储 整体架构 Kudu Client 交互 Kud ...

  3. Oracle 12.2 新特性:在线PDB数据库克隆(Pluggable Hot Clone)

    Oracle 12.2 新特性:在线PDB数据库克隆(Pluggable Hot Clone) 在Oracle 12c的多租户(Multitenant)特性中,可以通过灵活的克隆复制来创建PDB(Pl ...

  4. 5个品牌案例,6张优质模板,帮你快速搞懂「商业模式画布」!

    新入职.新行业,新人如何快速搞懂它的业务模式?新领域.新业务,投资人如何快速搞明白一个公司?新商机.新模式,创业者如何快速一个业务的商业前景? 推荐大家使用商业模式画布,它可以让你轻松看透商业模式.对 ...

  5. zhs16gbk对应mysql_[Oracle] 彻底搞懂Oracle字符集

    基本概念字符集(Character set):是一个系统支持的所有抽象字符的集合.字符是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等.常见的字符集有ASCII,ZHS16GB231 ...

  6. 快速搞懂平面设计视觉思维的窍门

    在这个商业氛围很浓的社会中,各种设计海报让人眼花缭乱,如何脱颖而出?需要靠设计的视觉冲击力.所以做平面设计中,要掌握好视觉设计思维,才能更胜一筹.这里给大家讲几个小窍门,让你们快速搞懂平面设计视觉思维 ...

  7. oracle 12c dg新特性,oracle 12c:新特性-网格(Grid)基础架构的增强

    oracle 12c:新特性-网格(Grid)基础架构的增强,传统标准集群和Flex集群. Flex 集群 Oracle 12c 在集群安装时支持两类配置:传统标准集群和Flex集群.在一个传统标准集 ...

  8. oracle result_cache_max_size,oracle database 11g新特性之设置result cache-Oracle

    oracle database 11g新特性之设置result  cache oracle database 11g 新特性 之设置 result  cache 如果系统以前没有使用过result c ...

  9. oracle exp 00006,Oracle 12.1新特性----使用RMAN从备份中实现recover table

    Oracle 12.1新特性----使用RMAN从备份中实现recover table 发布时间:2020-06-26 19:41:44 来源:51CTO 阅读:4750 作者:hbxztc 在Ora ...

  10. 五月数据库技术通讯丨Oracle 12c因新特性引发异常Library Cache Lock等待

    每月关注:35页数据库技术干货,汇总一个月数据库行业热点事件.新的产品特性,包括重要数据库产品发布.警报.更新.新版本.补丁等. 亲爱的读者朋友: 为了及时共享行业案例,通知共性问题,达成共享和提前预 ...

最新文章

  1. Opencv 使用cv2改变视频分辨率和尺寸
  2. 5G NGC — 会话管理模型 — 基于 Flow 的 QoS 模型
  3. 黑马程序员Linux系统开发视频之mmap使用注意事项
  4. HDOJ2000(ASC||码排序)【sort函数】
  5. MyBatis结果集处理,中resultType和resultMap的区别
  6. [硬核干货]由0到1,突破信息系统项目管理师(呕心沥血经验之谈)!!!
  7. 同款蓝牙耳机为什么会串联_为什么蓝牙耳机不能两个同时使用
  8. MQTT网关是什么?
  9. python转换word到html,Python实现批量将word转html并将html内容发布至网站的方法
  10. 第三方CNAS验收评测的重要意义
  11. UE4 DataAsset 的使用
  12. nmbd samba中文
  13. 程序员该如何学习技术
  14. CSS3实现圆圈动态发光特效动画
  15. 用服务器建立个人网站
  16. 浅谈卡尔曼滤波(Kalman Filter)(一)
  17. linux人必须知道之人
  18. CSS入门教程——字体
  19. VLAN的划分方法有哪些?
  20. Android学习笔记之别踩白块(简易版:狂踩黑块)

热门文章

  1. ps如何图片调色教程及ps有哪些好用的调色滤镜插件
  2. 小米编程真题:风口的猪-中国牛市
  3. 性能测试——jmeter性能测试——重点—核心——线程组、Ramp-Up Period、Loop Count 次采样...
  4. 清理C盘垃圾文件的方法
  5. Stellarium Windows/Linux编译记录
  6. 局域网ip冲突检测工具_只需一台Android设备就能打通局域网内部通讯:文字聊天与文件传输...
  7. Product UVA - 10106(大数乘法)
  8. Flixel横板游戏制作教程(二)— AddingPlayer
  9. flashfxp 命令行
  10. 证明彼得森图不是平面图