Oracle用户身份认证方式

数据库身份认证

数据库身份认证比较好理解,就是数据库用户口令以加密的方式保存在数据库内部,当用户连接数据库时必须输入用户名和密码,通过数据库认证后才可以登录到数据库。例如,创建一个数据库认证的用户,语句为:

SQL> create user hxy4 identified bysys123; // 通过by这个关键字来确定认证方式为数据库身份认证

User created.

为此,数据库必须处于打开状态

--数据库身份认证:Oracle认证认为操作系统用户是不可信任的,如果要访问数据库,必须进行再次认证。

外部身份认证

--操作系统认证:oracle认为操作系统用户是可靠的,即既然能登陆到操作系统那么oracle数据库你也能登陆(即为操作系统用户提供的一种登陆方式

当用户试图建立与数据库的连接时,数据库不会要求用户输入口令和用户名

——如果使用外部身份验证创建用户账户,Oracle 会将身份验证委托给外部服务。它不会提示输入口令。如果为启用 Advaned Security 选项,则唯一可以使用得外部身份验证方形式是操作系统身份验证。此技术使用与操作系统用户账户同样的名称创建 Oracle 用户账户,但在前面加OS_AUTHENT_PREFIX 实例参数指定的字符串。此参数默认为 OPS$ 字符串。可以用下列语句查询:

 

SQL> show parameter os_authent_prefix

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix                    string      ops$
SQL> 

或者:
SQL> select value from v$parameter where name='os_authent_prefix'
  2  /

VALUE
--------------------------------------------------------------------------------
ops$

 

创建外部操作系统身份验证的用户很简单,假如有一个操作系统用户名为 dragon,则:

对于 LINUX 系统:
   create user ops$dragon identified externally;
对于 WINDOWS 系统,假如登陆 ID 是 Dragon,域名是 MIS:
   create user "OPS$MIS\DRAGON" identified externally;

创建好用户后,以 dragon 身份登录到操作系统,然后在直接输入:sqlplus / 进行登录并连接到数据库。

相关推荐