DB2 多级别安全性和行级别安全性
DB2® 版本 8 引入了对多级别安全性的支持。 CICS® 不提供对多级别安全性的特定支持,但您可以在多级别安全环境中使用 CICS ,前提是您需要注意配置。
在针对 DB2 V 8 或更高版本中的数据的行级别 (行级别安全性) 实现多级别安全性时,将激活 RACF® SECLABEL 类,并为用户和 DB2 表行定义一组安全标号。 RACF 选项 SETR MLS 和 MLACTIVE 不需要处于活动状态。 您可以使用 DB2 行级别安全性,而不会影响 MVS™ 系统的其余部分。
CICS 能够以这种方式访问受保护的 DB2 行。 对于 CICS,您需要确保在 RACF 中定义了需要访问 DB2 行的 CICS 用户的 RACF 用户概要文件,以包含缺省 SECLABEL。 有关详细信息,请参阅 z/OS Security Server RACF Security Administrator 's Guide。
当 CICS 用户使用 SIT 中指定的 SEC=YES 登录到 CICS 区域时, RACF 会将缺省 SECLABEL 与用户的 RACF 访问控制环境元素 (ACEE) 相关联。 DB2ENTRY 定义 (或 DB2CONN 定义 (如果正在使用池)) 需要指定 AUTHTYPE=USERID 或 AUTHTYPE=GROUP ,这将确保 ACEE 传递到 DB2 以进行进一步的安全性检查。 因此,单个 CICS 用户只能有一个关联的 SECLABEL。
对于非终端任务或程序 (例如 PLT 程序) ,如果未指定 PLTPIUSR 系统初始化参数,并且指定了 PLTPISEC=NONE 系统初始化参数,那么 PLT 程序将在 CICS 区域用户标识下运行。 在这种情况下,您需要使用缺省 SECLABEL 来定义 CICS 区域用户标识。 如果需要为事务定义不同的 SECLABELS ,那么需要在具有不同 CICS 区域用户标识和关联 SECLABEL 的单独 CICS 区域中运行每个事务。