工作方式: 在 CICS 中进行标识

所有 CICS 任务都与一个或多个用户标识相关联。 主用户标识称为 任务用户标识。 任务用户标识派生自任何已启动任务的用户或任何已启动任务的用户,这可能是许多不同事项中的一个。 为了区分来自其中每个起始点的用户标识, CICS 对它们使用不同的名称。 这些名称在本文档中进行了说明。

CICS 调用 RACF 以确定用户标识是否有权完成请求。 例如,当任务发出请求以访问资源或连接 CICS 事务以运行另一个任务时,

个别用户发出 CICS 请求并提供标识以执行此操作。 以下用户 (按字母顺序) 使用反映其访问 CICS的方式的 RACF 用户标识进行标识:
表 1. 简单 RACF 用户标识
定义 简述
已断言的用户标识 从可信远程系统流出的用户标识。
已认证的用户标识 从远程系统共享的用户标识,其中包含 CICS 用于认证用户的凭证。
证书用户 ID 与客户证书相关的用户 ID。
客户机用户标识 来自 CICS 外部的身份,其中包含一些要认证的凭证。
EDF 用户标识 用于运行执行诊断工具以测试事务的用户标识。
生效用户标识 功能用户标识是功能的所有用户使用的用户标识,而不是标识单个客户机用户标识。
链接用户标识 作为绑定过程的一部分传递的用户标识或在与连接关联的资源定义中定义的用户标识。
资源用户标识 在资源定义中定义的用于运行任务或用于授权请求的用户标识。
会话用户标识 可以与会话关联的用户标识,例如 3270 终端会话。
任务用户标识 任务用户标识是从任何已启动任务的用户或任何已启动任务的用户获取的。
技术用户标识 功能用户标识的备用名称。
CICS 支持代理安全性,其中一个用户可以代表另一个用户执行操作。 当 CICS 使用替代安全性时,将使用 RACF 用户标识来标识以下用户 (按字母顺序):
表 2。 使用代理安全性的 RACF 标识
定义 简述
批处理区域用户标识 批处理区域用户标识是将运行请求的用户标识。 它通常是 功能用户标识
执行用户标识 执行用户标识 (通常是 功能用户标识) 与 代理用户标识配对。
代理用户标识 代理用户有权代表另一用户 ( 执行用户) 开始工作。
并非所有用户标识都源自 RACF 用户标识。 具有来自外部安全域的不同用户身份的远程系统可以连接到 CICS。 同样, CICS 使用的 Liberty JVM 服务器使用不同类型的用户身份。 可以将这些不同的用户身份映射到 RACF 用户标识,以使其能够访问 CICS 资源。
表 3。 映射到 RACF 的远程用户标识
定义 简述
分布式身份 (distributed identity) 分布式身份表示来自流入 CICS的不同安全领域的用户身份信息。
Java 安全主题 Java 安全主体集由 Liberty 用于表示用户。

如何在 CICS 中识别用户,说明如何使用这些用户标识。

许多用户与 CICS 区域本身相关联。 这些用户使用反映 CICS配置的 RACF 用户标识进行标识:
表 4。 与 CICS 区域及其配置关联的用户标识
定义 简述
CICS 缺省用户标识 与 CICS 区域关联的其中一个用户标识,用于在没有其他更具体的用户标识的情况下保护资源。
CICS 区域用户标识 与与 CICS 启动时启动的任务关联的 CICS 区域关联的其中一个用户标识。
Kerberos 服务主体用户标识 与与 Kerberos 使用相关的 CICS 区域相关联的其中一个用户标识。
PLT 用户标识 当第二阶段 PLT 程序发出请求时,与 CICS 区域关联的其中一个用户标识。

有关用户的信息存储在用户注册表中。 请参阅 用户注册表 以获取 CICS 支持的选项。

如何在 CICS 中识别用户

图 1 显示了用户标识进入 CICS 的不同方式以及它们如何映射到处理其请求的任务的任务用户标识。 当请求进入 CICS时,各种系统任务会在用户任务启动之前进行处理; 这些系统任务不会显示在图中。

图 1。 如何在 CICS 中识别用户
如何在 CICS 中识别用户
从会话
每个用户在启动会话时提供包含用户标识和密钥 (例如密码) 的凭证。 此用户标识称为 会话用户标识。 会话示例包括从 CICS Explorer (通过使用 CMCI JVM 服务器) 或 CICSPlex SM WUI 通过 3270 终端与 CICS 进行交互。 用户在会话期间发出的每个请求都将返回到同一连接,并在同一用户标识下运行。 通过会话启动的任何任务都以用户在会话启动时提供的会话用户标识运行。
通过不可信的连接
不可信连接是不为连接本身建立信任的连接。 请求是无状态的,因此在处理请求之前,每个请求都必须通过提供可在 CICS 中认证的凭证来建立信任。 凭证包含 已认证的用户标识已认证的用户标识 用作任务用户标识。
通过可信连接
两个用户标识通过连接与请求关联:
  • 链接用户标识与连接本身相关联。
  • 与请求关联的用户标识。
在绑定连接时,远程系统和 CICS 系统必须建立信任,这可以通过以下两种方法之一来完成:
  • 远程系统提供在建立连接时认证的凭证。 这些凭证可以是与链接用户标识关联的证书。
  • 可以在 z/OS中安全地定义会话,例如在 VTAM 定义中。 根据连接类型,链接用户标识可以流入 CICS 或在 CICS中定义。

CICS 连接定义可能要求除了连接的信任关系外,还必须认证与请求相关联的用户标识。 然后,请求必须提供可认证的凭证,从而生成 已认证的用户标识。 或者, CICS 连接定义可以指定它信任远程系统。 在这种情况下,远程系统只需要在请求中提供 已声明的用户标识

CICS 连接定义指定是否需要与请求关联的用户标识 ( 已认证的用户标识已声明的用户标识)。 如果是这样,那么它将用作任务用户标识。 如果不需要,那么链接用户标识将用作任务用户标识。

CICS 内部 (在 CICS 处理期间)
作为 CICS 处理的一部分, CICS 使用某些资源定义中的信息来启动具有特定用户标识的任务,或者使用特定用户标识对请求进行授权。 该任务与资源属性上定义的用户标识相关联。 此用户标识称为 资源用户标识

类似的概念是 PLT 用户标识, 用于启动任务以运行 PLT。

CICS 中用户标识的类型

用户标识按字母顺序列出。

已声明的用户标识

通过可信连接或组件接收的消息或请求可以包含先前已由另一组件认证的用户标识。 用户 ID 无需在 CICS® 中进行验证,因为其他组件是可信的。 因此,将 断言用户标识。 将此标识与 已认证的用户标识 进行比较,其中还必须认证与请求相关联的用户标识。

已认证的用户标识

CICS 连接定义可能要求除了连接的信任关系外,还必须认证与请求相关联的用户标识。 然后,请求必须提供可认证的凭证,从而生成 已认证的用户标识。 将其与 已声明的用户标识 进行比较,在该用户标识中,通过可信连接接收的消息或请求可以包含先前由远程系统认证的用户标识。

批处理区域用户标识

运行批处理时使用的用户标识。 此用户标识通常配置为 功能用户标识

证书用户 ID

与证书相关联的用户 ID,该证书在相互 TLS 握手期间提交给CICS区域。 该用户 ID 可用作功能用户 ID、链接用户 ID 或任务用户 ID。 有关 RACF® 如何将证书映射到用户 ID 的更多信息,请参阅证书映射

CICS 缺省用户标识

与 CICS 区域关联的其中一个用户标识。

CICS 缺省用户标识 用于在没有其他更具体的用户标识的情况下保护资源。 例如,当启动 3270 终端会话时,该会话将与 CICS 缺省用户标识 相关联,直到用户登录为止。

您必须在没有使用安全资源的权限的情况下定义 CICS 缺省用户标识 。 建议缺省用户标识是仅包含 CICS 缺省用户标识的 RACF 组的成员。 它不得是任何其他组的成员。

由于 CICS 缺省用户标识 是运行 CICS的关键,因此必须对其进行保护。 建议使用 PROTECTED 属性向 RACF 定义此用户标识。 受保护的用户标识 不能用于登录到系统,并且通过不正确的系统访问尝试来保护用户标识不会被撤销。 此设置可防止失败的密码尝试导致拒绝服务攻击。

CICS 区域用户标识

与 CICS 区域关联的其中一个用户标识。

在 z/OS 环境中启动 CICS 区域时,通过提交 JCL 或使用启动式任务,作业或任务与用户标识相关联。 此用户标识称为 区域用户标识。 当启动的作业为 CICS时,它称为 CICS 区域用户标识。 CICS 区域用户标识访问代表任务用户列出的资源。 因此, CICS 区域用户标识必须具有对以下资源的权限:
  • z/OS 日志流
  • 数据集: CICS 系统数据集和 CICS 用户数据集, JES 假脱机数据集
  • 临时存储器数据共享服务器
  • SMSVSAM 服务器
  • 指定的计数器服务器
  • z/OS Communications Server ACB
  • 耦合设施数据表
  • RACF 密钥环
  • zFS 中的 JVM 服务器和 Liberty 配置文件以及日志记录目录
在以下情况下, CICS 区域用户标识 用于授权:
  • 向 JES 内部阅读器提交作业
  • 为 CICS 执行期间使用的其他用户标识授权代理
  • 作为传递到 RACF 的资源名称的前缀
  • 运行 CICS 系统事务 (也称为类别 1 事务)
  • 在 CICS 系统间通信中
  • 在 Liberty JVM 服务器中,用于控制向 Angel 进程注册
建议: 由于 CICS 区域用户标识 是功能强大的用户标识,因此必须对其进行保护。 必须使用 PROTECTED 属性将此用户标识定义到 RACF 。 受保护的用户标识 不能用于登录到系统,并且通过不正确的系统访问尝试来保护用户标识不会被撤销。 此设置可防止失败的密码尝试导致拒绝服务攻击。
客户机用户标识

来自 CICS 外部的身份,其中包含一些要认证的凭证。 该 ID 是RACF身份,否则就是分布式身份。

分布式身份 (distributed identity)

分布式身份 表示流入 CICS的不同安全域中的用户身份信息。 该用户身份信息包含来自不同于CICS所用RACF注册表的用户注册表的用户 ID,而且可能采用不同的形式,如X.500区分名称。 分布式身份在一个系统中创建和认证,并通过网络传递到一个或多个其他系统。 分布式身份仅源自 CICS外部。 CICS 从来不是分布式身份的源,而是可以传播分布式身份。

分布式身份通常通过分布式身份映射与RACF用户 ID 关联。 有关更多信息,请参阅 身份传播

分布式身份通常通过可信连接传递给CICS,或在签名的第三方身份验证令牌中传递。 分布式身份可通过第三方身份验证令牌流入 "CICS,如通过可信 IPIC 连接的 "JSON 网络令牌 (JWT)或 "扩展身份上下文参考(ICRX)

分布式身份还可以映射到 CICS外部的 RACF 用户标识,例如 IBM DataPower。 在这种情况下,只有 RACF 用户标识作为 声明的用户标识传递到 CICS 。

EDF 用户标识

执行诊断工具 (EDF) 可用于测试事务。 在双屏幕方式下测试事务时, EDF 运行所使用的用户标识 ( EDF 用户标识) 将变得重要。 在受测试事务中进行授权检查时,除了通常与该事务关联的用户标识 (如果未受测试) 之外,还会检查 EDF 用户标识的访问权限。

执行用户标识

在代理安全性中,执行用户标识与 代理用户标识配对。 执行用户标识通常是 功能用户标识。 代理用户有权为执行用户执行操作,而无需以该用户身份进行认证。 请参阅 代理安全性 (Surrogate security)

生效用户标识

功能用户标识 是功能的所有用户使用的用户标识,而不是标识个别客户机用户标识。 通常,您可以使用 链接用户标识 作为 任务用户标识来实现此配置。

Java 安全主题

Java 安全主题 由 Liberty 用于表示用户。 CICS Liberty 安全功能可用于同步 Java 安全主体集和 CICS 任务用户标识

Kerberos 服务主体用户标识

与 CICS 区域关联的其中一个用户标识。 如果使用 Kerberos,那么必须定义 Kerberos 服务主体以将 CICS 区域注册为 Kerberos的服务。 此用户标识必须具有与其关联的密码。 因此,不能将它定义为 RACF 受保护用户标识,并且它不能与 CICS 区域用户标识相同。

链接用户标识 作为连接的安全建立 (绑定) 的一部分从远程系统传递,或者在与连接关联的资源定义中定义。 请参阅 具有链接用户标识的资源 ,以获取应用此情境的资源的列表。

PLT 用户标识

与 CICS 区域关联的其中一个用户标识。

PLT 程序在 CICS 初始化期间运行。 由第二阶段 PLT 程序发出的请求与 PLT 用户标识相关联。 用户标识由 PLTPIUSR 系统初始化参数定义。

资源用户标识

资源用户标识 是在资源定义上定义的用户标识。 其目的是运行任务或用于请求授权。 请参阅 具有用户标识的资源 ,以获取与资源用户标识相关联的资源的列表。

会话用户标识

用户标识可以与会话相关联,例如 3270 终端会话。 当用户登录到终端时,此用户标识通常与会话相关联。

代理用户标识

代理用户有权代表另一用户 ( 执行用户) 开始工作。 执行用户通常是功能用户标识。 代理用户有权为执行用户执行操作,而无需以该用户身份进行认证。 请参阅 代理安全性 (Surrogate security)

任务用户标识

所有 CICS 任务都与一个用户标识相关联。 此用户标识是从启动任务的任何人员或任何人员获取的。

技术用户标识

功能用户标识的备用名称。 该文档自始至终都引用了 功能用户标识

与 CICS 任务关联的用户标识

一个 CICS 任务最多可以与三个用户标识相关联:
  • 任务用户标识
  • 链接用户标识
  • EDF 用户标识

任务用户标识是主用户标识。 在显示与任务关联的用户标识的 CICS 命令中,仅显示 任务用户标识 。 但是,所有三个用户标识都在授权中使用。

通过连接启动任务时,该任务可以具有 已声明的用户标识链接用户标识。 可以定义连接,以便不需要 声明的用户标识 。 在这种情况下,任务用户标识是链接用户标识。 此类型的 链接用户标识 通常称为 功能用户标识

当 EDF 调试任务时,控制 EDF 会话的用户标识称为 EDF 用户标识

在 CICS Liberty 服务器中启动任务或链接到 CICS Liberty 服务器中运行的程序时,可以在 Java 安全主题与 CICS 任务用户标识之间进行断言。 有关更多信息,请参阅 CICS Liberty 安全性功能部件

具有用户标识的资源

表 5 列出了关联了用户标识 (不包括链接用户标识) 的资源,其属性以及这些用户标识的用途。 有关更多信息,请参阅 资源定义属性

表 5。 具有用户标识的资源
资源 用户标识属性 用户标识的用途
具有事务启动 EP 适配器的 BUNDLE 事务启动 EP 适配器的属性中的 USERID。 用于启动事务的用户标识
DB2CONN AUTHID (在 API 请求中使用) AUTHTYPE 用于池线程的授权
  COMAUTHID (在 API 请求中使用) , COMAUTHTYPE 用于命令线程的授权
  SIGNID 登录到 IBM Db2 以获取池和 DB2ENTRY 线程的授权
DB2ENTRY AUTHID (在 API 请求中使用) , AUTHTYPE 对于 DB2ENTRY 授权 (非 RACF)
MQMONITOR MONUSERID MQ 监视器的任务用户标识
  USERID 与消息关联的任务用户标识
TDQUEUE JOBUSERID 使用瞬时数据队列提交的 JCL 的作业用户标识
  USERID 已触发任务的任务用户标识
URIMAP USERID 请求的任务用户标识

具有链接用户标识的资源

表 6 列出了使用关联链接用户标识的资源,其属性以及这些用户标识的用途。 有关更多信息,请参阅 资源定义属性

表 6。 具有链接用户标识的资源
资源 用户标识属性 用户标识的用途
连接 (APPC) SECURITYNAME 链接用户标识
IPCONN SECURITYNAME 链接用户标识
SESSIONS USERID 链接用户标识
TERMINAL SECURITYNAME 链接用户标识
  USERID 预设用户标识