最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

对操作Oracle数据库的用户进行安全权限控制

来源:动视网 责编:小采 时间:2020-11-09 11:54:06
文档

对操作Oracle数据库的用户进行安全权限控制

对操作Oracle数据库的用户进行安全权限控制:一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 CREATE OR REPLACE TRIGGER SYS.TRIGGE 一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 C
推荐度:
导读对操作Oracle数据库的用户进行安全权限控制:一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 CREATE OR REPLACE TRIGGER SYS.TRIGGE 一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 C


一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 CREATE OR REPLACE TRIGGER SYS.TRIGGE

一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限

--控制alter操作

CREATE OR REPLACE TRIGGER SYS.TRIGGER_ALTER
BEFORE ALTER
ON DATABASE
begin
if ora_login_user not in ('SYS','SYSTEM') THEN
Raise_application_error (-20001,'Please not do ALTER!');
end if;
end;
/

--控制drop操作

CREATE OR REPLACE TRIGGER SYS.TRIGGER_DROP
BEFORE DROP
ON DATABASE
begin
if ora_login_user not in ('SYS','SYSTEM') THEN
Raise_application_error (-20001,'Please not do DROP!');
end if;
end;
/

--控制truncate操作
CREATE OR REPLACE TRIGGER SYS.TRIGGER_truncate
BEFORE truncate
ON DATABASE
begin
if ora_login_user not in ('SYS','SYSTEM') THEN
Raise_application_error (-20001,'Please not do TRUNCATE!');
end if;
end;
/

经过测试,一般用户进入数据库后无法进行alter、drop、truncate的操作

限制了对数据的破坏性操作,若进行上述操作,系统会产生

ORA-00604: error occurred at recursive SQL level 1
ORA-20001: Please do not DROP!

之类错误

PS:未限制create操作,因为1、create操作不会对生产数据产生破坏性影响;

2、若限制create操作,,可能会导致create index的操作失败

======================================================

二、调整tssa用户权限

REVOKE "DBA" FROM "TSSA";
GRANT "CONNECT" TO "TSSA";

将dba权限从tssa用户移除,并重新对其赋予connect权限

经过业务测试,未发现引起业务异常

=======================================================

三、创建只读用户bzwh


CREATE USER "BZWH" PROFILE "DEFAULT"
IDENTIFIED BY "bzwh" DEFAULT TABLESPACE "USERS"
ACCOUNT UNLOCK;
GRANT CREATE SESSION TO "BZWH"
GRANT SELECT ANY DICTIONARY TO "BZWH"
GRANT SELECT ANY SEQUENCE TO "BZWH"
GRANT SELECT ANY TABLE TO "BZWH"

文档

对操作Oracle数据库的用户进行安全权限控制

对操作Oracle数据库的用户进行安全权限控制:一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 CREATE OR REPLACE TRIGGER SYS.TRIGGE 一、采用数据库级别触发器控制非sys、system的alter\drop\truncate权限 --控制alter操作 C
推荐度:
标签: 安全 操作 用户
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top