查询数字小于12位oracle,Oracle数据库12c最新安全工具Data Redaction

甲骨文在Oracle数据库12c中加入了数据校订作为一个新的安全特性。Oracle Data Redaction(Oracle数据校订)提供了一个有效且易于实现的方法来屏蔽敏感信息。该工具能够实时地从数据校订得出的查询结果会返回到它们原来的应用程序。

当你想要隐藏一个字段的所有值或部分值,但同时还要为用户提供他们需要的信息的时候,Data Redaction便有了用武之地。诸如社会保险号,信用卡号和客户端IP地址之类的个人标识未经许可是不能发布的。通过允许你隐藏个人信息并同时仍允许访问关键文件,Data Redaction将帮助你遵循法规和行业标准,同时保证不中断业务的正常流程。

在Data Redaction引入Oracle数据库之前,数据屏蔽必须在应用程序层,数据库内或是通过第三方软件加以实现。然而,你现在可以不必进行这些繁琐步骤就可以实现这一功能。相反,你可以创建针对包含有敏感信息字段的校订策略,同时在不改变应用程序其他任何部分的情况下对它们进行隐藏。

Oracle Database 12c 中的Data Redaction

一旦你已经配置了校订策略,Oracle数据库就会基于策略规范在运行时应用屏蔽。此校订过程是在数据库内核级进行操作的并且在内存中执行,这就确保了安全性和查询性能的最大化。

Oracle数据库会缓存所有的策略信息,因此策略表达式只需要在每次执行时评估一次。因此,校订不会为每行带来开销,这很适合于不断变化的数据。Oracle限制了其对于诸如字符和数字类型等数据类型的校订能力,因此使得校订变得更容易。Oracle Data Redaction并不适合原生,图形和大型对象类型。

当查询结果被修订时,底层数据保持相同。唯一改变的是应用程序中显示的是哪些信息。与此同时,Oracle数据库保存了字段的数据类型,因此校订并不会影响应用程序。此外,Data Redaction并不会在其他数据库操作上产生影响,比如由Oracle Data Pump或Recovery Manager所造成的那些影响一样。策略甚至于可以被定义用来在应用程序中保存基本格式,如社会保险号的连字符。在修订期间,所有数据都是正常处理的,触发器会按配置触发,并且引用完整性也会予以保存。

如果你正在使用引用了校订字段的视图,函数,或是存储过程,那么数据本身会保持已校订。然而,在WHERE 语句中引用的字段是从不校订的。校订只会应用在SELECT 列表中的字段。此外,如果你的SELECT 列表包含的表达式包括已校订字段,那么数据就会在此表达式计算前就进行校订了。

部署Data Redaction工具

甲骨文在Oracle 数据库12c Enterprise Edition中提供了DBMS_REDACT 包,你可以通过为所需要的数据库创建策略来实现校订。DBMS_REDACT包包括进行添加,修改,禁用,启用和删除校订策略所需的流程。

作为主要流程,ADD_POLICY可以创建一个针对于特定字段的策略并定义字段中的数据要如何进行校订。一旦启用了策略,Oracle数据库就会开始修订已查询数据。

ALTER_POLICY作为另一个有用的流程可以让你改变策略定义。有了ALTER_POLICY 你可以执行诸如在一个字段上改变校订类型或是添加一个字段到策略的任务。

Oracle数据库还包括用来屏蔽诸如社会保险号或信用卡号之类常见数据类型的预定义字段模板。

当在配置一个策略来校订字段数据的时候,你可以指定以下五个校订选项之一:

FULL: 校订目标字段中的所有数据。对于字符数据类型,查询会为每个值返回一个单独的空格。对于数字类型,查询则会返回一个0。对于日期类型,查询会返回01-JAN-01。你可以使用UPDATE_FULL_REDACTION_VALUES 流程来指定不同值中的哪个才是你想要返回的。而FULL 选项是默认校订类型并且是在没有指定其他类型的时候使用的。

PARTIAL: 只校订目标字段中每个值的一部分。例如,你可以屏蔽一个信用卡号的前12位数字,这样一来用户所能见到的就只是后四位数字了。当在配置此策略的时候,你可以设置起始校订的位置,从起始位置开始的字符数量以及哪个校订字符要用来替代屏蔽数据。目标字段必须是一个固定宽度以使用PARTIAL校订。

REGEXP: 校订基于一个特定常规表达式的目标字段数据的一部分。此类型在校订一个变长字段时很有用。例如,你可以使用REGEXP类型来校订一个包含有全名的字段中的姓氏。然后你可以用那些指示哪些部分已经被校订的占位符文本来替代已校订部分。

RANDOM: 校订目标字段中的所有数据并用与字段数据类型一致的随机值加以替代。例如,姓氏Smith可能会返回为x{)E 。由于结果是随机的,校订值在应用程序每次检索数据时都会是不同的。

NONE: 不执行校订。此选项对于测试校订策略并将它们应用到生产环境之前是很有用的。为了用户访问那些配置用来进行校订的表中的数据,你也可以使用此选项加以提供。为此,定义一个特别的视图然后应用一个使用了NONE选项的策略。

Data Redaction功能主要针对的是那些返回敏感数据给它们用户的应用程序。它并不会防止特权用户直接连接数据库并发布随机查询以查看实际数据。但是,数据校订可以与诸如数据加密Oracle Database Vault或Oracle Audit Vault以及Database Firewall之类其他的安全措施一起使用。

Data Redaction可以为你提供一个有价值的工具以避免企业敏感数据泄露。由于屏蔽发生在查询运行时,数据并没有因为应用程序缺陷而被至于风险之中。数据是在数据库核心中直接校订的,这便在不影响其他操作的同时提供了更严格的安全性和更好的性能。Data Redaction有助于保证隐私和遵从性,因此你就可以更好的管理通过应用程序暴露的数据。

你可能感兴趣的:(查询数字小于12位oracle)