教程:Microsoft Entra SSO 与 Kronos Workforce Dimensions 集成

本教程介绍如何将 Kronos Workforce Dimensions 与 Microsoft Entra ID 相集成。 将 Kronos Workforce Dimensions 与 Microsoft Entra ID 集成后,可以:

  • 在 Microsoft Entra ID 中控制谁有权访问 Kronos Workforce Dimensions。
  • 让用户使用其 Microsoft Entra 帐户自动登录到 Kronos Workforce Dimensions。
  • 在中心位置管理帐户。

先决条件

若要开始操作,需备齐以下项目:

  • 一个 Microsoft Entra 订阅。 如果没有订阅,可以获取一个免费帐户
  • 已启用 Kronos Workforce Dimensions 单一登录 (SSO) 的订阅。

注意

此集成也可以通过 Microsoft Entra 美国政府云环境使用。 你可以在“Microsoft Entra 美国政府云应用程序库”中找到此应用程序,并以公有云相同的方式对其进行配置。

方案描述

在本教程中,你将在测试环境中配置并测试 Microsoft Entra SSO。

  • Kronos Workforce Dimensions 支持 SP 发起的 SSO。

若要配置 Kronos Workforce Dimensions 与 Microsoft Entra ID 的集成,需要从库中将 Kronos Workforce Dimensions 添加到托管 SaaS 应用列表。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览至“标识”>“应用程序”>“企业应用程序”>“新建应用程序”。
  3. 在“从库中添加”部分的搜索框中,键入“Kronos Workforce Dimensions” 。
  4. 在结果面板中选择“Kronos Workforce Dimensions”,然后添加该应用。 在该应用添加到租户时等待几秒钟。

或者,也可以使用企业应用配置向导。 在此向导中,可以将应用程序添加到租户、将用户/组添加到应用、分配角色,以及逐步完成 SSO 配置。 详细了解 Microsoft 365 向导。

配置并测试 Kronos Workforce Dimensions 的 Microsoft Entra SSO

使用名为 B.Simon 的测试用户配置并测试 Kronos Workforce Dimensions 的 Microsoft Entra SSO。 若要正常使用 SSO,需要在 Microsoft Entra 用户与 Kronos Workforce Dimensions 中的相关用户之间建立链接关系。

若要配置并测试 Kronos Workforce Dimensions 的 Microsoft Entra SSO,请执行以下步骤:

  1. 配置 Microsoft Entra SSO - 使用户能够使用此功能。
    1. 创建 Microsoft Entra 测试用户 - 使用 B.Simon 测试 Microsoft Entra 单一登录。
    2. 分配 Microsoft Entra 测试用户 - 使 B.Simon 能够使用 Microsoft Entra 单一登录。
  2. 配置 Kronos Workforce Dimensions SSO - 在应用程序端配置单一登录设置。
    1. 创建 Kronos Workforce Dimensions 测试用户 - 在 Kronos Workforce Dimensions 中创建 B.Simon 的对应用户,并将其链接到该用户在 Microsoft Entra 中对应的身份。
  3. 测试 SSO - 验证配置是否正常工作。

配置 Microsoft Entra SSO

按照以下步骤启用 Microsoft Entra SSO。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Kronos Workforce Dimensions”>“单一登录”。

  3. 在“选择单一登录方法”页上选择“SAML” 。

  4. 在“设置 SAML 单一登录”页面上,单击“基本 SAML 配置”旁边的铅笔图标以编辑设置 。

    Screenshot shows how to edit Basic SAML Configuration.

  5. 在“基本 SAML 配置” 部分中,按照以下步骤操作:

    a. 在“标识符(实体 ID)”文本框中,使用以下模式键入 URL:https://<SUBDOMAIN>.<ENVIRONMENT>.mykronos.com/authn/<TENANT_ID/hsp/<TENANT_NUMBER>

    b. 在“登录 URL”文本框中,使用以下模式之一键入 URL:

    登录 URL
    https://<CUSTOMER>-<ENVIRONMENT>-sso.<ENVIRONMENT>.mykronos.com/
    https://<CUSTOMER>-sso.<ENVIRONMENT>.mykronos.com/

    注意

    这些不是实际值。 使用实际标识符和登录 URL 更新这些值。 请联系 Kronos Workforce Dimensions 客户端支持团队获取这些值。 还可参考“基本 SAML 配置”部分中显示的模式。

  6. 在“使用 SAML 设置单一登录” 页的“SAML 签名证书” 部分中,单击“复制”按钮,以复制“应用联合元数据 URL” ,并将它保存在计算机上。

    Screenshot shows the Certificate download link.

创建 Microsoft Entra 测试用户

在本部分,你将创建名为 B.Simon 的测试用户。

  1. 至少以用户管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“用户”>“所有用户”。
  3. 选择屏幕顶部的“新建用户”>“创建新用户”。
  4. 在“用户”属性中执行以下步骤
    1. 在“显示名称”字段中输入 B.Simon
    2. 在“用户主体名称”字段中,输入 username@companydomain.extension。 例如 B.Simon@contoso.com
    3. 选中“显示密码”复选框,然后记下“密码”框中显示的值。
    4. 选择“查看 + 创建”。
  5. 选择“创建”。

分配 Microsoft Entra 测试用户

在本部分,你将通过授予 B.Simon 访问 Kronos Workforce Dimensions 的权限,使其能够使用单一登录。

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“应用程序”>“企业应用程序”>“Kronos Workforce Dimensions”。
  3. 在应用的概述页面中,选择“用户和组”。
  4. 选择“添加用户/组”,然后在“添加分配”对话框中选择“用户和组” 。
    1. 在“用户和组”对话框中,从“用户”列表中选择“B.Simon”,然后单击屏幕底部的“选择”按钮。
    2. 如果你希望将某角色分配给用户,可以从“选择角色”下拉列表中选择该角色。 如果尚未为此应用设置任何角色,你将看到选择了“默认访问权限”角色。
    3. 在“添加分配”对话框中,单击“分配”按钮。

配置 Kronos Workforce Dimensions SSO

若要在 Kronos Workforce Dimensions 端配置单一登录,需要将“应用联合元数据 URL”发送给 Kronos Workforce Dimensions 支持团队 。 他们会对此进行设置,使两端的 SAML SSO 连接均正确设置。

创建 Kronos Workforce Dimensions 测试用户

在本部分,你将在 Kronos Workforce Dimensions 中创建名为 Britta Simon 的用户。 与 Kronos Workforce Dimensions 支持团队协作,在 Kronos Workforce Dimensions 平台中添加用户。 使用单一登录前,必须先创建并激活用户。

注意

原始 Microsoft 文档建议通过电子邮件联系 UKG 支持来创建 Microsoft Entra 用户。 虽然此选项可用,但请考虑以下自助服务选项。

手动过程

可通过两种方法在 WFD 中手动创建 Microsoft Entra 用户。 可以选择并复制现有用户,然后更新必要的字段以使该用户唯一。 此过程可能较为耗时,并且需要了解 WFD 用户界面。 替代方法是通过 WFD API 创建用户,这要快得多。 此选项要求了解如何使用 API 工具(如 Postman)将请求改为发送到 API。 以下说明会协助将预生成示例导入到 Postman API 工具中。

设置

  1. 打开 Postman 工具并导入以下文件:

    a. Workforce Dimensions - 创建 User.postman_collection.json

    b. Microsoft Entra ID 到 WFD Env Variables.json

  2. 在左窗格中,选择“环境”按钮。

  3. 单击 AAD_to_WFD_Env_Variables 并添加 UKG 支持提供的与 WFD 实例相关的值。

    注意

    access_token 和 refresh_token 应为空,因为这些值将自动填充为“获取访问令牌”HTTP 请求的结果。

  4. 打开“在 WFD 中创建 Microsoft Entra 用户”HTTP 请求,并更新 JSON 有效负载中突出显示的属性:

    { 
    
    "personInformation": { 
    
       "accessAssignment": { 
    
          "accessProfileName": "accessProfileName", 
    
          "notificationProfileName": "All" 
    
        }, 
    
        "emailAddresses": [ 
    
          { 
    
            "address": "address” 
    
            "contactTypeName": "Work" 
    
          } 
    
        ], 
    
        "employmentStatusList": [ 
    
          { 
    
            "effectiveDate": "2019-08-15", 
    
            "employmentStatusName": "Active", 
    
            "expirationDate": "3000-01-01" 
    
          } 
    
        ], 
    
        "person": { 
    
          "personNumber": "personNumber", 
    
          "firstName": "firstName", 
    
          "lastName": "lastName", 
    
          "fullName": "fullName", 
    
          "hireDate": "2019-08-15", 
    
          "shortName": "shortName" 
    
        }, 
    
        "personAuthenticationTypes": [ 
    
          { 
    
            "activeFlag": true, 
    
            "authenticationTypeName": "Federated" 
    
          } 
    
        ], 
    
        "personLicenseTypes": [ 
    
          { 
    
            "activeFlag": true, 
    
            "licenseTypeName": "Employee" 
    
          }, 
    
          { 
    
            "activeFlag": true, 
    
            "licenseTypeName": "Absence" 
    
          }, 
    
          { 
    
            "activeFlag": true, 
    
            "licenseTypeName": "Hourly Timekeeping" 
    
          }, 
    
          { 
    
            "activeFlag": true, 
    
            "licenseTypeName": "Scheduling" 
    
          } 
    
        ], 
    
        "userAccountStatusList": [ 
    
          { 
    
            "effectiveDate": "2019-08-15", 
    
            "expirationDate": "3000-01-01", 
    
            "userAccountStatusName": "Active" 
    
          } 
    
        ] 
    
      }, 
    
      "jobAssignment": { 
    
        "baseWageRates": [ 
    
          { 
    
            "effectiveDate": "2019-01-01", 
    
            "expirationDate": "3000-01-01", 
    
            "hourlyRate": 20.15 
    
          } 
    
        ], 
    
        "jobAssignmentDetails": { 
    
          "payRuleName": "payRuleName", 
    
          "timeZoneName": "timeZoneName" 
    
        }, 
    
        "primaryLaborAccounts": [ 
    
          { 
    
            "effectiveDate": "2019-08-15", 
    
            "expirationDate": "3000-01-01", 
    
            "organizationPath": "organizationPath" 
    
          } 
    
        ] 
    
      }, 
    
      "user": { 
    
        "userAccount": { 
    
          "logonProfileName": "Default", 
    
          "userName": "userName" 
    
        } 
    
      } 
    
    }
    

    注意

    personInformation.emailAddress.address 和 user.userAccount.userName 都必须与尝试在 WFD 中创建的目标 Microsoft Entra 用户匹配。

  5. 在右上角,选择“环境”下拉框,然后选择 AAD_to_WFD_Env_Variables。

  6. 更新 JSON 有效负载并选中正确的环境变量后,选择“获取访问令牌”HTTP 请求并单击“发送”按钮。 这将利用更新的环境变量对 WFD 实例进行身份验证,然后在环境变量中缓存访问令牌,以便在调用创建用户方法时使用。

  7. 如果身份验证调用成功,应会看到 200 响应并返回访问令牌。 此访问令牌现在还会显示在 access_token 条目的环境变量中的 CURRENT VALUE 列中。

    注意

    如果未收到 access_token,请确认环境变量中的所有变量都正确。 用户凭据应为超级用户帐户。

  8. 获取 access_token 后,选择“AAD_to_WFD_Env_Variables”HTTP 请求并单击“发送”按钮。 如果请求成功,则会收到 200 HTTP 状态。

  9. 使用“超级用户”帐户登录到 WFD,确认在 WFD 实例中创建了新的 Microsoft Entra 用户。

自动化过程

自动化过程包括 CSV 格式的平面文件,允许用户预先指定上述手动 API 过程中的有效负载中的突出显示值。 平面文件由随附的 PowerShell 脚本使用,该脚本批量创建新的 WFD 用户。 该脚本以 70(默认)的批量处理新用户创建,该批量可根据最佳性能配置。 以下说明将演练脚本的设置和执行。

  1. 将 AAD_To_WFD.csv 和 AAD_To_WFD.ps1 文件本地保存到计算机。

  2. 打开 AAD_To_WFD.csv 文件并填写列。

    • personInformation.accessAssignment.accessProfileName:WFD 实例中的特定访问配置文件名称。

    • personInformation.emailAddresses.address:必须与 Microsoft Entra ID 中的用户主体名称匹配。

    • personInformation.personNumber:必须在 WFD 实例中唯一。

    • personInformation.firstName:用户的名字。

    • personInformation.lastName:用户的姓氏。

    • jobAssignment.jobAssignmentDetails.payRuleName:WFD 中的特定付款规则名称。

    • jobAssignment.jobAssignmentDetails.timeZoneName:时区格式必须与 WFD 实例匹配(即 (GMT -08:00) 太平洋时间)

    • jobAssignment.primaryLaborAccounts.organizationPath:WFD 实例中特定业务结构的组织路径。

  3. 保存 .csv 文件。

  4. 右键单击 AAD_To_WFD.ps1 脚本,然后单击“编辑”对其进行修改。

  5. 确认第 15 行中指定的路径是 AAD_To_WFD.csv 文件的正确名称/路径。

  6. 使用 UKG 支持提供的与 WFD 实例相关的值更新以下各行。

    • 第 33 行:vanityUrl

    • 第 43 行:appKey

    • 第 48 行:client_id

    • 第 49 行:client_secret

  7. 保存并执行脚本。

  8. 在系统提示时提供 WFD“超级用户”凭据。

  9. 完成后,脚本将返回创建失败的所有用户的列表。

注意

如果由于 WFD 实例中的拼写错误或不匹配字段而返回,请确保检查 AAD_To_WFD.csv 文件中提供的值。 如果批处理中的所有用户已存在于该实例中,则 WFD API 实例也可能返回错误。

测试 SSO

在本部分,你将使用以下选项测试 Microsoft Entra 单一登录配置。

  • 单击“测试此应用程序”,这会重定向到 Kronos Workforce Dimensions 登录 URL,可以从那里启动登录流。

  • 直接转到 Kronos Workforce Dimensions 登录 URL,并从中启动登录流。

  • 你可使用 Microsoft 的“我的应用”。 在“我的应用”中单击“Kronos Workforce Dimensions”磁贴时,会重定向到 Kronos Workforce Dimensions 登录 URL。 有关“我的应用”的详细信息,请参阅“我的应用”简介

后续步骤

配置 Kronos Workforce Dimensions 后,可以强制实施会话控制,从而实时防止组织的敏感数据遭到外泄和渗透。 会话控制从条件访问扩展而来。 了解如何通过 Microsoft Defender for Cloud Apps 强制实施会话控制