码迷,mamicode.com
首页 > 其他好文 > 详细

管理用户安全性

时间:2017-10-15 11:29:40      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:file   引用   tin   img   用户   creat   时间   limits   创建   


第1 章数据库用户管理


【学习目标】


         Oracle 数据库用户是数据库安全机制的一种,通过它可管理数据库对象的所有权和访问 权限。本章主要内容是介绍Oracle 数据库用户、模式(Schema)的概念,数据库用户的身 份验证机制,以及如何创建和管理数据库用户。

【本章要点】
? 了解ORACLE 验证方式
? 使用概要文件
? 创建、修改和删除数据库用户
? 获取数据库用户信息


【关键术语】


Schema (模式、用户、方案、纲要) Quota 配额
Database authentication 数据库验证Operating system authentication 操作系统验证
Profiles 概要文件Password limits 口令限制
Resource limits 资源限制Default profile 默认概要文件
Password expiration 口令失效Password verification 口令验证
Password grace time 口令失效宽限时间

1.1 用户与安全


1.1.1 数据的安全访问


            Oracle 数据库的安全包括在对象级控制数据库访问和使用的机制,这是通过数据库用户 来实现的,数据库用户是定义在数据库中的一个名称,它是存取数据库中信息的通道,是 Oracle 数据库的基本访问控制机制。 要访问数据库,用户必须指定有效的数据库用户帐户,而且还要根据该用户帐户的要求 成功通过验证。每一个数据库用户都有自己的数据库帐户。这是Oracle 的最佳实践建议, 这样可避免存在潜在的安全漏洞,为特定的审计活动提供有意义的数据。但是,在极少数情 况下,若干用户会共享一个公用数据库帐户。此时,操作系统和应用程序必须为数据库提供足够的安全性。


            数据安全策略决定哪个用户访问特定模式对象,在对象上允许每个用户的特定类型操 作。用户在访问Oracle 数据库时必须提供一个数据库帐户,只有合法身份的用户才能够访 问数据库。
            在Oracle 数据库中,每个数据库用户有一系列安全属性,见图13-1。

                                                                技术分享

  各个属性的含义如下:
? 唯一的用户名:用户名不能超过30个字节,不能包含特殊字符,而且必须以字母开 头。
? 验证方法:最常见的验证方法是口令,但是Oracle Database 10g 支持其它多种验 证方法,包括生物统计学验证、证书验证和标记验证。
? 默认表空间:如果用户未指定其它表空间,则可在这个表空间中创建对象。请注意, 具有默认表空间并不意味着用户具有在该表空间创建对象的权限,也不意味着用户 具有该表空间(用于创建对象)中的空间限额。这两项需要另外单独授权。
? 临时表空间:用户可在其中创建临时对象(如排序和临时表)的表空间。
? 用户概要文件:分配给用户的一组资源与口令的限制。
? 使用者组:由资源管理器使用。
? 锁定状态:用户只可访问“未锁定”帐户。
? 表空间配额:指明用户在某个表空间中所能使用的存储空间大小。



1.1.2 预定义账户SYS和SYSTEM


● SYS 帐户:


– 授予了DBA 角色
– 具有ADMIN OPTION 的所有权限
– 执行启动、关闭和某些维护命令时需要使用的帐户
– 拥有数据字典
– 拥有自动工作量资料档案库(AWR)
– 使用AS SYSDBA子句连接(任何授予了SYSDBA 权限的用户均可通过使用 AS SYSDBA 子句连接到SYS 帐户)
       ● SYSTEM 帐户授予了DBA 角色(非SYSDBA)。
       ● 这两个帐户不在例行程序操作中使用。
       ● 只有授予了SYSDBA 或SYSOPER权限的“授权”用户才可以启动或关闭数据库实 例。
       ● SYS和 SYSTEM 帐户是数据库中必需存在的帐户,不能将其删除。
最佳实践提示:如果应用最少权限原则,则不在例行程序操作中使用这些帐户。需要DBA 权 限的用户另外拥有授予了所需权限的独立帐户。例如,Jim 有一个名为jim 的低权限帐户及 一个名为jim_dba 的授权帐户。使用此方法可应用最少权限原则,不需要共享帐户,而且可 审计各项操作。

1.1.3 验证用户


         验证指的是对要使用数据、资源或应用程序的用户、设备或其它实体的身份进行验证。 通过对该身份进行验证可建立一种信任关系,从而可进一步执行交互。通过验证可将访问和
操作与特定的身份联系起来,从而实现可靠性。完成验证后,验证流程可允许或限制该实 体许可的访问和操作的级别。 创建用户时,必须确定要使用的验证方法,以后可修改此方法。

1.1.3.1外部验证


        又称操作系统验证。用户可以在不指定用户名或口令的情况下连接到Oracle 数据库。 使用外部验证时,数据库依赖于基础操作系统或网络验证服务来限制对数据库帐户的访问。 数据库口令不会用于此类登录。如果操作系统或网络服务允许的话,可以使用外部验证来验 证用户。如果要执行此操作,请设置 OS_AUTHENT_PREFIX 初始化参数,并在 Oracle 用户名中使用此前缀。OS_AUTHENT_PREFIX 参数定义了一个前缀,Oracle 数据库会在每 个用户的操作系统帐户名之前添加此前缀。为了实现与Oracle 软件早期版本的向后兼容, 此参数的默认值为 OPS$。用户尝试建立连接时,Oracle 数据库会将带前缀的用户名与数据 库中的Oracle 用户名进行比较。
例如,假定OS_AUTHENT_PREFIX 设置如下:
OS_AUTHENT_PREFIX=OPS$
如果某个用户的操作系统帐户名为tsmith,它需要连接到Oracle 数据库而且已由操作 系统验证,那么Oracle 数据库会检查是否存在一个对应的数据库用户OPS$tsmith,如果存 在这样的用户,则允许该用户建立连接。在用户(已由操作系统验证)的所有引用中必须包 含OPS$tsmith 中显示的前缀。

     注:在某些操作系统中,OS_AUTHENT_PREFIX 初始化参数的文本是区分大小写的。

  1 SQL> show parameter os_authent_prefix
  2 NAME TYPE VALUE
  3 ------------------------------------ ----------- ------------------------------
  4 os_authent_prefix string ops$
  5 或者:
  6 SQL> select value from v$parameter where name=‘os_authent_prefix‘;
  7 VALUE
  8 --------------------------------------------------------------------------------
  9 ops$


创建外部操作系统身份验证的用户很简单,假如有一个操作系统用户名为dragon,则:
对于LINUX 系统: create user ops$dragon identified externally;
对于WINDOWS 系统,假如登陆ID 是Dragon,域名是MIS: create user "OPS$MIS\DRAGON" identified externally;
创建好用户后,以dragon 身份登录到操作系统,然后在直接输入:sqlplus / 进行登录 并连接到数据库。


外部验证的优点:
● 经过操作系统的身份验证后,用户可以更便捷地连接到Oracle,而无需提供用户 名及密码。例如,经过操作系统验证的用户,按以下方式调用SQL*Plus,即可跳 过输入用户名及密码的步骤:SQLPLUS /
● 在操作系统中集中地进行用户身份验证, Oracle 不必再存储及管理用户密码,但 Oracle 仍旧需要在数据库中维护用户名。
● 在数据库及操作系统中记录审计跟踪数据(audit trail)时可以使用相同的用户名。

1.1.3.2口令验证


            又称为Oracle 数据库验证。
           创建的每一个用户都有一个关联口令,用户尝试建立连接时,必须提供这个口令。设置 口令时,可以使该口令立即失效,这会强制用户在首次登录后更改口令。如果决定要使用户 口令失效,请确保用户能够更改口令。有些应用程序不具备此功能。
           在(客户机/服务器之间和服务器/服务器之间)建立网络连接期间,系统总是先通过使 用修改过的数据加密标准(DES) 算法,以自动透明方式对口令加密,然后通过网络发送这 些口令

          在使用SQL*Plus 时,通过口令身份验证进行连接的语法如下:      CONNECT username / password [ @db_alias ]
                 ● SQL> connect scott/tiger;
                 ● SQL> conn scott/tiger;
                 ● [oracle@oracle ~]$ sqlplus scott/tiger;

        这是Oracle 一般用户使用得最多的一种身份验证方式。在使用口令身份验证进行连接 时,实例将针对在数据字典中的用户账户存储的口令。验证给定的口令。为此,数据库必须 处于打开状态;从逻辑上讲,在使用口令身份验证连接时,不可能发出STARTUP 命令或 者SHUTDOWN 命令。不允许SYS 用户以口令身份验证的方式进行连接,SYS 只能使用 口令文件、操作系统或LDAP 身份验证。
        数据库验证表示用户名和口令的验证由Oracle 完成,用户在连接数据库时必须同时提 供用户名和口令。采用数据库验证具有以下一些优点:
                    ● 用户帐户及其身份验证信息全部存储在数据库中,验证由Oracle Server 完成,而不 需要借助数据库外的任何控制。
                    ● 当使用数据库验证时,Oracle 提供了严格的口令管理特征以加强口令的安全性,例 如帐户锁定、口令有效期以及口令长度、复杂度等。
                    ● 易于管理。









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

管理用户安全性

标签:file   引用   tin   img   用户   creat   时间   limits   创建   

原文地址:http://www.cnblogs.com/ios9/p/7669166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!