【12c】Oracle 12c Data Redaction 数据编写

本文详细介绍了Oracle 12c的Data Redaction特性,包括数据编写概述、配置方法(命令行和Cloud Control)及各种策略(如完全、部分、正则表达式和随机编写)。通过数据编写,可以对查询结果进行屏蔽,提高数据安全性。文中给出了具体的语法结构和示例。
摘要由CSDN通过智能技术生成

Oracle 12c的高级安全特性包含Transparent Data Encryption(透明的数据加密)和Oracle Data Redaction(数据编写),通过这两个特性,可以对数据进行较高的安全控制,以防止非法的访问,上篇介绍了Transparent Data Encryption(透明的数据加密),本篇将对Oracle Data Redaction(数据编写)进行介绍和演示。

1 数据编写概述

通过Oracle提供的数据编写特性,可以对应用程序执行的查询的结果进行屏蔽(编写),从而隐藏真实的数据。可以通过以下几种方法中的一种对列的数据进行编写:

  • 完全编写:保护列的所有内容,返回值的类型取决于列的数据类型,对于数据值,返回值0,对于字符类型的列,返回空格;
  • 部分编写:只更改部分信息,例如,将手机号码进行编写,后三位之后以*号代替;
  • 正则表达式编写:使用正则表达式,编写匹配的内容;
  • 随机编写:执行查询时,返回随机的值以替代真实的值;
  • 无编写:允许测试编写策略的内部工作情况,对当前运行的查询的结果没有任何影响。常用于编写策略的测试。

2 配置数据编写(命令行方式)

2.1 内置程序包

通过Oracle提供的程序包DBMS_REDACT,可以创建数据编写策略,指定必须满足哪些条件后才能对数据进行编写并将其返回给用户,定义此类策略期间,DBA可以指定必须对哪些列应用何种类型的保护。DBMS_REDACT包含的过程如下:

存储过程

描述信息

DBMS_REDACT.ADD_POLICY

在表或视图上增加数据编写策略

DBMS_REDACT.ALTER_POLICY

修改数据编写策略

DBMS_REDACT.UPDATE_FULL_REDACTION_VALUES

全局更新给定数据类型的全部编写值,在使用更新后的值之前,需重启实例

DBMS_REDACT.ENABLE_POLICY

激活数据编写策略

DBMS_REDACT.DISABLE_POLICY

禁用数据编写策略

DBMS_REDACT.DROP_POLICY

删除数据编写策略

2.2 DBMS_REDACT.ADD_POLICY通用语法

DBMS_REDACT.ADD_POLICY (
 object_schema               IN VARCHAR2 := NULL,
 object_name                 IN VARCHAR2 := NULL,
 policy_name                 IN VARCHAR2, 
 policy_description          IN VARCHAR2 := NULL,
 column_name                 IN VARCHAR2 := NULL,
 column_description          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);

2.3 DBMS_REDACT.ADD_POLICY示例

2.3.1 创建完全数据编写策略

1)语法结构

DBMS_REDACT.ADD_POLICY (
   object_schema           IN VARCHAR2 := NULL, 
   object_name             IN VARCHAR2,
   column_name             IN VARCHAR2 := NULL,
   policy_name             IN VARCHAR2,
   function_type           IN BINARY_INTEGER := NULL,
   expression              IN VARCHAR2,
   enable                  IN BOOLEAN := TRUE);

2)示例一ÿ

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值