Oracle数据库的安全管理

1. 数据库的安全性主要包括两个方面的含义:

一方面是防止非法用户对数据库的访问,未授权的用户不能登录数据库;

另一方面是每个数据库用户都有不同的操作权限,只能进行自己权限范围内的操作。

2. Oracle数据安全控制机制

(1) 用户管理

(2) 权限管理

(3) 角色管理

(4) 表空间设置和配额

(5) 用户资源限制

(6) 数据库审计

3. Oracle数据库初始用户

(1) SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典;

(2) SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。

(3) SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。

(4) PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。要为数据库中每个用户都授予某个权限,只需把权限授予PUBLIC就可以了。

4. 用户属性

(1) 用户身份认证方式

 数据库身份认证

 外部身份认证

(2) 默认表空间

(3) 临时表空间

(4) 表空间配额

(5) 概要文件

(6) 账户状态

5. 创建用户

基本语法

CREATE USER user_name IDENTIFIED

[BY password|EXTERNALLY|GLOBALLY

AS 'external_name']

[DEFAULT TABLESPACE tablespace_name]

[TEMPORARY TABLESPACE temp_tablesapce_name]

[QUOTA n K|M|UNLIMITED ON tablespace_name]

[PROFILE profile_name]

[PASSWORD EXPIRE]

[ACCOUNT LOCK|UNLOCK];

注意

在创建新用户后,必须为用户授予适当的权限,用户才可以进行相应的数据库操作。例如,授予用户CREATE SESSION权限后,用户才可以连接到数据库。

6. 修改用户

(1)将用户user3的口令修改为newuser3,同时将该用户解锁。

ALTER USER user3

IDENTIFIED BY newuser3 ACCOUNT UNLOCK;

(2)修改用户user4的默认表空间为ORCLTBS1,在该表空间的配额为20 MB,在USERS表空间的配额为10 MB。

ALTER USER user4

DEFAULT TABLESPACE ORCLTBS1

QUOTA 20M ON ORCLTBS1

QUOTA 10M ON USERS;

7. 权限管理

系统权限:系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。例如,CREATE SESSION权限、CREATE ANY TABLE权限。

对象权限:对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。

8. 授权方法

直接授权:利用GRANT命令直接为用户授权。

间接授权:先将权限授予角色,然后再将角色授予用户。

9. 系统权限的回收

语法为

REVOKE sys_priv_list

FROM user_list|role_list|PUBLIC;;

注意事项

 多个管理员授予用户同一个系统权限后,其中一个管理员回收其授予该用户的系统权限时,该用户将不再拥有相应的系统权限。

 为了回收用户系统权限的传递性(授权时使用了WITH ADMIN OPTION子句),必须先回收其系统权限,然后再授予其相应的系统权限。

 如果一个用户获得的系统权限具有传递性,并且给其他用户授权,那么该用户系统权限被回收后,其他用户的系统权限并不受影响。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180304A13CI000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券