Oracle中加密角色的使用

之前不是很明白加密角色的作用,今天查了一些资料发现加密角色可以以非default角色授予一个用户,只有在需要的时候再进行启用。一些比较敏感的权限在平时的工作中基本用不到,为了防止误操作完全可以把这些权限单独授予一个角色,只有在有需要的时候进行启用。还有就是对同一用户组的用户可以有一些权限上的分割,不知道加密角色密码的人无法启用这方面的权限。

下面进行实验:

首先创建两个角色r_cs和r_select,并且授予相应的权限:

SYS@ORCL>create role r_cs;

Role created.

SYS@ORCL>grant create session to r_cs;

Grant succeeded.

SYS@ORCL>create role r_select identified by r_select;

Role created.

SYS@ORCL>grant select on dba_objects to r_select;

Grant succeeded.

创建用户test,将r_cs和r_select都授予它,并将r_cs置为default role(default role也可以有多个):

SYS@ORCL>create user test identified by test;

User created.

SYS@ORCL>grant r_cs,r_select to test;

Grant succeeded.

SYS@ORCL>alter user test default role r_cs;

User altered.

这时候我们通过test用户连接后查询dba_objects的数据:

SYS@ORCL>conn test/test

Connected.

EST@ORCL>select count(*) from dba_objects;

select count(*) from dba_objects

*

ERROR at line 1:

ORA-00942: table or view does not exist

会发现无法查询,这时候我们启用r_select角色,然后再进行查询:

TEST@ORCL>set role r_select identified by r_select;

Role set.

TEST@ORCL>select count(*) from dba_objects;

 COUNT(*)

----------

50327

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-11-05 06:27:26

Oracle中加密角色的使用的相关文章

Oracle中监控sysdba角色用户登陆情况

在Oracle 8i版本之前,使用internal用户来执行数据库的启动和关闭以及create database等操作:从8i版本以后,Oracle已经逐渐淘汰了internal用户,采用授与sysdba或者sysoper角色的用户才可以执行数据库的启动和关闭等操作,为保持用户习惯在8i中依旧保留了internal用户和svrmgrl,但已完全可以不使用svrmgrl工具和internal用户了.最新发布的oracle 9i已经完全淘汰了svrmgrl工具和internal用户.由于具有角色sy

Oracle存储过程中的角色

角色(数据库权限集)与存储过程.函数和数据包之间的交互方式是Oracle安全模型中最难以处理的一个部分.Oracle中的对象权限可以直接或通过角色间接授予用户. 假设一个HR用户向用户ABEL授予EMPLOYEES表的一些许可: GRANT select, insert, update, delete 这个语句直接把上述四个权限授予给用户ABEL.另一方面,假设一名HR用户这样做: GRANT select, insert, update, delete ON employees TO hr_r

oracle中rman备份集加密的方法

 下面我们来看看一个oracle中rman备份集加密的方法,希望这个例子能帮助到各位朋友了.   数据的安全越来越重要,不是说你的生产库安全,你的数据就一定安全了,rman备份也是泄露数据的一个重要地方,如果别人拿到了你的备份集,一样等同入侵了你的生产库.为了rman备份的安全,最简单方式就是使用set encryption方式在rman备份过程中设置密码,需要版本为10.2及其以后企业版版,另外如果需要备份到带库只能使用oracle自己的osb(Oracle Secure Backup),注意

oracle中通过DBMS_CRYPTO包对表敏感字段进行加密

在安全越来越重视的近体,我们不少时候需要对数据库中的某个表的敏感列数据(银行卡,身份证号码,金额等)进行加密,方式数据泄密,在11.2.0.4中可以通过dbms_crypto包方式实现,增加oracle的加密效率,本文提供处理思路,其他可以根据需求尽情发挥 数据库版本 SQL> select * from v$version;   BANNER ----------------------------------------------------------------------------

Oracle中对列加密的方法

Oracle支持多种列加密方式: 1,透明数据加密(TDE):create table encrypt_col(id int,txt varchar2(100) encrypt using '算法名称' identified by '密钥' no salt);优点:对应用完全透明缺点:需要数据库管理员管理wallet,增加了管理复杂性,也无法避免数据库管理员查看原文. 2,使用DBMS_CRYPTO包优点:只要应用程序保存好密钥,数据库管理员无法察看: 测试:DECLARE   input_st

Oracle中的MD5加密详解_oracle

一.技术点  1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>'abc') a from Dual时,却有错误提示,看来该函数只能直接在程序包中调用,不能直接应用于SELECT语句. 2.Utl_Raw.Cast_To_Raw DBMS_OBFUSCATION_TOOLKIT.MD5返回的

oracle中如何创建用户

一.用户的概念 用户,即user,通俗的讲就是访问oracle数据库的"人".在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema).权限.角色.存储设置.空间限额.存取资源限制.数据库审计等.每个用户都有一个口令,使用正确的用户/口令才能登录到数据库进行数据存取. 二.用户默认表空间 表空间是信息存储的最大逻辑单位.当用户连接到数据库进行资料存储时,若未指出数据的目标存储表空间时,则数据存储在用户的默认表空间中. 比如:create

oracle中如何为用户授权

oracle 给用户授权_oracle 用户授权_oracle用户授权 grant(授权)命令 下面对创建的用户user01授权,命令如下: grant connect, resource to user01; (2)revoke(撤消)权限 已授予的权限可以撤消.例如撤消(1)中的授权,命令如下: revoke connect, resource from user01; 一个具有dba角色的用户可以撤消任何别的用户甚至别的dba的connect.resource 和dba的其他权限.当然,这

oracle中通过DBMS

 下面我们来看看oracle中通过DBMS_CRYPTO包对表敏感字段进行加密方法,有需要了解的朋友可一起来看看吧.   在安全越来越重视的近体,我们不少时候需要对数据库中的某个表的敏感列数据(银行卡,身份证号码,金额等)进行加密,方式数据泄密,在11.2.0.4中可以通过dbms_crypto包方式实现,增加oracle的加密效率,本文提供处理思路,其他可以根据需求尽情发挥 数据库版本 SQL> select * from v$version;   BANNER ---------------