前言:
现时姐妹们对“plsql登陆提示ora01017”大体比较关怀,姐妹们都需要了解一些“plsql登陆提示ora01017”的相关文章。那么小编同时在网上搜集了一些有关“plsql登陆提示ora01017””的相关内容,希望小伙伴们能喜欢,看官们一起来学习一下吧!关键字(Keyword):19c 数据库安全 新特性 Schema Only Accounts
本文目录:
User(用户) VS Schema(模式)Schema Only Accounts (18c)Schema Only Accounts测试例 (18c)配置single session proxy方式访问Schema Only Accounts (19c)Schema Only Accounts测试例(19c)User(用户) VS Schema(模式)
首先我们明确一下User(用户)和Schema(可以翻译成模式,但是交流中基本上都使用英文)的概念。
User(用户)可以理解为访问数据库的账号,用于标识一系列的权限(Privileges),角色(Roles )定义等,可以包括系统管理用户(administrative user accounts 如sys,system)和应用程序用户(application users 如用户自己创建的用户)。
Schema(模式)可以理解为数据库对象的集合,包含如:表、视图、存储过程、索引等各种对象。
在Oracle数据库中每个User(用户)都默认拥有一个缺省Schema,并且schema名等于用户名,所以Schema看上去和用户名一样。
下面是官方文档中的一个例子,HR用户拥有一个HR schema,在HR schema中包含了employees表,索引等对象。
参考:(本文中链接为缩短的网址)
Release 19 Database Concepts;User Accounts;Introduction to Schema Objects;Schema ObjectsSchema Only Accounts (18c)
为了更好的数据库安全角度考虑,18c 开始可以创建Schema Only的账户,这种账户可以仅保存数据对象,不允许客户端直接连接(但可以使用single session proxy方式连接)。
Schema Only的账户主要特性如下:
・可以根据需要,分配给这些帐户密码,使其变成普通账户・该特性适用于管理员帐户,也适用于非管理员帐户。・这些帐户只能在数据库实例上创建,而不能在ASM中创建・可以授予系统特权(例如CREATE ANY TABLE)和管理员角色(例如DBA)・可以根据授予它们的特权来创建表或过程之类的对象。・可以使用single session proxy方式配置代理身份验证进行连接。
Schema Only的账户无法通过DB Linke连接,并且在18c版本中无法授予SYSDBA,SYSOPER,SYSBACKUP,SYSKM,SYSASM,SYSRAC,SYSDG管理员权限。
参考:
Release 18 Security Guide ;Schema Only AccountsSchema Only Accounts测试例 (18c)
--1. 创建Schema Only Account--create user <username> no authentication;例:SQL> create user test no authentication;--确认用户信息SQL> select username,account_status,authentication_type from dba_users where username='TEST'; USERNAME ACCOUNT_STATUS AUTHENTI ------------------------- -------------------- -------- TEST OPEN NONE★--2.修改Schema Only Account为普通用户--alter user <username> identified by <password>;例:SQL> alter user test identified by test;SQL> grant dba to test;--确认用户信息SQL> select username,account_status,authentication_type from dba_users where username='TEST'; USERNAME ACCOUNT_STATUS AUTHENTI ------------------------- -------------------- -------- TEST OPEN PASSWORD★--测试连接SQL> conn test/testConnected.--3. 修改普通用户为Schema Only Account--alter user <username> no authentication;例:SQL> conn / as sysdbaSQL> alter user test no authentication;--确认用户信息SQL> select username,account_status,authentication_type from dba_users where username='TEST'; USERNAME ACCOUNT_STATUS AUTHENTI ------------------------- -------------------- -------- TEST OPEN NONE--测试Schema Only Account连接,会报错SQL> conn test/testERROR:ORA-01017: invalid username/password; logon deniedWarning: You are no longer connected to ORACLE.--4. 18c 版本,将sysdba等管理用户赋予Schema Only Account 会报错SQL> conn / as sysdbaSQL> grant sysdba to test;grant sysdba to test*ERROR at line 1:ORA-40366: Administrative privilege cannot be granted to this user.配置single session proxy方式访问
配置single session proxy方式访问的方法如下:
conn / as sysdba--设置通过代理用户访问alter user <用户> grant connect through <代理用户>;conn <代理用户>[<用户>]/<代理用户密码>show user
测试例:(配置single session proxy)
--创建代理用户SQL> create user proxy_user identified by proxy_pass;SQL> grant create session to proxy_user;--设置可以通过代理用户访问testSQL> alter user test grant connect through proxy_user;--连接测试SQL> conn proxy_user[test]/proxy_passSQL> show userUSER is "TEST"Schema Only Accounts (19c)
19c 对Schema Only Accounts特性进行了加强,新增加了如下内容:
取消了无法授予管理员权限的限制,将sysdba等管理用户赋予Schema Only Account。为了更强的安全性,除sys,system的预定义用户都默认设置为Schema Only AccountsSchema Only Accounts测试例(19c)
--1. 19c 版本,可以将sysdba等管理用户赋予Schema Only Accountconn / as sysdbaSQL> grant sysdba to test;Grant succeeded.--2. 预定义用户的authentication_type变成NONESQL> select username,account_status,authentication_type,oracle_maintained from dba_users order by authentication_type;USERNAME ACCOUNT_STATUS AUTHENTI O----------------------- ----------------- -------- -LBACSYS LOCKED NONE YGSMCATUSER LOCKED NONE YAUDSYS LOCKED NONE YOLAPSYS LOCKED NONE YGGSYS LOCKED NONE YDIP LOCKED NONE YSYSRAC LOCKED NONE YSYSBACKUP LOCKED NONE YORDSYS LOCKED NONE YREMOTE_SCHEDULER_AGENT LOCKED NONE YDVF LOCKED NONE YDBSNMP LOCKED NONE YGSMADMIN_INTERNAL LOCKED NONE YMDSYS LOCKED NONE YXDB LOCKED NONE YWMSYS LOCKED NONE YOUTLN LOCKED NONE YDBSFWUSER LOCKED NONE YDVSYS LOCKED NONE YAPPQOSSYS LOCKED NONE YGSMUSER LOCKED NONE YMDDATA LOCKED NONE YSI_INFORMTN_SCHEMA LOCKED NONE YORDDATA LOCKED NONE YSYS$UMF LOCKED NONE YGSMROOTUSER LOCKED NONE YOJVMSYS LOCKED NONE YSYSDG LOCKED NONE YSYSKM LOCKED NONE YORACLE_OCM LOCKED NONE YORDPLUGINS LOCKED NONE YCTXSYS EXPIRED & LOCKED PASSWORD YANONYMOUS EXPIRED & LOCKED PASSWORD YXS$NULL EXPIRED & LOCKED PASSWORD YSYS OPEN PASSWORD YSYSTEM OPEN PASSWORD Y
参考:
Release 19 Security Guide Only Accounts ;Default User Accounts Now Schema Only;Ability to Grant or Revoke Administrative Privileges to and from Schema-Only Accounts ;Predefined Schema User Accounts Provided by Oracle Database
标签: #plsql登陆提示ora01017