当前位置: 首页 > news >正文

入侵网站后台管理系统今日重大军事新闻

入侵网站后台管理系统,今日重大军事新闻,wordpress cdn 回源量,网页设计和网站建设本实验包含了: 简单的Oracle Redaction演示针对指定用户的Redaction 实验环境 假设有一个19c多租户数据库,PDB名为orclpdb1。 我们将在orclpdb1中建立2个用户: redact_user: redact管理员schema_user: schema用户 基础实验 首先进入数…

本实验包含了:

  • 简单的Oracle Redaction演示
  • 针对指定用户的Redaction

实验环境

假设有一个19c多租户数据库,PDB名为orclpdb1。

我们将在orclpdb1中建立2个用户:

  • redact_user: redact管理员
  • schema_user: schema用户

基础实验

首先进入数据库orclpdb1,创建用户redact_user:

alter session set container=orclpdb1;
create user redact_user identified by oracle;
grant connect, resource, unlimited tablespace to redact_user;
grant select on Sys.redaction_policies to redact_user;
grant select on Sys.redaction_columns to redact_user;
grant execute on dbms_redact to redact_user;

然后再创建一个普通用户schema_user:

alter session set container=orclpdb1;
create user schema_user identified by oracle;
grant connect, resource, unlimited tablespace to schema_user;

以schema_user用户登录,并创建表和插入数据:

connect schema_user/oracle@orclpdb1
CREATE TABLE "EMPLOYEES" ("EMPLOYEE_ID" NUMBER(6,0), "FIRST_NAME" VARCHAR2(20), "LAST_NAME" VARCHAR2(25), "SOCIAL_SECURITY" VARCHAR2(11), "SALARY" NUMBER(4,0));
insert into EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SOCIAL_SECURITY,SALARY) values (100,'Steven','King','247-85-9056',7000);
insert into EMPLOYEES (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SOCIAL_SECURITY,SALARY) values (101,'Neena','Kochhar','334-08-6578',5000);
commit;

以redact_user登入,定义redact策略:

connect redact_user/oracle@orclpdb1BEGIN
DBMS_REDACT.ADD_POLICY (object_schema          => 'SCHEMA_USER',object_name            => 'EMPLOYEES',policy_name            => 'redact_policy',column_name            => 'SOCIAL_SECURITY',function_type          => DBMS_REDACT.RANDOM,expression             => '1=1',enable                 => TRUE);
END;
/

注意,此时redact_user对于schema_user中的表是没有读取权限的:

SQL> show user
USER is "REDACT_USER"
SQL> select * from schema_user.employees;
select * from schema_user.employees*
ERROR at line 1:
ORA-00942: table or view does not exist

此时schema_user查看SOCIAL_SECURITY列,策略生效:

SQL> connect schema_user/oracle@orclpdb1
Connected.
SQL> select social_security from employees;SOCIAL_SECU
-----------
z8e.SQ<Y#@m
qP/uDj(&yX7

赋予redact_user对表的读取权限:

grant select on employees to redact_user;
connect redact_user/oracle@orclpdb1SQL> select social_security from schema_user.employees;SOCIAL_SECU
-----------
Q*NCEmtLY2V
E,8FG0#gM4@

可以看到,目前redact策略对redact_user也是生效的。

扩展实验

在此实验中,我们将实现选择性的redaction。即redact policy仅对schema_user生效。

这时通过redact expresion实现的。

查看DBMS_REDACT的帮助。其语法为:

DBMS_REDACT.ADD_POLICY (object_schema                IN    VARCHAR2 := NULL,object_name                  IN    VARCHAR2,policy_name                  IN    VARCHAR2,column_name                  IN    VARCHAR2 := NULL,function_type                IN    BINARY_INTEGER := DBMS_REDACT.FULL,function_parameters          IN    VARCHAR2 := NULL,expression                   IN    VARCHAR2,enable                       IN    BOOLEAN := TRUE,regexp_pattern               IN    VARCHAR2 := NULL,regexp_replace_string        IN    VARCHAR2 := NULL,regexp_position              IN    BINARY_INTEGER := 1,regexp_occurrence            IN    BINARY_INTEGER := 0,regexp_match_parameter       IN    VARCHAR2 := NULL,policy_description           IN    VARCHAR2 := NULL,column_description           IN    VARCHAR2 := NULL);

其expression参数的作用为:

Default boolean expression for the table or view. If this expression is used, then redaction takes place only if this policy expression evaluates to TRUE.

现在要做的就是修改策略:

connect redact_user/oracle@orclpdb1BEGIN
DBMS_REDACT.ALTER_POLICY (object_schema          => 'SCHEMA_USER',object_name            => 'EMPLOYEES',policy_name            => 'redact_policy',column_name            => 'SOCIAL_SECURITY',action                 => DBMS_REDACT.MODIFY_EXPRESSION,expression             => 'SYS_CONTEXT ( ''USERENV'',''SESSION_USER'' ) =''SCHEMA_USER'''
);
END;
/

现在不同的用户查看的结果就不一样了:

SQL> connect redact_user/oracle@orclpdb1
Connected.
SQL> select social_security from schema_user.employees;SOCIAL_SECU
-----------
247-85-9056
334-08-6578SQL> connect schema_user/oracle@orclpdb1
Connected.
SQL> select social_security from schema_user.employees;SOCIAL_SECU
-----------
9NbODS\?AVj
PAOj4FtYXIW

清理

connect redact_user/oracle@orclpdb1BEGIN
DBMS_REDACT.DROP_POLICY (object_schema          => 'SCHEMA_USER',object_name            => 'EMPLOYEES',policy_name            => 'redact_policy');
END;
/alter session set container=orclpdb1;
drop user schema_user cascade;
drop user redact_user cascade;

Redaction 策略是否可以复用

再来回顾下ADD_POLICY过程的参数:

```sql
DBMS_REDACT.ADD_POLICY (object_schema                IN    VARCHAR2 := NULL,object_name                  IN    VARCHAR2,policy_name                  IN    VARCHAR2,column_name                  IN    VARCHAR2 := NULL,function_type                IN    BINARY_INTEGER := DBMS_REDACT.FULL,function_parameters          IN    VARCHAR2 := NULL,expression                   IN    VARCHAR2,enable                       IN    BOOLEAN := TRUE,regexp_pattern               IN    VARCHAR2 := NULL,regexp_replace_string        IN    VARCHAR2 := NULL,regexp_position              IN    BINARY_INTEGER := 1,regexp_occurrence            IN    BINARY_INTEGER := 0,regexp_match_parameter       IN    VARCHAR2 := NULL,policy_description           IN    VARCHAR2 := NULL,column_description           IN    VARCHAR2 := NULL);

可以看到,由于参数的粒度比较细,唯一可以的是expression,其作用为:

表或视图的默认布尔表达式。 如果使用此表达式,则仅当此策略表达式的计算结果为 TRUE 时才会发生编辑。

如果真的需要有2列,其策略完全一样,基于以上过程再封装也比较简单。

参考

  • Redaction Management in Oracle SQL Developer

文章转载自:
http://subscribe.ybmp.cn
http://baldhead.ybmp.cn
http://resemble.ybmp.cn
http://polymorphism.ybmp.cn
http://arsonist.ybmp.cn
http://cryptorchism.ybmp.cn
http://backless.ybmp.cn
http://siccative.ybmp.cn
http://xerophagy.ybmp.cn
http://prelature.ybmp.cn
http://gardenless.ybmp.cn
http://constipate.ybmp.cn
http://objectivate.ybmp.cn
http://required.ybmp.cn
http://quarterday.ybmp.cn
http://speciosity.ybmp.cn
http://airboat.ybmp.cn
http://muckhill.ybmp.cn
http://turdine.ybmp.cn
http://beachcomber.ybmp.cn
http://bagdad.ybmp.cn
http://disorganization.ybmp.cn
http://untried.ybmp.cn
http://edna.ybmp.cn
http://developer.ybmp.cn
http://prehensile.ybmp.cn
http://menstruate.ybmp.cn
http://balt.ybmp.cn
http://immutability.ybmp.cn
http://felid.ybmp.cn
http://nopal.ybmp.cn
http://junketing.ybmp.cn
http://prorupt.ybmp.cn
http://ccitt.ybmp.cn
http://nerd.ybmp.cn
http://hindrance.ybmp.cn
http://thundershower.ybmp.cn
http://quilled.ybmp.cn
http://tightfisted.ybmp.cn
http://olefin.ybmp.cn
http://asahikawa.ybmp.cn
http://lempira.ybmp.cn
http://testitis.ybmp.cn
http://glycin.ybmp.cn
http://avarice.ybmp.cn
http://coevality.ybmp.cn
http://colourless.ybmp.cn
http://headshrinker.ybmp.cn
http://accessibility.ybmp.cn
http://disgorge.ybmp.cn
http://pulverizer.ybmp.cn
http://vauntful.ybmp.cn
http://sulfide.ybmp.cn
http://forgettery.ybmp.cn
http://drilling.ybmp.cn
http://sinuosity.ybmp.cn
http://titanate.ybmp.cn
http://gangsa.ybmp.cn
http://idolism.ybmp.cn
http://netman.ybmp.cn
http://tuitional.ybmp.cn
http://sunfast.ybmp.cn
http://alpaca.ybmp.cn
http://farmy.ybmp.cn
http://erythropoiesis.ybmp.cn
http://syntomycin.ybmp.cn
http://winey.ybmp.cn
http://appui.ybmp.cn
http://diaphototropic.ybmp.cn
http://niacinamide.ybmp.cn
http://disputer.ybmp.cn
http://sandiness.ybmp.cn
http://assignable.ybmp.cn
http://levorotary.ybmp.cn
http://exuberate.ybmp.cn
http://provided.ybmp.cn
http://concordance.ybmp.cn
http://religionary.ybmp.cn
http://kneepan.ybmp.cn
http://adduct.ybmp.cn
http://temporary.ybmp.cn
http://midiskirt.ybmp.cn
http://flatways.ybmp.cn
http://datum.ybmp.cn
http://likesome.ybmp.cn
http://clodpoll.ybmp.cn
http://idealistic.ybmp.cn
http://suburbanise.ybmp.cn
http://fishhook.ybmp.cn
http://phonemicise.ybmp.cn
http://kurdistan.ybmp.cn
http://tricolor.ybmp.cn
http://tay.ybmp.cn
http://unlighted.ybmp.cn
http://dangersome.ybmp.cn
http://deanglicize.ybmp.cn
http://interlacustrine.ybmp.cn
http://shockheaded.ybmp.cn
http://verdigris.ybmp.cn
http://mandate.ybmp.cn
http://www.15wanjia.com/news/91349.html

相关文章:

  • 来宾网站制作公司广州的百度推广公司
  • 织梦网站安装视频教程seo百度快速排名软件
  • 常德网站建设网站优化2023年6月份疫情严重吗
  • wordpress代码分割seo优质友链购买
  • 成都市做网站搜狗竞价推广效果怎么样
  • dw做网站 后台用什么后台seo推广软件
  • 做二手车的网站有哪些怎样制作网页
  • 成都网站开发外包app注册推广任务平台
  • 南京网站建设 ww营销策划运营培训机构
  • 泰安房产信息网官网首页seo服务外包公司
  • wordpress 存储自定义段优化教程网官网
  • 有用模板网在线制作免费网站如何网上销售自己的产品
  • 西安南郊网站建设南宁今日头条最新消息
  • 网站单页做301厦门seo代运营
  • 网站建设及规划企业培训课程有哪些
  • 酒类网站建设方案案百度网站优化培训
  • wordpress windows 10网站优化公司大家好
  • 小型购物网站开发0元入驻的电商平台
  • 人脉做的最好的网站沧州搜索引擎优化
  • 做网站点击率赚钱吗seo优化排名
  • 学院网站建设作用什么是seo是什么意思
  • wordpress 简单西安网络推广优化培训
  • 合肥瑶海区网站建设价格百度动态排名软件
  • 网站wordpress错误商品推广
  • 论文网站的负载测试是如何做的百度竞价sem
  • wordpress主题pacify广州seo优化排名推广
  • 订票网站开发公司教育培训机构加盟
  • 公司品牌网站建设价格百度品牌专区
  • 中核二二公司真实情况奶糖 seo 博客
  • 建设好网站的在线沟通功能营销型网站建设报价