在 Oracle 18c 中,一个特殊类型的帐号被引入到数据库当中,这特特性被称为 Schema-Only 帐号,这个帐号通过 NO AUTHENTICATION 语句建立,没有密码,也就不允许直接登录,所以这种帐号类型是 纯模式类型

帐号不能直接登录也就具备了天然的安全受益:

可以强制通过应用(Application)来访问数据;

保护对象安全,例如阻止可能的误删除(DROP)操作;

Schema-Only账户具有一些限制:

不能被授予系统管理权限,如(SYSDBA、SYSASM)等;

不能通过DB Link访问;

只支持DB实例,不支持ASM实例;

针对这个特性,DBA_USERS 视图增加了一个新的字段 AUTHENTICATION_TYPE 用于标识帐号属性,当创建Schema-Only 帐号时显示为 NONE否则会显示 PASSWORD。

下面让我们通过简单的测试来看看这个新特性,首先在一个 PDB 上创建 NO AUTHENTICATION 的帐号,用户名是 enmotech:

SQL> connect / as sysdba

Connected.

SQL> select name from v$pdbs;

NAME

---------------------------------------

PDB$SEED

ORCLPDB1

SQL> alter pluggable database ORCLPDB1 open;

Pluggable database altered.

SQL> alter session set container=ORCLPDB1;

Session altered.

SQL> create user enmotech NO AUTHENTICATION;

User created.

SQL> grant create session,create any table,create any view to enmotech;

Grant succeeded.

SQL> exec print_table('select username,password,password_versions,account_status,authentication_type from dba_users where username=''ENMOTECH''');

USERNAME       : ENMOTECH

PASSWORD       :

PASSWORD_VERSIONS       :

ACCOUNT_STATUS       : OPEN

AUTHENTICATION_TYPE       : NONE

-----------------

这个帐号没有口令,自然就无法直接登录,我们可以通过用户代理来访问这个用户,代理是很早的一个数据库功能,现在有了新的作用。

我们在 ORCLPDB1 创建一个新的用户 yhem,这个用户仅有 create session 权限;

SQL> create user yhem identified by enmotech;

User created.

SQL> grant create session to yhem;

Grant succeeded.

授予用户 yhem 代理权限,通过该用户可以连接到 enmotech 这个受限用户,以下示范中 bethune 是我建立的一个 TNS 连接串名:

SQL> alter user enmotech grant connect through yhem;

User altered.

SQL> connect yhem[enmotech]/enmotech@bethune

Connected.

SQL> show user

USER is "ENMOTECH"

SQL> create table acoug (id number,name varchar2(200));

Table created.

SQL> drop table acoug;

Table dropped.

基本上,这就是新特性的基本展示,最核心的功能,是可以将 Schema-Only 用户的对象增删数据权限授予应用用户,就防范了模式用户直接访问可能带来的种种风险。

验证一下,纯模式用户不能被授予 SYSDBA 权限,其角色切换也很简单,授予密码就解除了 NO AUTHENTICATION 状态,回收SYSDBA权限才可以重新NO AUTHENTICATION 。

SQL> grant sysdba to enmotech;

grant sysdba to enmotech

*

ERROR at line 1:

ORA-40366: Administrative privilege cannot be granted to this user.

SQL> alter user enmotech identified by eygle;

User altered.

SQL> grant sysdba to enmotech;

Grant succeeded.

SQL> alter user enmotech no authentication;

alter user enmotech no authentication

*

ERROR at line 1:

ORA-40367: An Administrative user cannot be altered to have no authentication

type.

SQL> revoke sysdba from enmotech;

Revoke succeeded.

SQL> alter user enmotech no authentication;

User altered.

当然也可以在 CDB 中创建 COMMON 用户,指定其为 NO AUTHENTICATION :

SQL> connect / as sysdba

Connected.

SQL> create user c##enmo no authentication;

User created.

SQL> set serveroutput on

SQL> exec print_table('select con_id,username,authentication_type from cdb_users where username=''C##ENMO''');

CON_ID       : 1

USERNAME       : C##ENMO

AUTHENTICATION_TYPE       : NONE

-----------------

CON_ID       : 3

USERNAME       : C##ENMO

AUTHENTICATION_TYPE       : NONE

-----------------

至于这个小特性在实践中是否能发挥作用,大家可以留言表达一下各自的观点。

了解云时代数据变革,欢迎参加 11.16 ~ 11.17 在北京举行的『第八届数据技术嘉年华大会』,限时注册报名享受到场退费0元享活动

时间:2018年11月16日-17日(周五、周六)

地址:北京市东三环中路61号富力万丽酒店

超值赠送(限时优惠)

本次大会由 云和恩墨 鼎力支持,恰逢云平台【墨天轮】上线开放,注册云服务平台,您将可以得到大会『免费』参会的限时礼遇 + 云服务大礼包

注册获赠服务礼包:价值 ¥20000 云服务优惠券;

限时购票参会返还:现场参会即原路退还全部购票费用(仅限单价99元票种

注:退款在会后5个工作日内完成。


请扫描以下二维码,在网站完成注册即可购买限时优惠门票,并获赠云服务大礼包:

Oracle 18c新特性:Schema-Only 帐号提升应用管理安全性相关推荐

  1. Oracle 18c新特性:多租户舰队 CDB Fleet

    Oracle 18c新特性:多租户舰队 CDB Fleet 在 Oracle 18c 中,多租户的一个新特性 CDB Fleet 被引入进来,我们可以把这个特性称为:多租户舰队.(关注本公众号: Or ...

  2. oracle18c升级19,Oracle 18C新特性测试之滚动升级

    原标题:Oracle 18C新特性测试之滚动升级 7月24日Oracle 18c通用版本正式对外发布后,三墩IT人在第一时间选取了Oracle 18c PDB在数据同步.迁移.切换方面的三项新功能的测 ...

  3. Oracle 18c 新特性:动态 Container Map 增强 Application Container 灵活性

    数据技术嘉年华等你来 活动预告:11.16-17日,北京市东三环中路61号富力万丽酒店,相聚数据技术嘉年华,(99元票务)免费购票倒计时,点击查看大会详情. 盖老师带来主题"稳筑基石,云帆万 ...

  4. Oracle 18c 新特性之CDB航母

    给用户介绍Oracle多租户新特性时,多次忍不住将CDB比喻为航母,PDB则是停靠之上的舰载机.没想到18c竟然出了航母战斗群,^_^ 18c中引入了CDB fleet新特性,能够实现以下的功能: 扩 ...

  5. Oracle 18c新特性详解-多租户专题

    Oracle 18c,传说中全球第一款自动驾驶数据库,正式到来.18c不仅仅是数据库,更是一种云服务,包括着Oracle数据库18c,Oracle云基础架构和Oracle云工具,机器学习,能够实现自治 ...

  6. Oracle 18c新特性-Memoptimized Rowstore(内存优化的行存储)

    1.      说明 从18c开始支持Memoptimized Rowstore,可用于提高查询性能.针对频繁基于主键查询的SQL语句的性能提高十分明显. 其是通SGA中的已一块存储区,叫memopt ...

  7. Oracle 18c 新特性-在线合并分区和子分区

    说明 从18c开始支持在线合并分区或子分区,但不能合并引用分区表的分区.相反,父表上的合并操作将级联到所有子表.但是,当在主表上执行合并操作以合并分区或子分区时,可以使用dependency子句为从属 ...

  8. 专家视角 | 小荷的 Oracle Database 18c 新特性快速一瞥

    作者介绍:何剑敏  大疆创新 互联网事业部 运维部数据库技术团队负责人,曾供职于中国联通,卓望数码,IBM 和 ORACLE ACS 华南团队.多年从事一线的数据库运维工作,有丰富项目经验.维护经验和 ...

  9. Oracle 11gR2新特性--延迟段创建(Deferred Segment Creation)和exp不能导出空表

    Oracle 11gR2新特性--延迟段创建(Deferred Segment Creation)和exp不能导出空表 真题1. 什么是延迟段创建(Deferred Segment Creation) ...

最新文章

  1. linux下安装navicat并生成桌面图标
  2. bash中将字符串split成数组的方法
  3. APP签名MD5获取
  4. Windows C++界面库
  5. 高清人脸数据集汇总 (主要用于人脸生成、分割任务)
  6. mysql经纬度与度分秒转换
  7. 两个点 定位_智造讲堂:RFID定位导航技术
  8. 谈谈量化交易的一些“深坑”
  9. 学生信息管理系统之 查询学籍信息流程
  10. 手机维修刷机专业论坛:天目通移动维修论坛
  11. c语言魔除,菜鸟学编程(C语言版)
  12. t3网络计算机是空白,用友T3登录界面服务器那一行是空白的?
  13. JAVA--利用Filter和session防止页面重复提交
  14. w10计算机运行特别卡,Win10电脑运行卡死怎么办?Win10电脑卡死的解决方法
  15. 拜登承诺将把GDP的“近2%”用于科学研究;机器学习显示出增强量子信息传输的潜力|全球量子科技与工业快讯第十四期
  16. 微信seo搜索精准引流怎么做呢?(案例效果图)
  17. 深圳注册公司可以异地办公吗
  18. 国企单位软考高级是否值得备考?
  19. OPENMV结合PIX飞控实现四轴定点 循迹 2017电赛
  20. camera基础知识点笔记

热门文章

  1. 如何使用Python Flask编写Web服务
  2. 压缩包加密后门_加密后门:还有更多争论吗?
  3. 前端:HTML5/36/HTML5简介,文档类型定义,网页字符集,页面结构标记,文章相关的标记,其它标记,音频标记,视频标记,表单中新增的属性,表单input元素type属性的值
  4. Bootstrap Page header
  5. 修复 IE 的文本3像素偏移Bug
  6. 三菱socket通信实例_三菱QUnCPU内置以太网Socket通信(TCP篇)
  7. hmac sha256安全吗_全面普及HTTPS有意义吗?
  8. win8计算机如何取消系统更新,Win7/Win8电脑如何去掉Win10升级提示
  9. map文件分析 stm32_使用STM32内部Flash额外的空间来存储数据
  10. (专题四)01 二维曲线