为 CICS 事务提供辅助授权标识

当属于 CICS 事务的线程 TCB 登录到 DB2时,它可以向 DB2提供一个或多个辅助授权标识以及主授权标识。

关于此任务

您可以向 DB2 提供 CICS 用户的 RACF 组或组列表的名称作为辅助授权标识。 这具有以下优点: 您可以将 DB2 特权和权限授予 RACF 组,而不是授予每个单独的 CICS 用户。 然后,可以根据需要将 CICS 用户连接到 RACF 组或从这些组中除去这些用户。 RACF 组概要文件 说明如何将用户放入 RACF 组中。

仅当在 DB2ENTRY 定义中指定了 AUTHTYPE 属性的 GROUP 选项 (对于条目线程) 或者在 DB2CONN 定义中指定了 AUTHTYPE 或 COMAUTHTYPE 属性 (对于池线程或命令线程) 时,才能向 DB2 for CICS 事务提供辅助授权标识。 如果为 AUTHTYPE 或 COMAUTHTYPE 指定任何其他选项,那么辅助授权标识将设置为空白。 指定 GROUP 选项时,无法选择线程类型的主授权标识; 它将自动定义为与事务关联的 CICS 用户的用户标识。 您应该改为根据辅助授权标识进行安全性检查。

要将用户的 RACF 组的名称作为辅助授权标识提供给 DB2 ,请完成以下步骤:
  1. 指定 SEC=YES 作为 CICS 区域的系统初始化参数,以确保 CICS 使用 RACF。 如果使用前缀定义了 CICS 事务概要文件名称,那么还请指定系统初始化参数 SECPRFX=YES 或 SECPRFX=prefix
  2. 如果 CICS 区域正在使用 MRO:
    1. 确保每个已连接的 CICS 区域也使用 RACF 安全性 (SEC = YES)。
    2. 在 TOR 的 CONNECTION 定义上指定 ATTACHSEC=IDENTIFY ,以确保将登录信息从 TOR 传播到 AOR。
  3. 替换缺省 DB2 登录出口例程 DSN3@SGN。 此登录出口例程是在登录处理期间驱动的。 缺省登录出口例程不支持辅助授权标识,因此您需要将其替换为随 DB2提供的样本登录出口例程 DSN3SSGN或您自己的例程。 DSN3SSGN 在 DB2 SDSNSAMP 库中以源格式提供,您可以将其用作自己的例程的基础。 有关登录出口和编写出口例程的信息,请参阅 Db2 for z/OS 产品文档中的 "保护 Db2 "。如果 RACF 组列表选项未处于活动状态,那么 DSN3SSGN 会将当前连接的组的名称作为辅助授权标识传递。 如果 RACF 组列表处于活动状态,那么 DSN3SSGN 将获取用户所连接的所有组的名称,并将它们作为辅助授权标识传递给 DB2 。
  4. 使用 DB2ENTRY 定义中的 AUTHTYPE 属性 (对于条目线程) 或 DB2CONN 定义中的 AUTHTYPE 或 COMAUTHTYPE 属性 (对于池线程或命令线程) ,将 GROUP 选项指定为要为其提供辅助授权标识的每种类型的线程的授权类型。 如果对 CICS 区域实施了代理用户检查 (即,系统初始化参数 XUSER 设置为 YES) ,那么需要获取特殊权限以执行涉及 DB2 授权标识的操作。 使用代理程序安全性和 AUTHTYPE 安全性来控制对 CICS 提供给 DB2 的授权标识的访问,说明如何执行此操作。
如果已成功完成以上列出的所有步骤,那么当 CICS 事务的线程 TCB 使用您使用 GROUP 选项定义的线程类型登录到 DB2 时, CICS 用户的用户标识将作为主授权标识传递到 DB2 ,并且用户的 RACF 组或组列表将作为辅助授权标识传递到 DB2 。 如果尚未成功完成所有步骤,那么 CICS DB2 连接工具将发出授权失败消息。

作为将 RACF 组的名称作为辅助授权标识提供给 DB2的替代方法,您可以编写自己的登录出口例程来设置 CICS 事务的辅助标识。 请参阅 Db2 for z/OS 产品文档中的 "保护 Db2 "