Oracle复习(七)角色管理 概要文件

角色管理:
  • 角色分类:
系统预定义角色
用户自定义角色
  • 用户自定义角色:
* 创建角色:
create role 角色名称 [NOTIDENTIFIED] [IDENTIFIED BY 密码]
eg:
create role high_tiger_role;
create role middle_tiger_role IDENTIFIED BY 123456;
  • 修改角色:
ALTER ROLE 角色名称 [NOT IDENTIFIED] [IDENTIFIED BY 密码]
eg:为high_tiger_role角色添加口令,取消middle_tiger_role口令
alter role high_tiger_role IDENTIFIED BY highrole;
alter role middle_tigre_role NOT IDENTIFIED;

注意修改角色必须具有alter any role系统权限,以及with admin option 权限,如果是角色的创建者,则自动具有对角色的修改权限
  • 角色的生效与失效:
set role 
[角色名称[IDENTIFIED BY 密码]] (所有角色都生效)
[ALL [EXCEPT 角色]] (除了某个角色都生效)
[NONE] (所有角色都失效)
  • 删除角色:
drop role 角色名称;
  • 利用角色进行授权管理:
(1) grant 权限 角色 to 用户列表|角色列表;
eg: grant connect high_tiger_role to user1;

(2) 从用户或角色回收角色 :
revoke 角色列表 from 用户列表|角色列表;
eg: revoke resource connect from middle_toger_role;

(3) 用户角色的激活或者屏蔽:
alter user 用户名 default role [角色名称] [ALL[Except 角色名称] [NONE];
eg:alter user user1 default role none;
  • 查询角色信息:
select * from 
DBA_ROLES
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
ROLE_ROLE_PRIVS
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
  • 概要文件:概要文件是数据库和系统资源限制的集合,是Oracle数据安全策略的重要组成部分,每一个数据库都必须有一个概要文件,通常DBA将用户分为几种类型,每一种类型对应一个概要文件,然后将概要文件分配给用户:
概要文件的权限类型可以为:
CPU使用时间
每个用户的并发会话数
用户连接数据库时间
用户连接数据库的空闲时间
私有sql区
  • 创建概要文件:
create profile 概要文件名称 limit 资源参数 | 口令参数;
eg: 创建一个名为pwd_profile的概要文件,如果用户连续4次登陆失败 ,则锁10天,自动解锁
create profile pwd_profile limit FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 10;

eg: 创建1个名为 res_profile的概要文件,要求每个用户最多可以创建4个并发,每个会话持续时间最长为60分钟,若会话在20分钟空闲,则会话结束,每个私有SQL区为100kb, 每个SQL语句占用的CPU时间总量不超过10秒

create profile res_profile limit session pre_user 1 connect_time 6 idle 20 private_sga 100k cpu_per_call 10;
  • 创建用户的时候指定概要文件:
create user user1 identified by user1 profile res_profile;
  • 重新分配概要文件:
alter user user1 profile pwd_proflie;
  • 修改概要文件:
alter profile 概要文件名称 limit 资源参数 | 口令参数;

eg:修改 pwd_profile 将用户口令的有效时间修改为10天
alter pwd_profile limit password_limit_time 10
  • 删除概要文件:
drop profile 概要文件名称 [cascade](该关键字是将用户当前使用的概要文件撤销)
  • 查询概要文件:
select * from 
user_password_limits
user_resource_limits
dba_profiles