用户权限与安全

上传人:san****019 文档编号:70896964 上传时间:2019-01-18 格式:PPT 页数:62 大小:1.92MB
返回 下载 相关 举报
用户权限与安全_第1页
第1页 / 共62页
用户权限与安全_第2页
第2页 / 共62页
用户权限与安全_第3页
第3页 / 共62页
用户权限与安全_第4页
第4页 / 共62页
用户权限与安全_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《用户权限与安全》由会员分享,可在线阅读,更多相关《用户权限与安全(62页珍藏版)》请在金锄头文库上搜索。

1、第12章 用户权限与安全,12.1 数据库安全性概述 12.2 用户管理 12.3 用户配置文件 12.4 权限管理 12.5 角色管理 12.6 审计,2,本章要点,掌握用户的创建与管理 了解用户配置文件的作用 掌握如何使用用户配置文件限制用户使用的资源 了解Oracle中的权限 理解系统权限与对象权限的区别 了解角色与权限的区别 掌握角色的创建与管理 掌握如何为角色授予权限 掌握如何为用户授予权限或角色,12.1 数据库安全性概述,数据库的安全性主要包括两个方面的含义: 一方面是防止非法用户对数据库的访问,未授权的用户不能登录数据库; 另一方面是每个数据库用户都有不同的操作权限,只能进行自

2、己权限范围内的操作。 Oracle数据安全控制机制 用户管理 权限管理 角色管理 表空间设置和配额 用户资源限制 数据库审计,3,Oracle数据库的安全可以分为两类: 系统安全性 系统安全性是指在系统级控制数据库的存取和使用的机制,包括有效的用户名与口令的组合、用户是否被授权可连接数据库、用户创建数据库对象时可以使用的磁盘空间大小、用户的资源限制、是否启动了数据库审计功能,以及用户可进行哪些系统操作等。 数据安全性 数据安全性是指在对象级控制数据库的存取和使用机制,包括用户可存取的模式对象和在该对象上允许进行的操作等。,4,12.2 用户管理,创建用户 修改用户 删除用户 管理用户会话,5,

3、Oracle数据库初始用户 SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典; SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。 SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。 ,6,7,12.2.1 创建用户,创建用户需要使用CREATE USER语句,其语法如下: CREATE USER user_name IDENTIFIED BY password DEFAULT TABLESPACE default_tablespace_name TEMPORARY TABLESP

4、ACE tomporary_tablespace_name QUOTA quota K | M | UNLIMITED ON tablespace_name , . PROFILE profile_name PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK ;,创建数据库用户示例,创建用户需要具有CREATE USER权限,下列语句将创建一个user3用户,口令为user3,默认表空间为USERS,在该表空间的配额为10 MB,初始状态为锁定。 CREATE USER user3 IDENTIFIED BY user3 DEFAULT TABLESPACE users

5、 QUOTA 10M ON users ACCOUNT LOCK;,创建数据库用户示例,2. 创建一个用户wang,口令为wang,默认表空间为users,在该表空间的配额为10 MB。口令设置为过期状态,即首次连接数据库时需要修改口令。配置文件为example_profile(假设该配置文件已经创建)。 CREATE USER wang IDENTIFIED BY wang DEFAULT TABLESPACE users QUOTA 10M ON users PROFILE example_profile PASSWORD EXPIRE; 注意: 在创建新用户后,必须为用户授予适当的权限,

6、用户才可以进行相应的数据库操作。例如,授予用户CREATE SESSION权限后,用户才可以连接到数据库。,10,12.2.2 修改用户,对创建好的用户可以使用ALTER USER语句进行修改,修改时可以针对用户不同的参数。 修改用户的口令 ALTER USER user3 IDENTIFIED BY newuser3 ; 修改用户口令为过期 ALTER USER user3 PASSWORD EXPIRE ; 说明:如果用户口令是过期状态,则使用该用户连接数据库时,Oracle将强制用户更新口令。 修改用户的状态为锁定或解锁 ALTER USER user3 ACCOUNT LOCK; AL

7、TER USER user3 ACCOUNT UNLOCK ;,4. 将用户user3的口令修改为newuser3,同时将该用户解锁。 ALTER USER user3 IDENTIFIED BY newuser3 ACCOUNT UNLOCK; 5. 修改用户wang的默认表空间为myspace,在该表空间的配额为20 MB,在users表空间的配额为10 MB。 ALTER USER wang DEFAULT TABLESPACE myspace QUOTA 20M ON myspace QUOTA 10M ON users;,12,12.2.3 删除用户,基本语法 DROP USER u

8、ser_name CASCADE ; 说明 如果该用户已经在数据库中创建了内容,则必须指定CASCADE关键字,表示在删除该用户的同时,删除该用户创建的所有内容。 示例 DROP USER users; DROP USER users CASCADE;,13,12.2.4 管理用户会话,1监视用户会话信息 Oracle提供了动态视图v$session,通过该视图可以了解当前数据库中的用户会话信息(参见教材P267)。 2终止用户会话 数据库管理员可以在需要的时候使用ALTER SYSTEM语句终止用户的会话,其语法形式如下: ALTER SYSTEM KILL SESSION sid , se

9、rial# ; 其中,sid与serial#的值可以通过查询动态视图v$session获得。例如: ALTER SYSTEM KILL SESSION 136 , 341 ;,查询用户信息,ALL_USERS:包含数据库所有用户的用户名、用户ID和用户创建时间 DBA_USERS:包含数据库所有用户的详细信息 USER_USERS:包含当前用户的详细信息 DBA_TS_QUOTAS:包含所有用户的表空间配额信息 USER_TS_QUOTAS:包含当前用户的表空间配额信息 V$SESSION:包含用户会话信息 V$OPEN_CURSOR:包含用户执行的SQL语句信息,15,12.3 用户配置文件

10、,配置文件(PROFILE)是数据库和系统资源限制的集合,是Oracle数据库安全策略的重要组成部分。 利用配置文件,可以限制用户对数据库和系统资源的使用,同时还可以对用户口令进行管理。 在Oracle数据库创建的同时,系统会创建一个名为DEFAULT的默认配置文件。如果没有为用户显式地指定一个配置文件,系统默认将DEFAULT配置文件作为用户的配置文件。,资源限制级别和类型,资源限制级别 会话级资源限制:对用户在一个会话过程中所能使用的资源进行限制。 调用级资源限制:对一条SQL语句在执行过程中所能使用的资源进行限制。 资源限制类型 CPU使用时间; 逻辑读; 每个用户的并发会话数; 用户连

11、接数据库的空闲时间; 用户连接数据库的时间; 私有SQL区和PL/SQL区的使用。,17,12.3.1 创建用户配置文件,系统管理员也可以自行创建配置文件。创建配置文件需要使用CREATE PROFILE语句,其语法参见教材P268。 创建一个名为pwd_profile的配置文件,如果用户连续4次登录失败,则锁定该账户,10天后该账户自动解锁。 CREATE PROFILE pwd_profile LIMIT FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 10;,创建用户配置文件的示例,创建一个名为res_profile的配置文件,要求每个用户最多可以创

12、建4个并发会话;每个会话持续时间最长为60分钟;如果会话在连续20分钟内空闲,则结束会话;每个会话的私有SQL区为100 KB;每个SQL语句占用CPU时间总量不超过10秒。 CREATE PROFILE res_profile LIMIT SESSIONS_PER_USER 4 CONNECT_TIME 60 IDLE_TIME 20 PRIVATE_SGA 100K CPU_PER_CALL 100;,19,12.3.2 将配置文件分配给用户,可以在创建用户时为用户指定配置文件 CREATE USER zhangsan IDENTIFIED BY 12345 PROFILE res_pro

13、file; 也可以在修改用户时为用户指定配置文件。 ALTER USER zhangsan PROFILE pwd_profile; 除此之外,要想让配置文件生效,还需要将参数resource_limit的值改为TRUE(可使用SHOW PARAMETER语句查看该参数)。具体语句如下: ALTER SYSTEM SET resource_limit = TRUE ;,20,12.3.3 查看配置文件信息,通过数据字典dba_profiles,可以查看系统默认配置文件DEFAULT和自行创建的用户配置文件的参数设置。 例如,查看系统默认配置文件DEFAULT的参数设置情况,查询语句如下: SE

14、LECT profile, resource_name, limit FROM dba_profiles WHERE profile=DEFAULT; 其中,profile表示配置文件名;resource_name表示参数名;limit表示参数值。,21,12.4 权限管理,一个新的用户被创建后,该用户还无法操作数据库,还需要为该用户授予相关的权限。 权限是指在数据库中执行某种操作的权力,例如连接数据库、在数据库中创建与操作数据库对象等权限。 Oracle中的权限主要分为系统权限与对象权限。 系统权限(一般由数据库管理员授予)是指对整个Oracle系统的操作权限,例如连接数据库、创建与管理表或

15、视图等。 对象权限(可由数据库管理员、对象所有者授予)是指用户对数据库中对象的操作权限,例如对某一个表的插入、修改和删除记录等权限,22,12.4.1 系统权限,通过数据字典system_privilege_map可以查看Oracle中的系统权限,其中常用的系统权限如表12-1所示(参见教材P272)。 系统权限授予时需要注意的几点: 应用程序开发者一般需要拥有CREATE TABLE、CREATE VIEW和CREATE INDEX等系统权限。 普通用户一般只具有CREATE SESSION系统权限。 只有授权时带有WITH ADMIN OPTION子句时,用户才可以将获得的系统权限再授予其

16、他用户,即系统权限的传递性。,23,授予系统权限,向用户授予系统权限需要使用GRANT语句,其语法如下: GRANT system_privilege , . TO user_name , . | role_name , . | PUBLIC WITH ADMIN OPTION ; 示例: SQL GRANT CREATE SESSION,CREATE TABLE, CREATE VIEW TO user1; SQL CONNECT system/manager SQL GRANT CREATE SESSION,CREATE TABLE, CREATE VIEW TO user2 WITH ADMIN OPTION; SQL CONNECT user2/user2 SQL GRANT CREATE TABLE TO li;,12.4.1 系统权限,查看用户的系统权限 可通过数据字典user_sys_privs和dba

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号