在 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: