ITPub博客

首页 > 数据库 > Oracle > Oracle 23c安全性增强实战:细粒度访问控制与数据屏蔽

Oracle 23c安全性增强实战:细粒度访问控制与数据屏蔽

原创 Oracle 作者:jason_yehua 时间:2026-03-30 17:58:25 0 删除 编辑
环境准备
数据库版本:Oracle 23c
创建员工表(含敏感薪资字段):
CREATE TABLE employees (
  emp_id NUMBER, emp_name VARCHAR2(50), salary NUMBER
);
2. 实战操作
配置行级安全策略(仅允许查询本部门员工数据):
BEGIN
  DBMS_RLS.ADD_POLICY(
    object_schema => 'HR',
    object_name => 'EMPLOYEES',
    policy_name => 'dept_policy',
    function_schema => 'HR',
    policy_function => 'dept_access');
END;
配置列屏蔽(对非授权用户隐藏薪资列):
ALTER TABLE employees MODIFY(salary) MASKED WITH FUNCTION = 'SYS.DBMS_DATA_MASKING.FORMAT'(******);
3. 验证安全策略
普通用户查询受限数据:
SELECT * FROM employees; -- 仅可见本部门数据,薪资列被屏蔽
管理员可绕过策略:
SELECT * FROM employees NO_RLS; -- 查看完整数据
4. 总结细粒度控制与动态屏蔽为敏感数据提供多层保护,满足合规需求。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31547506/viewspace-3114946/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-05-22

  • 博文量
    122
  • 访问量
    99619