将自定义/其他工单系统与 PAM360 集成

如果您使用的工单系统并非 PAM360 原生支持的系统,仍可通过实现自定义集成来完成对接。要使用自定义集成,您需要提供更精确的详细信息,以便与工单系统进行验证,从而实现特权访问相关请求的自动化审批。 此外,您还需编写与工单 ID 进行验证的必要条件。此过程需要创建自定义实现类并在 PAM360 中进行配置。为帮助您理解具体步骤,我们将以 Zendesk 集成作为示例。

按照以下步骤操作,您即可成功集成首选的工单系统,并使 PAM360 能够验证用于密码找回、重置及其他访问控制工作流的工单 ID。

  1. 创建实现类
  2. 检查与工单系统的连接
  3. 将 PAM360 列映射到票务系统字段
  4. 验证工单条件
  5. 编译实现类
  6. 在 PAM360 中集成自定义票务系统
  7. 其他实现技巧

1. 创建实现类

第一步是创建一个实现类,引用一个 专为 Zendesk 集成设计的 。此过程的关键环节是生成认证令牌,以在 PAM360 与工单系统之间建立安全连接。请确保使用具有完全访问权限的管理员凭据生成认证令牌(AUTH TOKEN)。您可以通过将凭据直接嵌入实现类中,或单独生成令牌并用于认证来实现。

示例:为 Zendesk 生成 Base64 认证字符串

以下是一个用于生成 Base64 认证字符串的代码片段示例,该字符串常用于带有 Base64 授权头(Authorization header)的 REST API:

//根据 Zendesk 登录凭据构建 Authstring
String username = "username@example.com";//Zendesk 用户名
String password = "zendeskpassword";//Zendesk 密码
Base64 encoder = new Base64();
byte[] 加密密码 = (用户名 + ":" + 密码).getBytes();
byte[] 编码字符串 = 编码器.encodeBase64(编码密码);
String authStr = new String(encodedString);

附加信息

某些票务系统会通过其图形用户界面 (GUI) 提供身份验证令牌 (AUTH TOKEN)。如果可用,您可以直接使用这些令牌进行集成。请避免在实现类中硬编码凭据,而是通过 Java 或任何在线编辑器生成的直接 Base64 令牌来调用 REST API。


2. 检查与工单系统的连接

准备好身份验证令牌后,请使用 REST API 验证 PAM360 与工单系统之间的连接。每个工单系统都有其特定的工单详情获取流程。请参考您所用工单系统的文档,了解 API 端点和请求格式。

示例:从 Zendesk 获取工单信息

以下代码片段演示了如何检索工单信息:

String sUrl = "https://<zendesk-instance>.zendesk.com/api/v2/tickets/";//Zendesk API 网址
sUrl = sUrl + ticketId + ".json";//用于验证的工单 ID
URL url = new URL(sUrl); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestProperty("Authorization", "Basic" + authStr);//在请求头中添加授权字符串

PAM360 将利用此连接,根据用户提供的参数验证工单详情。

3. 将 PAM360 列映射到工单系统字段(可选)

为增强验证流程,您可以配置 PAM360 将特定字段与工单系统中的对应字段进行比对。例如,您可以将 PAM360 中的“资源名称”映射到工单系统中的“主题”

在授予密码访问权限之前,PAM360 将验证映射值是否匹配。

示例:根据工单主题验证资源名称

String sUrl = "https://<zendesk-instance>.zendesk.com/api/v2/tickets/";//Zendesk API 网址
sUrl = sUrl + ticketId + ".json"; // 用于验证的工单 ID
URL url = new URL(sUrl); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestProperty("Authorization", "Basic" + authStr);//在请求头中添加授权字符串

若已配置映射,仅当验证成功时才会授予访问权限。

4. 验证工单条件(可选)

PAM360 允许您验证与工单相关的特定条件,以确保其符合所需标准。默认情况下,PAM360 会检查工单的“状态”是否处于“已关闭”状态。您可以配置其他条件,PAM360 将根据工单系统验证所有这些条件。有关配置的更多详细信息,请点击 此处

PAM360 会自动显示工单系统中的所有可用字段(包括自定义字段),以便您定义具体的验证值。这些条件可根据您的需求进行定制,确保工单符合贵组织的访问控制策略。

以下代码片段演示了如何根据配置的条件验证工单状态:

JSONObject ticket = (JSONObject)ticketingOuput.get("ticket");
String status = (String)ticket.get("status");
boolean statusCheck = "open".equalsIgnoreCase(status);// 检查票证状态是否为“开放”

通过为票证条件配置此类验证,您可在授予访问权限前确保票证符合特定标准。

5. 编译实现类

创建实现类后,请按照以下步骤将其编译为 JAR 文件,以便与 PAM360 集成:

  1. 请将以下 JAR 文件添加到类路径中(位于 <PAM360-安装目录>\lib文件夹中):
    • AdventNetPassTrix.jar
    • json_simple-1.1.jar
    • commons-codec-1.7.jar
  2. 对于 Windows 系统,请编译实现类:
    javac -d . -cp AdventNetPassTrix.jar;json_simple-1.1.jar;commons-codec-1.7.jar ZendeskImpl.java
  3. 对于 Linux,编译实现类:
    javac -d . -cp AdventNetPassTrix.jar:json_simple-1.1.jar:commons-codec-1.7.jar ZendeskImpl.java

6. 将自定义票证系统集成到 PAM360

注意

  1. 实现类编译完成后,将 JAR 文件放置在<PAM360-安装目录>\lib文件夹中,并重启 PAM360 服务以应用更改。
  2. 您的组织中至少需要两名管理员才能执行自定义工单系统的配置。
  1. 登录 PAM360 网页界面,导航至“管理”>>“集成”>>“工单系统集成”
    custom_ticketing_systems1
  2. 选择“其他”以添加新的工单系统,然后点击“应用”
  3. 在弹出的窗口中,为自定义工单系统输入一个名称。
  4. 点击“实现类”字段旁边的“编辑”,并在必要时修改实现类。
  5. 接下来,在“描述”字段中输入您选择的描述。
  6. “发送审批请求至”字段旁边的下拉菜单中选择审批管理员。

一旦获得批准,该工单系统工作流将成为密码找回和重置操作的强制要求。

如需更多信息,请参阅示例 实现类

注意

下载文件后,请确保以下 SHA256 校验和值: 91e8fce1d8724001e2c646ff3f3bcdc978d65b3cd6616eb77a52b350d48be194

7. 其他实施信息

在将 PAM360 列映射到工单系统字段以及验证工单条件时,您在实施过程中可能需要额外信息。详情请参阅以下提示。

7.1 PAM360 中的列

PAM360 会发送若干列用于映射和验证。关键列包括:

  • PAM360 用户名- 已登录用户的名称。
  • 资源名称- 资源的名称。
  • DNS 名称 - 资源的 IP 地址。
  • 用户帐户- 与该资源关联的帐户名称。
  • 资源类型- 正在访问的资源的类型(Windows、WindowsDomain、Linux 等)。
  • 资源描述- 关于该资源的描述。
  • 部门- 资源所属的部门。
  • 位置- 资源的位置。
  • 域名- 资源的域名。
  • 请求类型- 指定触发票务系统调用的请求类型。可以是以下任一类型:
    • RETRIEVAL- 密码访问。
    • REQUEST- 通过访问控制工作流提交的密码访问请求。
    • RESET- 密码重置。
    • AUTOLOGON- “打开连接”请求。
  • 用户所属组织名称- 发起请求的用户所属的组织名称。
  • 用户当前组织名称- 请求账户所属组织的名称。

除上述列外,所有其他列将按如下方式发送:

  • 资源附加字段 -Resource@field_name
  • 账户附加字段 -Account@<字段名

7.2 访问工单系统的凭证

为成功集成并访问工单系统,请确保以下凭据配置正确:

  1. AUTHTOKEN- 在集成图形用户界面中提供的身份验证令牌值。此令牌是授权 PAM360 与工单系统通信所必需的。
  2. TICKETINGSYSTEMURL- 在集成 GUI 中配置的工单系统 URL。这是 PAM360 请求将被发送到的端点。

7.3 高级配置详情

若需对 PAM360 与工单系统的集成进行高级配置,请考虑以下设置:

  • ISPAM360TICKETCRITERIA- 指示 PAM360 与工单系统之间的集成是否已配置。
    类型:布尔型(true 或 false)
  • PAM360TICKETCRITERIACOLUMNS- 指定 PAM360 与工单系统之间的映射详情。数组中的每个元素代表一个验证条件。例如,在条件 C1 中,可通过使用匹配参数 EQUAL,将 PAM360 字段“用户账户”与工单系统字段“REQUESTER”进行验证。
    类型:JSONArray
    示例:
    [ ["C1","用户账户","REQUESTER","EQUAL"],
    ["C2","PAM360 用户名","TECHNICIAN","EQUAL"] ]
  • PAM360TICKETCRITERIA - 定义不同条件之间的关系。PAM360TICKETCRITERIA列中的每个元素都包含一个条件名称,该名称决定了条件之间的关系。
    类型:字符串
    示例:C1 或 C2
  • ISTICKETVALUECRITERIA- 指示是否已配置票务系统值的验证。
    类型:布尔型(true 或 false)
  • TICKETVALUECRITERIACOLUMNS- 指定工单必须满足的条件。数组中的每个元素代表一个条件。例如,在条件 C1 下,工单的 STATUS 字段不得为 Closed。
    类型:JSONArray
    示例:
    [ ["C1","STATUS","Closed","NOT_EQUAL"],
    ["C2","URGENCY","high","EQUAL"],
    ["C3","影响","高","等于"] ]
  • TICKETVALUECRITERIA- 定义 TICKETVALUECRITERIA_COLUMNS 中指定的不同标准之间的关系。每个元素将第一个参数作为标准名称。
    类型:字符串
    示例:C1 或 (C2 且 C3)
  • ISTICKETCHANGEIDSTATUS- 指示系统是否配置为验证工单的变更状态。
  • TICKETCHANGEIDSTATUS- 指定与该工单 ID 值关联的变更 ID 状态。

这些配置可确保 PAM360 与工单系统之间实现精确的映射和验证,从而实现无缝集成。

7.4 匹配参数

以下匹配参数用于验证 PAM360 集成中的条件:

  • EQUAL- 两个参数的值必须相同。
  • NOT_EQUAL- 两个参数的值必须不同。
  • CONTAINS- 第一个参数的值必须包含第二个参数的值。
  • NOT_CONTAINS- 第一个参数的值不得包含第二个参数的值。
  • STARTS_WITH- 第一个参数的值必须以第二个参数的值开头。
  • ENDS_WITH- 第一个参数的值必须以第二个参数的值结尾。

基于日期的比较参数:

  • LESS_THAN- 第一个参数的日期值必须早于第二个参数的日期值。
  • GREATER_THAN- 第一个参数的日期值必须晚于第二个参数的日期值。
  • 小于等于- 第一个参数的日期值必须早于或等于第二个参数的日期值。
  • GREATER_THAN_EQUAL- 第一个参数的日期值必须晚于或等于第二个参数的日期值。

这些参数确保所有条件均基于适当的条件进行验证,从而实现准确的集成和数据一致性。




Top