CICS 环境中的代理作业提交

可以允许使用 CICS® 区域用户 ID 以外的 USER 参数运行 CICS 提交的批处理作业,但无需指定相应的 PASSWORD。 这称为 代理工作提交。 这些作业具有在 JOB 语句上指定的 USER 参数的访问权限。 如果在 JOB 语句上指定了 PASSWORD 参数,那么不会进行替代处理。

您(或 RACF® 安全管理员)可以通过在 SURROGAT 类中定义配置文件来允许这样做。 例如,如果 CICS 区域的用户 ID 是 CICS1,而作业的运行用户 ID 是 JOE,则应定义名为 JOE.SUBMIT 的 SURROGAT 配置文件,如下所示:
RDEFINE  SURROGAT  JOE.SUBMIT  UACC(NONE)
         NOTIFY(JOE)
此外,您必须允许 CICS 区域的用户 ID 充当刚刚定义的配置文件的代理:
PERMIT JOE.SUBMIT CLASS(SURROGAT) ID(CICS1) ACCESS(READ)
必须使用 RACLIST 激活 SURROGAT 类才能使此保护生效:
SETROPTS CLASSACT(SURROGAT) RACLIST(SURROGAT)
注意:

任何 CICS 用户,无论是否已登录,都可以提交使用 SURROGAT 用户标识的作业,前提是 CICS 用户标识具有 SURROGAT 的权限。 如果您的安装正在使用瞬时数据队列来提交作业,那么可以控制允许谁写入到转至内部阅读器的瞬时数据队列。 但是,如果您的安装使用 EXEC CICS SPOOLOPEN 提交作业,您就无法控制谁可以提交作业(如果不编写 API 全局用户退出程序来筛选命令)。 CICS 假脱机命令不执行 CICS 资源或命令检查。

您可以使用 EXEC CICS ASSIGN USERID 命令查找触发应用程序代码的用户的用户 ID。 然后,应用程序员可以提供用于将 USER 操作数编辑到发往内部阅读器的 JOB 卡上的代码。

有关代理任务提交支持的完整说明,请参阅 z/OS Security Server RACF 安全管理员指南