千家信息网

4、Ora_Sec_创建和管理角色

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,创建和管理角色角色是一组系统权限或对象权限,可以作为一个单元来授予或撤销,可以在会话中临时激活或禁用已经授予的权限。1、创建角色并授予权限CREATEROLE rolename;案例:SQL>crea
千家信息网最后更新 2026年11月01日4、Ora_Sec_创建和管理角色

创建和管理角色

角色是一组系统权限或对象权限,可以作为一个单元来授予或撤销,可以在会话中临时激活或禁用已经授予的权限。

1、创建角色并授予权限

CREATEROLE rolename;

案例:

SQL>createrole hr_junior;

SQL>grantcreate session to hr_junior;

SQL>grant select on hr.regions to hr_junior;

SQL>grantselect on hr.locations to hr_junior;

SQL>grantselect on hr.countries to hr_junior;

SQL>grantselect on hr.job_history to hr_junior;

SQL>grantselect on hr.departments to hr_junior;

SQL>grantselect on hr.jobs to hr_junior;

SQL>grantselect on hr.employees to hr_junior;

SQL>createrole hr_senior;

SQL>granthr_junior to hr_senior with admin option;

SQL>grantinsert, update, delete on hr.employees to hr_senior;

SQL>grantinsert, update, delete on hr.job_history to hr_senior;

SQL>createrole hr_manager;

SQL>granthr_senior to hr_manager with admin option;

SQL>grantall on hr.regions to hr_manager;

SQL>grantall on hr.locations to hr_manager;

SQL>grantall on hr.countries to hr_manager;

SQL>grantall on hr.departments to hr_manager;

SQL>grantall on hr.job_history to hr_manager;

SQL>grantall on hr.jobs to hr_manager;

SQL>grantall on hr.employees to hr_manager;

SQL>granthr_manager to scott;

SQL>granthr_junior to peenboo;

2、预定义的角色

在Oracle数据库中,至少有50个预定义角色,每个DBA必须熟悉一下角色:

  1. CONNECT (连接) --用于向后兼容,在11g中仅有CREATE SESSION权限。

  2. RESOURCE 也是用于向后兼容,此角色可以创建数据库对象(如表)和过程对象(如pl/sql过程)。该角色还包括UNLIMITED TABLESPACE权限。

  3. DBA 拥有大多数系统权限,以及多个对象权限和角色,任何被授予DBA权限的用户几乎可以管理数据库的所有方面(启动和关闭除外)。

  4. SELECT_CATALOG_ROLE 拥有针对数据字典对象的2000多个对象权限,但没有系统权限或针对用户的权限。这对新管理员有用,这些人必须监视数据库并报告数据库情况,但看不到用户数据。

  5. SCHEDUALER_ADMIN 拥有用于管理调度服务的调度程序作业所需的系统权限。

  6. PUBLIC 此角色始终授予每个数据库用户账户。如果将某个权限授予PUBLIC,则该权限授予所有用户。

SQL>GRANT select onhr.regions to public; --所有用户有权查询hr.regions

3、启用角色

SQL>select* from dba_role_privs where grantee = 'PEENBOO';

--查看已为PEENBOO授予了什么角色

SQL>alter user peenboo default role none; --更改默认行为

--当peenboo登录时,将不启用任何角色

SQL>grantconnect to peenboo;

SQL>alteruser peenboo default role connect;

SQL>select* from dba_role_privs where grantee= 'PEENBOO';

在应用程序中,可以嵌入软件命令来启用 HR_JUNIOR 角色。在会话中启用此角色的基本命令为:

SET ROLE rolename;

为了安全考虑,可以使用以下语法创建角色:

CREATEROLE rolename IDENTIFIED USING procedure_name;

--只能在运行 procedure_name 命名的PL/SQL过程来启用此角色。此过程可以执行任意多次的检查。



角色 权限 数据 对象 数据库 用户 管理 系统 过程 命令 多个 程序 调度 安全 单元 可以使 字典 少有 应用程序 情况 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 上海喔噻互联网科技有限公司 互联网科技公司经营范围 科技赋能下的互联网金融 A股互联网金融科技公司 河南真二互联网科技有限公司 互联网络科技有限公司 奇士达互联网科技 万达互联网科技 互联网科技英文翻译 贵州叶脉互联网科技有限公司所属行业 佳云科技和互联网广告 青海科技产业互联网发展 中国科技创新与世界互联网大会 燊美集互联网科技有限公司 玉溪新华互联网科技好不好 科技赋能视角下互联网保险发展 美国互联网科技公司 中国科技和美国互联网 瑞安市蟠桃会互联网科技有限公司 互联网黑科技 互联网科技的发展 天津摩尔互联网科技 哈尔滨新华互联网科技 博兴的互联网电子科技公司 阿里互联网科技公司 智腾互联网科技有限公司 互联网科技扶贫时间 佛山市拉法互联网科技有限公司 南通创西澳互联网科技有限公司
0