向内部阅读器提交 JCL 作业的安全性
为了使 CICS® 能够保护能够提交 JCL 的人员,需要许多配置和安全性定义。
- 将 WRITEQ TD 命令用于对内部阅读器定义的分区外 TDQ
- 在 SPOOLOPEN 命令上指定了 用户标识 ("INTRDR") 时使用 SPOOLWRITE 命令
- 区域用户标识。
- 注册用户标识。 这是正在运行任务的用户标识 (如果未登录,那么为缺省用户标识)。
- 作业用户标识。 这是由 JOB 卡上的 USER 参数指定的。 如果 JOB 语句不包含 USER 参数,那么缺省值将取决于安全设置。 如果这不是区域用户标识,那么 CICS 将向 JOB 卡添加 USER=job_userid 。 在 CICS TS 5.5之前的发行版中,缺省值始终是区域用户标识。
通过 TDQ 提交的 JCL 作业的保护由 TDQ 上的资源安全性提供。 如果在 JOB 卡上指定了 USER 参数,那么将通过代理用户检查来提供其他保护。 有关详细信息,请参阅 使用 TDQ 提交 JCL 时的安全性。
通过代理用户检查提供对使用假脱机命令提交的 JCL 作业的保护。 有关详细信息,请参阅 使用 SPOOLWRITE 命令提交 JCL 时的安全性。
此外,还需要在 JESSPOOL 类中具有区域用户标识的概要文件,以授予区域用户标识权限来提交作业用户标识的作业。 如果代理检查失败,请参阅 z/OS 代理用户检查 以获取 RACF® 定义和错误消息的详细信息。
使用 TDQ 提交 JCL 时的安全性
保护由 TDQ 的资源安全性检查提供。 有关详细信息,请参阅 瞬时数据安全性。
其他安全性配置和检查取决于是否使用 WRITEQ TD 命令在写入 TDQ 的作业卡上指定了用户标识。
- 如果指定了用户标识
- 示例:
//JOBNAME JOB USER=JOBUSERCICS 在将作业卡写入 TDQ 时执行额外的代理检查。 此代理检查验证任务用户标识是否有权代表作业用户标识 (在以上示例中为
JOBUSER) 提交作业。要启用此安全性检查,必须设置以下选项:- CICS 代理用户检查由系统初始化参数 XUSER=YES启用。
- 启用了用于对假脱机命令进行代理用户检查的功能切换:
com.ibm.cics.spool.surrogate.check=true
如果代理检查失败,那么将从 WRITEQ TD 命令返回 NOTAUTH 响应。 如果代理检查失败,请参阅 CICS 代理用户检查 以获取 RACF 定义和错误消息的详细信息。
- 如果未指定用户标识
- 示例:
//JOBNAME JOBCICS 将向写入 TDQ 的语句添加 USER 参数。 添加的作业用户标识将设置为 TDQ 定义中的 JOBUSERID 选项指定的值。//JOBNAME JOB USER=jobuserid如果未在 TDQ 定义中定义 JOBUSERID ,那么作业用户标识将设置为 CICS 区域用户标识。 CICS不会执行其他代理检查。//JOBNAME JOB USER=regionuserid
使用 SPOOLWRITE 命令提交 JCL 时的安全性
要使用假脱机命令,必须使用系统初始化参数 SPOOL=YES来启动 CICS 。
- CICS 代理用户检查由系统初始化参数 XUSER=YES启用。
- 启用了用于对假脱机命令进行代理用户检查的功能切换:
com.ibm.cics.spool.surrogate.check=true
如果代理检查失败,那么将从 SPOOLWRITE 命令返回 NOTAUTH 响应。 如果代理检查失败,请参阅 CICS 代理用户检查 以获取 RACF 定义和错误消息的详细信息。
com.ibm.cics.spool.defaultjobuser=TASK在 JOB 卡上指定区域用户标识
如果您希望作业能够在区域用户标识下运行而不需要动态更改 JCL ,那么可以在 JOB 卡上指定 USER=&SYSUID 。 这将在提交作业的任何区域用户标识下运行作业。 这适用于使用 SPOOLWRITE 命令或使用 TDQ 编写的 JCL 作业。 A surrogate security check, if applicable, will be made when jobs are submitted using &SYSUID to represent the region user ID.
z/OS® 代理用户检查
虽然 SPOOLWRITE 和 WRITEQ TD 命令由注册用户标识发出,但作业由区域用户标识提交。 因此,如果作业用户标识不是区域用户标识,并且未提供密码,那么需要授予区域用户标识代理权限以代表作业用户标识提交作业。 无论 CICS 代理用户检查是否处于活动状态,都需要执行此操作。
RDEFINE SURROGAT job_userid.SUBMIT UACC(NONE) OWNER(sysadmin)
PERMIT job_userid.SUBMIT CLASS(SURROGAT) ID(region_userid) ACCESS(READ)
如果将区域用户标识配置为能够代表任何用户提交作业,那么建议不要将区域用户标识用于运行 CICS的用户标识以外的任何其他用途。
此检查在提交作业后进行。 如果检查失败,那么作业将失败,并向控制台和作业日志发出 ICH408I 消息,但不会向应用程序返回响应。
ICH408I USER (job_userid) GROUP (group) NAME (username) SUBMITTER (region_userid) 登录/作业启动-用户未授权提交者
CICS 代理用户检查
- CICS 代理用户检查由系统初始化参数 XUSER=YES启用。
- 启用了用于对假脱机命令进行代理用户检查的功能切换:
com.ibm.cics.spool.surrogate.check=true
如果作业用户标识不是注册用户标识,并且未提供密码,那么需要授予注册用户标识代理权限以代表作业用户标识提交作业。
RDEFINE SURROGAT job_userid.SUBMIT UACC(NONE) OWNER(sysadmin)
PERMIT job_userid.SUBMIT CLASS(SURROGAT) ID(signed_on_userid) ACCESS(READ)
如果代理检查适用,那么将在 SPOOLWRITE 或 WRITEQ TD 命令写入 JOB 卡时进行。 如果检查失败,那么该命令将失败并产生 NOTAUTH 响应。 此外,将向 CICS 日志发出 DFHXS1111 消息,并向控制台和作业日志发出 ICH408I 消息。
ICH408I USER (job_userid) GROUP (group) NAME (username) SUBMITTER (signed_on_userid) 登录/作业启动-用户未授权提交者
了解更多信息
如果要迁移到使用 CICS 代理用户检查,请遵循 升级安全性中的指示信息。