在对象层面实施多层级安全保护

您可以在对象级别通过 Db2 实现多级安全。

过程

在对象级别使用 Db2 实现多层级安全:

  1. 使用RDEFINE命令在 RACF® 中为所有需要强制访问检查的 Db2 对象定义安全标签。

    为以下 RACF 资源类别定义安全标签:

    • DSNADM(行政当局)
    • DSNR(访问 Db2 子系统)
    • MDSNBP和GSNBP(缓冲池)
    • MDSNCL和GDSNCL(收藏)
    • MDSNJR和MDSNJR(JAR)
    • MDSNPN和GDSNPN(计划)
    • MDSNSC和GDSNSC(模式)
    • MDSNSG和GDSNSG(存储组)
    • MDSNSM和GDSNSM(系统权限)
    • MDSNSP和GDSNSP(存储过程)
    • MDSNSQ和GDSNSQ(序列)
    • MDSNTB和GDSNTB(表格、视图、索引)
    • MDSNTS和GDSNTS(表格空间)
    • MDSNUF和GDSNUF(用户自定义函数)

    建议 :为 Db2 子系统定义安全标签SYSMULTI,供具有不同安全标签的用户访问,并使用需要行级粒度的表。

  2. 指定适当的安全标签层级。

    一般来说,在层级结构中处于较高位置的物体的安全标签应优先于层级结构中处于较低位置的物体的安全标签。 RACF 和 不会强制执行等级制度;它们只会执行您建立的支配规则。 Db2

    您可以使用 RACF 为以下对象层次结构中的 Db2 对象定义安全标签:

    • 子系统或数据共享组
      • 数据库
        • 表空间
      • 视图
      • 存储器组
      • 缓冲池
      • 套餐
      • 集合
        • 程序包
      • 模式
        • 存储过程或用户定义的函数
        • Java™ Archive (JAR)
        • 单值类型
        • 序列

    以下示例说明了 Db2 对象层次结构中对象之间的支配关系。

    示例 :一个系列应该主导一个包装。

    示例 :子系统应主导数据库。 该数据库应该占据整个表空间。 桌上的空间应该占据整个桌面。 该表格应该占据一整栏。

    示例 :如果视图基于单个表,则该表应主导视图。 但是,如果视图基于多个表,则视图应主导这些表。

  3. 在 RACF 中定义安全标签,并将用户与安全标签关联起来。 如果您使用的是TCP/IP连接,则需要为IP地址分组的安全区域在 RACF 中定义安全标签。 这些IP地址代表远程用户。
    授予具有 SYSADM、SYSCTRL 和 SYSOPR 权限的用户 SYSHIGH 安全标签。
  4. 在 RACF 中激活SECLABEL类。 如果您想启用减记控制,请在 RACF 中启用减记控制。
  5. 安装外部安全访问控制授权退出程序( DSNX@XAC ),例如 RACF 访问控制模块。