CICS® 资源安全性机制控制用户对指定 CICS 资源的访问。 例如,您可以使用它来保护特定资源 (例如,特定 DB2ENTRY 定义) 不被特定用户修改。
关于此任务
CICS 命令安全性可阻止用户对资源类型 (例如 所有 DB2ENTRY 定义
) 执行某些操作,但它无法保护资源类型中的各个项。
因为 CICS 区域只有一个 DB2CONN 定义,所以您不需要使用资源安全性来保护它; 您可以使用命令安全性来控制对 DB2CONN 定义的访问。 此外,出于资源安全性的目的, DB2TRAN 定义会被视为它们所引用的 DB2ENTRY 定义的扩展,并且不会单独为资源安全性定义。 如果授予用户访问 DB2ENTRY 定义的许可权,那么还授予他们访问引用该定义的 DB2TRAN 定义的许可权。 (在事务更改与 DB2TRAN 定义相关联的 DB2ENTRY 的名称的情况下,将执行双重安全性检查,以验证用户是否有权修改该定义所引用的旧 DB2ENTRY 及其将引用的新 DB2ENTRY 。) 因此,为了实现资源安全性,您只需要将 DB2ENTRY 定义定义到 RACF®。
为事务启用资源安全性时,外部安全性管理器将检查与该事务关联的用户标识是否有权修改所涉及的资源。 资源定义的安全性 具有有关此过程的更多信息。
要使用资源安全性来保护与 Db2®相关的资源,请完成以下步骤。
过程
- 要启用 RACF或等效的外部安全性管理器,并使资源安全性可用于 CICS 区域,请指定 SEC=YES 作为 CICS 区域的系统初始化参数。
- 在 RACF中,创建常规资源类以包含与 Db2相关的资源。 您需要成员类和分组类。
与 CICS的 RACF 缺省资源类名不同,没有 IBM®为 DB2ENTRY 资源提供的缺省类名。 通过向 RACF 类描述符表 (CDT) 的安装定义部分 (模块 ICHRRCDE) 添加新的类描述符来创建您自己的安装定义类名。 有关如何执行此操作的示例,请参阅 CICSTS56的成员 DFH$RACF 中提供的 IBM提供的样本作业 RRCDTE。CICS.SDFHSAMP。 这提供了名为 XCICSDB2的成员类以及名为 ZCICSDB2的分组类的示例。 此示例使用与 CICS的缺省资源类名相同的命名约定。 请勿将现有的 CICS 类名用于 Db2相关资源定义; 而是使用类似的命名约定来创建新的类名。
- 在已创建的资源类中定义 DB2ENTRY 定义的概要文件。
例如,要将多个 DB2ENTRY 名称添加到 XCICSDB2 资源类,请按如下所示使用 RDEFINE 命令:
RDEFINE XCICSDB2 (db2ent1, db2ent2, db2ent3.., db2entn) UACC(NONE)
NOTIFY(sys_admin_userid)
保护 DB2ENTRY 资源定义还会保护对关联的 DB2TRAN 定义的访问权,因为 DB2TRAN 被视为它所引用的 DB2ENTRY 的扩展。 您不需要使用资源安全性来保护 DB2CONN 定义。
- 要激活与 Db2相关的资源的资源安全性,请将 XDB2 =name 指定为 CICS 区域的系统初始化参数,其中 name 是您为 Db2相关资源定义的常规资源类名。
- 在资源定义中指定 RESSEC=YES ,用于涉及您要对其启用资源安全性的 Db2相关资源的任何事务。 现在,当用户尝试使用其中一个事务来访问您已保护的某个 Db2相关资源时, RACF 将检查用户标识是否有权访问该资源。
- 授予 CICS 用户或用户组许可权,以在您已保护的每个 Db2相关资源上执行相应的操作。
请记住,如果用户有权对 DB2ENTRY 定义执行操作,那么他们将自动被授权对与 it.The 访问权相关联的 DB2TRAN 定义执行与用户需要执行特定操作相同的操作,如下所示:
- INQUIRE 命令
- 需要 READ 权限
- SET 命令
- 需要 UPDATE 权限
- CREATE 命令
- 需要 ALTER 权限
- DISCARD 命令
- 需要 ALTER 权限
例如,您可以使用 PERMIT 命令授权一组具有 UPDATE 权限的用户修改类 XCICSDB2中受保护的 DB2ENTRY
db2ent1 ,如下所示:
PERMIT db2ent1 CLASS(XCICSDB2) ID(group1) ACCESS(UPDATE)