命令安全性

命令安全性适用于 CICS® 系统编程命令。 当从 CICS 应用程序发出这些命令时,将对这些命令执行安全性检查,并对您可以使用 CEMT 主终端事务或 CECI 发出的等效命令执行安全性检查。 除了您为事务定义的任何事务安全性或资源安全性外,命令安全性也会运行。 您应该 始终 启用命令安全性。 如果没有命令安全性,那么应用程序或有权访问 CEMT 或 CICS 的任何用户都可以发出任何 SPI 命令。

有关系统编程命令的列表,请参阅 系统命令

与资源安全性一样,您可以在单个事务级别控制命令安全性检查。 您可以控制对与特定事务关联的 SPI 命令的访问。 可能只允许有权调用特定事务的用户查询资源的状态,而不允许对其进行更改。 此支持的主要用途是限制用户可以对功能强大的事务 (例如 CEMT) 执行的操作,您可以使用这些操作来查询资源,更改资源以及关闭 CICS。

当 CICS 发出访问 SPI 命令的授权请求时, TRANSACTION 资源定义控件上的系统初始化参数 (XCMDCMDSEC) 和属性。 XCMD 参数告诉 CICS ,您希望对 CICS 系统命令进行命令安全性检查。 每当事务尝试访问该命令时, CICS 都会检查运行该命令的权限。 CMDSEC 为您提供了额外的灵活性,可在事务级别控制命令安全性。 TRANSACTION 资源上的 CMDSEC 属性指定您希望命令安全性应用于该事务。 CMDSEC 系统初始化参数确定 CICS 是采用 TRANSACTION 资源定义上的设置还是覆盖该设置并始终执行命令安全性检查。

用于授权的用户标识是与请求关联的用户标识。 有关用户标识的详细信息,请参阅 工作方式: CICS中的标识

图 1 显示命令安全性的工作方式,其中系统管理员定义了事务 CEMT 以要求命令安全性检查。
图 1。 命令安全性
命令安全性
在此方案中:
  1. 用户启动 CEMT 请求,例如 CEMT PERFORM SHUTDOWN
  2. CICS 检查 CICS 系统命令 (XCMD SIT 参数) 的命令安全性是否处于活动状态。
  3. CICS 检查事务资源定义中的命令安全性是否处于活动状态 (CMDSEC) ,例如:
    DFHCSD
    TRANSACTION(CEMT)
    CMDSEC(YES)
  4. CICS 检查 SIT 参数 CMDSEC。 如果设置为 ALWAYS,那么将始终执行命令安全性检查,而不考虑事务资源定义中的 CMDSEC 值。
  5. CICS 调用 ,通过检查命令的资源标识符来确定用户是否有足够的访问权限运行命令。 RACF® CICS 资源中描述了每个命令的资源标识。
  6. RACF 会检查当前活动的资源概要文件,并向 CICS返回 "是" 或 "否" 决策。 RACF 还会记录活动。 如果 RACF 无法找到匹配的个人资料, CICS 就会将这种情况作为否定决定处理。
  7. 然后, CICS 允许或拒绝用户访问以运行该命令。

CICS 和 RACF 使用 RACF 资源类中每个事务的概要文件来处理授权请求。 可以在 CICS (CCICSCMD 或 VCICSCMD) 的缺省 RACF 资源类中或在您自己的类中定义这些概要文件。 请参阅 资源的RACF 类和概要文件 ,以获取有关 RACF 资源类的更多信息。

当前活动 概要文件用于授权检查。 要了解这一点,请参阅刷新用于 SETROPTS RACLIST 处理的配置文件

要设置命令安全性:
  • 设置 XCMD 系统初始化参数。 始终开启 XCMD。
  • 通过在 TRANSACTION 资源定义上设置 CMDSSEC 属性来控制各个事务的命令安全性。
  • 设置 CMDSEC 系统初始化参数,以告知 CICS 是采用还是覆盖 TRANSACTION 资源定义上的 CMDSEC 属性。
  • 设置 RACF 概要文件以指定用户是否有权访问资源。
为帮助您决定要使用命令安全性来保护哪些命令,请参阅 CICS 命令受命于命令安全性检查