配置安全性定义捕获 (SDC)

6.2 及以后版本 适用于 6.2 及以后版本。

要在开发过程中手动捕获应用程序所需的安全定义,必须在调用应用程序的区域内配置 CICS® 安全定义捕获 (SDC)。

如果要自动捕获必需的安全性定义,请考虑改为使用安全性定义验证 (SDV)。 SDV 是 CICS 提供的完整 CI 管道实施示例,该管道在自动测试阶段使用 SDC,并对任何安全定义变更启动审批流程。 SDV 可以重复使用现有的 SDC 配置,但也可以在 CICS 区域配置 SDC,因为那里还没有 SDC。 可通过 Galasa SDV 管理器 CPS 属性进行配置。 有关示例,请参阅在 CICS TS 应用程序 CI 管道中引入安全定义验证

有关 SDC 或 SDV 工作方式的更多信息,请参阅 工作方式: 在开发过程中捕获和验证安全性定义

开始之前

您的 CICS 区域必须是 CICS TS 6.2 或更高版本。 还需要在 SIT 中定义 SEC=YES。 其他安全参数是可选的。

您必须已在调用应用程序的区域中 设置安全请求记录 (SRR) 。 忽略授予用户 SECRECORDING 命令 UPDATE 权限的步骤。

需要使用 SDC 的用户(例如开发人员和测试人员)必须有运行 CXSD 事务的权限,无论使用哪个接口。

关于此任务

当开发人员或测试人员在 SDC 开启时执行应用程序测试时, CICS 将捕获运行应用程序所需的安全性定义。

您可以通过以下任一方式启动或停止 SDC:
  • 对于 3270 应用程序,通过运行 CXSD 事务
  • 对于其他应用,请调用 HTTP

当 SDC 停止时, CICS 提交 JCL 作业以处理和输出所需的安全性定义。 输出安全性定义将以 YAML 格式导出到 安全性元数据 中。 可以通过以下两种方式之一提交作业: 通过 TDQUEUE 或通过将其写入 SPOOL。 作业的提交方式取决于 CICS 配置。

USSHOME/security/sdc.jcl上提供了样本 JCL ,您可以对其进行定制以进行作业提交。

过程

  1. 将样本 JCL (sdc.jcl) 从 USSHOME/security 复制到 USSCONFIG/security,其中 USSCONFIG 是 USSCONFIG SIT 参数上指定的位置。
    文件名必须为 sdc.jcl
  2. 按如下所示定制 JCL:
    HLQ
    是 CICS 库的 HLQ 路径。 将 hlq 更改为已安装库的高级限定符。
    逻辑

    必须保留为 '&logstream'。 CICS 将此值替换为 DFHSECR 日志流日志名称。

    有关更多信息,请参阅 配置安全请求记录 (SRR)

    标识
    必须保留为 '&matchid'。 CICS 将用 SDC 生成的正确匹配标识替换此值。
    共青团
    指定 JCL 使用的临时文件的大小。 缺省情况下,将使用值 CYL=5 。 如果您正在使用非常繁忙的测试系统,那么可能会迂到 B37 异常终止 (数据集大小小于输出)。 在此情况下,请增大此值。
    小时
    指定要从日志流读取的数据的最大周期 (以小时计)。 缺省值为 24 小时。 为测试捕获的数据必须已在此时间段内写入。 如果您有非常繁忙的测试系统,那么可能要减小此值。
  3. 确定要使用哪种作业提交方法来处理捕获的安全性定义并输出安全性元数据。 可以使用以下任一方法提交作业:
    瞬时数据队列 (TDQ)
    1. 在 DFH$XSD 样本中提供了用于作业提交的名为 CXST 的 TDQUEUE 资源定义。 JOBUSERID 属性必须设置为有权查看安全性元数据的人员 (例如安全性管理员) 的属性。
    2. DDNAME 值添加到指向内部阅读器 (INTRDR) 的 CICS JCL ,例如:
      //CXST DD SYSOUT=(A,INTRDR),DCB=(RECFM=F,LRECL=80)
      注:

      CXST 是受保护的 TDQUEUE ,只能由内部 CICS 程序写入。

    3. 授权需要调用 SDC 代理权限的用户代表作业用户标识提交作业。 有关更多信息,请参阅 用于向内部阅读器提交 JCL 作业的安全性
    SPOOL
    1. SPOOL 系统初始化参数 设置为 YES
    2. 确保 INTRDRJOBUSER 系统初始化参数 设置为 TASK ,以便作业在任务用户标识下运行。
    3. 授予需要调用 SDC 访问权的用户以在其用户标识下提交作业。 有关更多信息,请参阅 用于向内部阅读器提交 JCL 作业的安全性
  4. 如果使用 CXSD 事务来测试 3270 应用程序。 无需进一步配置。
  5. 如果您使用 HTTP测试其他应用程序,请完成以下步骤:
    1. 将 DFH$XSDT TCPIPSERVICE 资源定义从 DFH$XSD 样本组复制到新组,并定制以下属性:
      PORTNUMBER
      指定一个专用端口, CICS 在该端口上侦听 SDC 的入局请求。
      AUTHENTICATE
      至少为已认证的用户指定基本认证 (BASIC) 以调用 SDC。
    2. 将 DFH$XSDU URIMAP 资源定义从 DFH$XSD 样本组复制到新组,并定制以下属性:
      SCHEME
      请指定 HTTP 或 HTTPS。
      TRANSACTION
      必须指定 CXSD ,以便在此过程中仅捕获相关安全性定义。
      TCPIPSERVICE
      指定您在步骤 5.a中配置的 TCPIPSERVICE 定义的名称。
    3. 安装包含 TCPIPSERVICE 和 URIMAP 资源的新组。 将该组添加到区域组列表中的 LIST。
    4. 通过向终端发送不带参数HTTP ,检查REST接口是否配置成功。 端点派生自 TCPIPSERVICE 定义中配置的主机名和端口以及 URIMAP 定义中的路径,例如 http://endpoint:port/dfhsdc

      如果接口配置成功,则返回 HTTP 响应。 响应包含指示 SDC 状态的 JSON 主体以及响应代码和消息,例如:

      HTTP/1.1 404 NOT FOUND 
      {
        "srr_id": null,
        "message": "SDC IS NOT SWITCHED ON"
      }

结果

您已在 CICS 区域中配置 SDC。