前言
我是在乐字节教育学习的小小学员,我给大家介绍一下oracle数据库
数据库安全控制策略概述
安全性是评估一个数据库的重要指标,Oracle数据库从3个层次上采取安全控制策略:
1、系统安全性。在系统级别上控制数据库的存取和使用机制,包括有效的用户名与口令、是否可以连接数据库、用户可以进行哪些系统操作等;
2、数据安全性。在数据库模式对象级别上控制数据库的存取和使用机制。用户要对某个模式对象进行操作,必须要有操作的权限;
3、网络安全性。Oracle通过分发Wallet、数字证书、SSL安全套接字和数据密钥等办法来保证数据库的网络传输安全性。
数据库的安全可以从以下几个方面进行管理
1、用户账户管理
2、用户身份认证方式管理。Oracle提供多种级别的数据库用户身份认证方式,包括系统、数据库、网络3种类型的身份认证方式
3、权限和角色管理。通过管理权限和角色,限制用户对数据库的访问和操作
4、数据加密管理。通过数据加密来保证网络传输的安全性
5、表空间设置和配额。通过设置用户的存储表空间、临时表空间以及用户在表空间上使用的配额,可以有效控制用户对数据库存储空间的使用
6、用户资源限制。通过概要文件设置,可以限制用户对数据库资源的使用
7、数据库审计。监视和记录数据库中的活动,包括审计所有的SQL语句、审计SQL权限、审计模式对象以及审计网络活动等。
接下来将对用户管理、权限和角色管理等方法一 一讨论。
用户管理
用户是数据库的使用者和管理者,Oracle通过设置用户及安全属性来控制用户对数据库的访问。Oracle的用户分两类,一类是创建数据库时系统预定义的用户,一类是根据应用由DBA创建的用户。
1、预定义用户
在oracle创建时创建的用户,我们称为预定义用户,预定义用户根据作用不同分为3类:
1.管理员用户:包括SYS,SYSTEM,SYSMAN,DBSNMP等。SYS是数据库中拥有最高权限的管理员,可以启动、关闭、修改数据库,拥有数据字典;SYSTEM是一个辅助的数据库管理员,不能启动和关闭数据库,但是可以进行一些管理工作,如创建和删除用户;SYSMAN是OEM的管理员,可以对OEM进行配置和管理;DBSNMP用户是OEM代理,用来监视数据库的。以上这些用户都不能删除。
2.示例方案用户:在安装Oracle或使用odbc创建数据库时,如果选择了”示例方案”,会创建一些用户,在这些用户对应的schema中,有产生一些数据库应用案例。这些用户包括:BI、HR、OE、PM、IX、SH等。默认情况下,这些用户均为锁定状态,口令过期。
3.内置用户:有一些Oracle特性或Oracle组件需要自己单独的模式,因此为他们创建了一些内置用户。如APEX_PUBLIC_USER、DIP等。默认情况下,这些用户均为锁定状态,口令过期。
此外还有2个特殊的用户SCOTT和PUBLIC,SCOTT是一个用于测试网络连接的用户,PUBLIC实际是一个用户组,数据库中任何用户都属于该用户组,如果要为数据库中的全部用户授予某种权限,只需要对PUBLIC授权即可。
2、用户属性
在创建用户时,必须使用安全属性对用户进行限制,用户的安全属性主要包括:
1.用户名:在同一个数据库中,用户名是唯一的,并且不能与角色名相同;
2.用户身份认证:Oracle采用多种方式进行身份认证,如数据库认证、操作系统认证、网络认证等;
3.默认表空间:用户创建数据库对象时,如果没有显式指明存储在哪个表空间中,系统会自动将该数据库对象存储在当前用户的默认表空间,在Oracle 11g中,如果没有为用户指定默认表空间,则系统将数据库的默认表空间作为用户的默认表空间;
4.临时表空间:临时表空间分配与默认表空间相似,如果不显式指定,系统会将数据库的临时表空间作为用户的临时表空间;
5.表空间配额:表空间配额限制用户在永久表空间中可以使用的存储空间的大小,默认新建用户在表空间都