使用代理安全性和 AUTHTYPE 安全性来控制对 CICS 向 Db2 提供的授权标识的访问

CICS® 代理安全性和 AUTHTYPE 安全性机制控制用户修改 CICS 提供给 Db2®的授权标识的能力。

关于此任务

使用代理安全性和 AUTHTYPE 安全性来确保仅允许某些用户更改授权标识,这些授权标识由 Db2 自己的安全性检查用于安全性检查。 为整个 CICS 区域设置了代理安全性和 AUTHTYPE 安全性,涉及授权标识更改的任何事务都受其约束。

针对 CICS 区域和 CICS 事务向 Db2 提供授权标识 说明如何选择和更改这些授权标识。 总之, CICS 提供给 Db2 的授权标识由 Db2-related 资源定义上的 AUTHID , COMAUTHID , AUTHTYPE 和 COMAUTHTYPE 属性以及 CICS 区域的 DB2CONN 定义上的 SIGNID 属性设置。 要更改授权标识,您首先需要有权修改 DB2CONN 和 DB2ENTRY 定义,这些定义可能受命令安全性或资源安全性保护。 代理安全性提供了额外的保护层,因为它涉及 CICS 代表 Db2 执行操作,以检查是否允许修改授权标识的用户充当资源定义中指定的现有授权标识的代理。

当用户尝试更改 DB2CONN 或 DB2ENTRY 定义上的 SIGNID , AUTHID 或 COMAUTHID 属性时,真正的代理安全性将提供安全性检查,所有这些属性指定当进程登录到 Db2时使用的授权标识。 CICS 使用 RACF® 的代理用户设施来执行此检查。 代理用户是有权代表另一用户执行工作的用户,而不知道该用户的密码。 当用户尝试更改 SIGNAL , AUTHID 或 COMAUTHID 属性之一时, $TAG1 CICS $TAG2 会调用 $TAG3 RACF $TAG4 以检查用户是否被授权为 SIGNID , AUTHID 或 COMAUTHID 属性上当前指定的授权标识的代理。

对于 AUTHTYPE 和 COMAUTHTYPE 属性 (这些属性提供了要使用的授权标识类型,而不是指定精确的授权标识) , CICS 无法使用真正的代理安全性。 而是使用称为 AUTHTYPE 安全性的机制。 当用户尝试更改其中一个 AUTHTYPE 或 COMAUTHTYPE 属性时, CICS 会调用 RACF ,以检查是否已通过您在 RACF FACILITY 常规资源类中为资源定义定义的概要文件授权该用户。 虽然 AUTHTYPE 安全性不是真正的代理安全性,但它是由同一个系统初始化参数启用的,除了代理安全性之外,您可能还希望使用它,因此本主题中的指示信息告诉您如何设置这两种类型的安全性。

请注意,当 DB2CONN 和 DB2ENTRY 资源定义作为 CICS的冷启动或初始启动的一部分安装时,如果启用了代理安全性和 AUTHTYPE 安全性,那么 RACF 将对 CICS 区域用户标识进行代理安全性和 AUTHTYPE 安全性检查。 如果以此方式安装 DB2CONN 和 DB2ENTRY 资源定义,请确保将 CICS 区域用户标识定义为资源定义中指定的任何授权标识的代理用户,并且通过 RACF FACILITY 常规资源类中的正确概要文件对其进行授权。

要实施代理安全性和 AUTHTYPE 安全性以保护 CICS 提供给 Db2的授权标识,请完成以下步骤:

过程

  1. 要对 CICS 区域启用 RACF或等效的外部安全性管理器,请指定 SEC=YES 作为该区域的系统初始化参数。
  2. 要激活 CICS 区域的代理安全性和 AUTHTYPE 安全性,请指定 XUSER=YES 作为该区域的系统初始化参数。 此系统初始化参数将同时启用安全性机制。 启用安全性机制后,只要事务涉及对 DB2CONN 和 DB2ENTRY 资源定义的 SIGNID , AUTHID , COMAUTHID , AUTHTYPE 和 COMAUTHTYPE 属性运行的 EXEC CICS SET , CREATE 和 INSTALL 命令, CICS 就会调用 RACF 来执行安全性检查。 对于 SIGNID , AUTHID 和 COMAUTHID 属性, RACF 执行代理安全性检查,对于 AUTHTYPE 或 COMAUTHTYPE 属性, RACF 执行 AUTHTYPE 安全性检查。
  3. 为了实现代理安全性,您需要将相应的 CICS 用户或用户组定义为在 DB2CONN 和 DB2ENTRY 定义的 SIGNID , AUTHID 或 COMAUTHID 属性上指定的任何授权标识的代理。 要将用户标识定义为授权标识的代理:
    1. 为 RACF SURROGAT 类中的授权标识创建概要文件,其名称格式为 authid。DFHINSTL ,具有定义为所有者的授权标识。
      例如,如果已将 DB2AUTH1 指定为 SIGNID , AUTHID 或 COMAUTHID 属性上的授权标识,请使用以下命令来创建概要文件:
       RDEFINE  SURROGAT  DB2AUTH1.DFHINSTL  UACC(NONE) OWNER(DB2AUTH1)
    2. 允许相应的 CICS 用户充当授权标识的代理,方法是授予他们对您创建的概要文件的 READ 权限。
      例如,要允许标识为 CICSUSR1 的用户充当授权标识 DB2AUTH1的代理,并因此安装或修改将 DB2AUTH1 指定为现有授权标识的任何 SIGNID , AUTHID 或 COMAUTHID 属性,请使用以下命令:
      PERMIT   DB2AUTH1.DFHINSTL  CLASS(SURROGAT) ID(CICSUSR1)  ACCESS(READ)
      对在 SIGNAL , AUTHID 或 COMAUTHID 属性上指定的所有授权标识重复此过程。
    3. 如果您可能需要安装包含 SIGNID , AUTHID 或 COMAUTHID 属性的 DB2CONN 和 DB2ENTRY 资源定义作为 CICS的冷启动或初始启动的一部分,请允许 CICS 区域用户标识充当由这些属性指定的任何授权标识的代理。
      DB2CONN 和 DB2ENTRY 资源定义的缺省值不涉及 AUTHID 和 COMAUTHID 属性。 已安装的 DB2CONN 定义的缺省 SIGNID 是 CICS 区域的 applid。
  4. 为了实现 AUTHTYPE 安全性,您需要为 RACF FACILITY 常规资源类中的每个 DB2CONN 或 DB2ENTRY 资源定义创建概要文件,并授予相应的 CICS 用户或用户组对概要文件的 READ 权限。 (此过程会模仿真正的代理安全机制,但不涉及使用特定授权标识; 相反,它会保护每个资源定义。) 要执行该操作:
    1. 为 RACF FACILITY 常规资源类中的 DB2CONN 或 DB2ENTRY 资源定义创建概要文件,其名称格式为 DFHDB2.AUTHTYPE.authname,其中 authname 是 DB2CONN 或 DB2ENTRY 资源定义的名称。
      例如,要为名为 DB2CONN1的 DB2CONN 资源定义定义概要文件,请使用以下命令:
       RDEFINE  FACILITY  DFHDB2.AUTHTYPE.DB2CONN1   UACC(NONE)
      
    2. 授予相应的 CICS 用户对您创建的概要文件的 READ 权限。
      例如,要允许标识为 CICSUSR2 的用户在名为 DB2CONN1的 DB2CONN 资源定义上安装或修改 AUTHTYPE 或 COMAUTHTYPE 属性,请使用以下命令:
       PERMIT  DFHDB2.AUTHTYPE.DB2CONN1 CLASS(FACILITY) ID(CICSUSR2) ACCESS(READ)
    对每个 DB2CONN 和 DB2ENTRY 资源定义重复此过程。 此外,如果您可能需要在 CICS的冷启动或初始启动过程中安装包含 AUTHTYPE 或 COMAUTHTYPE 属性的 DB2CONN 和 DB2ENTRY 资源定义,请对这些资源定义的概要文件上的 CICS 区域用户标识授予 READ 权限。