控制用户对 DB2 命令的访问权

对于 CICS 用户,当用户尝试访问发出 DB2 命令的 CICS 事务时,将在 CICS 地址空间中执行与 DB2 命令相关的第一次安全性检查。 这可以是 DSNC ,也可以是调用 DFHD2CM1 并运行单个 DB2 命令的用户定义事务。

关于此任务

控制用户对 DB2-related CICS 事务的访问 描述了如何控制用户对在 CICS 地址空间中发出 DB2 命令的事务的访问。

当用户通过 CICS 事务发出 DB2 命令时,他们还需要接受 DB2自己的安全性检查,这将验证他们是否有权向 DB2 发出该命令。 此安全性检查使用事务从 CICS传递的授权标识 (主或辅助)。 针对 CICS 区域和 CICS 事务向 DB2 提供授权标识 指示您如何选择这些授权标识并将其提供给 DB2。 对于使用 DFHD2CM1 发出 DB2 命令的事务,授权标识由 CICS 区域的 DB2CONN 定义的 COMAUTHID 或 COMAUTHTYPE 属性设置。 对于发出 DB2 命令的其他应用程序,授权标识由 CICS 区域的资源定义的 AUTHID 或 AUTHTYPE 属性为事务所使用的线程类型 (池线程或条目线程) 设置。 这些属性控制由使用该类型线程的事务传递到 DB2 的授权标识或授权标识类型。

因此, DB2 命令将接受两次安全性检查,一次在 CICS 地址空间中,另一次在 DB2 地址空间中。 图 1 说明了此过程。
图 1。 DB2 命令的安全性机制
终端上的用户使用 DSNC 输入 DB2 命令 (CRC 为 "-")。 在 CICS 地址空间中,将检查输入以确保用户有权使用 DSNC 事务。 如果用户具有此权限,那么将启动 DSNC ,并且 CICS DB2 连接设施会向 DB2请求命令线程。 用户的授权标识通过命令线程传递到 DB2 地址空间中的常规命令处理器。 DB2 使用授权标识来检查用户是否有权发出该 DB2 命令。

在大多数情况下,只允许有限数量的用户执行 DB2 命令。 方便的解决方案可以是在 DB2CONN 定义上指定 COMAUTHTYPE (USERID) ,该定义将解析为 8 字节 CICS 用户标识作为 DB2中的授权标识。 通过使用此方法,您可以显式地向 CICS 用户标识授予不同的 DB2 特权。 例如,可以使用 GRANT DISPLAY 来授予特定 CICS 用户标识仅使用 -DIS 命令的许可权。

要授权用户发出 DB2 命令,请使用 GRANT 命令将 DB2 命令特权授予事务从 CICS传递的授权标识。 有关如何授予和撤销授权标识的 Db2® 许可权的信息,请参阅 Db2 for z/OS 产品文档中的 "保护 Db2 "