使用 QUERY SECURITY 命令确定终端用户对资源的访问权

您可以使用 EXEC CICS QUERY SECURITY 命令来确定终端用户是否有权访问为外部安全性管理器定义的资源。

此上下文中的终端用户是调用包含 QUERY SECURITY 命令的事务的用户。

作为对 QUERY SECURITY 命令的响应, CICS 会返回有关终端用户安全权限的信息。 CICS 从外部安全性管理器获取此信息。 您可以根据用户允许的访问权,以不同方式对应用程序进行编码以继续操作。

按 CICS 资源类型名称指定要查询的资源类型。 例如,如果要查询用户访问文件的权限,可以指定 RESTYPE('FILE')。 要标识类型中的特定文件,请指定 RESID 参数。

典型用例: 在记录或字段级别控制对数据的访问

例如,针对文件资源的正常 CICS ® 资源安全性检查仅在文件级别起作用。 要控制对各个记录 (甚至是记录中的字段) 的访问,您可以使用 QUERY SECURITY。 为此,安全性管理员必须为要保护的记录或字段定义具有相应访问权限的资源概要文件名称。 这些概要文件在管理员定义的用户资源类中定义, 而不是 在 CICS 资源类中定义。

要查询这些类和资源, QUERY SECURITY 命令使用 RESCLASS 和 RESID 选项 (RESCLASS 和 RESTYPE 是互斥选项)。 您可以使用 QUERY SECURITY 返回的 CVDA 值来确定是访问记录还是字段。

编程提示

事务可以使用 QUERY SECURITY 命令来查询大量资源,以便准备终端用户有权访问的资源列表。 使用此方法可针对未授权事务访问的资源上的每个查询生成最多 4 条资源违例消息。 这些消息显示在系统控制台, CSCS TD 队列和 SMF 日志数据集上。 如果要禁止这些消息,请在 QUERY SECURITY 命令中编码 NOLOG。

其他注意事项

CICS 定义的资源标识

在除 SPCOMMAND 资源类型以外的所有情况下,资源标识都是用户定义的。 但是,对于 SPCOMMAND 类型,标识由 CICS 固定。 RESID 值 详细描述了 SPCOMMAND 资源类型的可能 RESID 值。

SEC 系统初始化参数

SEC 系统初始化参数的设置会影响 QUERY SECURITY 命令返回的 CVDA 值。

查找更多信息

使用 QUERY SECURITY 命令进行安全性检查 提供有关如何在应用程序中使用 QUERY SECURITY 来确定用户对特定资源的访问级别的详细信息。