与 SCIM 2.0 进行用户同步

Maximo® Application Suite 9.0开始,您可以使用 System for Cross-domain Identity Management (SCIM) 2.0 协议来同步来自外部身份提供者的用户和组。

SCIM( 2.0 )支持通过某种 push 机制,使外部身份提供商(如 Okta 或 Microsoft Entra)能够同步用户和组,从而简化用户管理。 SCIM 规范使用协议为用户和组资源定义公共模式,该协议定义如何对这些资源执行操作。 SCIM 有助于在不同服务之间交换这些资源。

通过使用 Maximo Application Suite中的 SCIM 功能,当为身份提供者中定义的现有用户和组分配了这些资源的访问权时,这些用户和组将自动与 Maximo Application Suite 同步。 因此,您不需要手动将用户或组添加到套件中。 此外,在身份提供者中应用相应配置时,将自动同步更新或除去访问权。

SCIM API

Maximo Application Suite 可以使用 SCIM 2.0 ,通过使用 Maximo Application Suite中的一组 API 端点与身份提供者集成。 这些 API 实现 SCIM 2.0 协议,并由充当客户机的身份提供者启动,以管理用户和组生命周期操作。
注: 这些 API 仅用于 Maximo Application Suite 与用于用户和组同步的身份提供者之间的集成。 提供此信息以供经验丰富的管理员参考使用。

Maximo Application Suite的API可通过URL 访问: https://api.{mas-instance-id}.{domain}/scim/v2/{profileId}

您可以使用以下端点对用户资源应用创建,检索,更新和删除操作,

表 1. 用于在用户资源上创建,检索,更新和删除操作的用户端点
端点 方法 描述
/scim/v2/{profileId}/Users POST 将新用户推送到 Maximo Application Suite
/scim/v2/{profileId}/Users GET 通过过滤和页面调度检索用户。
/scim/v2/{profileId}/Users/{userId} GET 检索特定用户。
/scim/v2/{profileId}/Users/{userId} PUT 更新特定用户。
/scim/v2/{profileId}/Users/{userId} PATCH 更新特定用户的任何已更改字段。
/scim/v2/{profileId}/Users/{userId} 删除 删除特定用户。

您可以使用以下端点对组资源应用创建,检索,更新和删除操作。

表 2. 用于对组资源执行创建,检索,更新和删除操作的组端点
端点 方法 描述
/scim/v2/{profileId}/Groups POST 将新组推送到 Maximo Application Suite
/scim/v2/{profileId}/Groups GET 检索具有过滤和页面调度的组。
/scim/v2/{profileId}/Groups/{groupId} GET 检索特定组。
/scim/v2/{profileId}/Groups/{groupId} PUT 更新特定组
/scim/v2/{profileId}/Groups/{groupId} PATCH 更新特定组的任何已更改字段
/scim/v2/{profileId}/Groups/{groupId} DELETE 删除特定组

Maximo Application Suite SCIM 概要文件

URL 中的 {profileId} 是用户为 Maximo Application Suite选择的 ID,称为 Maximo Application Suite

SCIM 概要文件是 Maximo Application Suite 配置的集合,这些配置充当模板,用于在将用户和组添加到 Maximo Application Suite时配置这些用户和组。 您使用 SCIM 概要文件,因为 SCIM 模式定义了常规用户和组属性,并且不包含功能用户所需的特定 Maximo Application Suite 元素,例如登录能力,权利和应用程序许可权。 此 Maximo Application Suite SCIM 概要文件应用于以下配置:

  • 工作空间访问权
  • 应用程序访问权限
  • 权利
  • 身份配置

配置中还包含以下字段:

标识
{profileId} 用于URL , Maximo Application Suite通过它来确定将哪个配置文件应用于传入的API请求。
版本
概要文件模型资源的版本。 Maximo Application Suite 9.0 中的唯一有效值是 1

通过在用于配置外部身份提供商SCIM集成的URL 中包含 {profileId} ,身份提供商的供应请求将链接到 Maximo Application Suite 配置文件。 可以在同步点将配置应用于新用户或组。 然后,同步的用户可以登录和访问应用程序,而无需进一步的手动管理操作。

Maximo Application Suite SCIM 概要文件用于在创建用户或组时配置用户或组一次。 使用 Maximo Application Suite SCIM 概要文件时,将应用以下规则:

  • 如果在添加用户或组时概要文件不存在,那么不会应用配置。 管理员必须手动配置用户。
  • 如果在导入用户或组之后更新概要文件,那么这些更改仅适用于在更新之后创建的新用户或组。 任何更改都不会以追溯方式应用于任何现有用户或组。
  • 如果管理员在 Maximo Application Suite中更新用户或组,那么这些更改不会由 Maximo Application Suite SCIM 概要文件的应用程序修改或撤销。

Maximo Application Suite 9.0中,只能使用 API 来配置 SCIM 概要文件资源。

表 3. SCIM 概要文件 API 端点
端点 方法 描述
/scim/v2/Profiles POST 创建 Maximo Application SuiteSCIM 概要文件。
/scim/v2/Profiles GET 检索具有页面调度的 Maximo Application Suite SCIM 概要文件。
/scim/v2/Profiles{profileId} GET 检索特定 Maximo Application Suite SCIM 概要文件。
/scim/v2/Profiles/{profileId} PUT 更新特定的 Maximo Application Suite SCIM 概要文件。
/scim/v2/Profiles/{profileId} DELETE 删除特定 Maximo Application Suite SCIM 概要文件。

Maximo Application Suite SCIM 概要文件具有以下结构:

{
  "id": "myprofilename",
  "version": 1,
  "identities": [
    {
      "type": "local"
    },
    {
      "id": "default-saml",
      "type": "saml",
      "samlId": "userName"
    },
    {
      "id": "default-ldap",
      "type": "ldap",
      "ldapUsername": "userName"
    }
  ],
  "entitlement": {
    "application": "BASE"
  },
  "workspaces": [
    {
      "id": "workspace1",
      "applications": [
        "manage"
      ]
    }
  ]
}

您可以向配置提供以下主要元素:

身份

身份指定将新用户添加到 Maximo Application Suite时配置的认证机制。 此机制是一个数组,当需要为用户启用多个认证选项时,可以在此数组中添加多个配置。

Maximo Application Suite 9.0开始,以下认证类型选项可用于用户身份:
本地
用户认证由本地 Maximo Application Suite 用户名和密码管理。

当您指定 local 作为身份配置的类型时,不需要其他配置。 导入用户的 SCIM userName 字段用作 Maximo Application Suite 用户名,生成随机密码并通过电子邮件发送给用户。

SAML
用户身份验证由 SAML 身份提供商管理。
当您指定 saml 作为身份配置类型时,还需要以下字段。
标识
身份提供者的 Maximo Application Suite 标识。
samlId

从导入的用户中提取的 SCIM 用户属性名称,该属性代表 SAML 标识符。

指定 samlId 字段时,不会为任何特定用户指定特定值。 您需要指定用户记录中的哪个字段用作 SAML 的ID,例如,该字 userName 段的任何值。

此字段的值支持有限格式的表达式,以便将相应的字段作为目标。 这些表达式基于 SCIM 补丁路径表达式。 有关更多信息,请参阅 在 "跨域身份管理系统" (SCIM) 规范中使用补丁进行修改

PATH 属性遵循 ABNF 语法规则 PATH = attrPath / valuePath [substrata]。 其中 attrPathvaluePath 由 ABNF 过滤规则定义。

有关更多信息,请参阅 针对跨域身份管理 2.0 (SCIM) 协议的系统过滤

当您需要指定主电子邮件字段将用作 samlId 但与 userName不同时,请使用有限表达式。 使用有限表达式时,可以将 samlId 指定为 emails[primary eq true].value

LDAP
由 LDAP 身份提供商管理的用户身份验证。
当您指定 ldap 作为配置类型时,还需要以下字段。
标识
身份提供者的 Maximo Application Suite 标识。
ldapUsername
从导入的用户中提取的 SCIM 用户属性名称,用于表示 LDAP 的用户名。

指定“ ldapUsername ”字段时,您是在指定用户记录中的哪个字段将作为 LDAP 的用户名,例如,无论“ userName ”字段的值是什么。

此字段的值支持有限格式的表达式,以便将相应的字段作为目标。 这些表达式基于 SCIM 补丁路径。

权利

权利指定授予用户的权利级别。 仅通过此配置,即可实现应用程序级权限的自动分配。 可以分配以下权利:
  • 自我服务
  • 受限
  • BASE
  • PREMIUM

Maximo Application Suite 9.2 开始,用户权限将根据工作区和应用程序访问分配进行动态计算。

工作空间

配置工作空间以指定对 Maximo Application Suite 工作空间和应用程序的访问权。 将用户和组推送到 Maximo Application Suite时,会将此配置应用于这些用户和组。

在工作空间配置中指定以下字段:
标识
将用户或组添加到的 Maximo Application Suite 工作空间的身份。
应用程序

用户或组要添加到的应用程序的列表 (按标识)。

应用程序由 Maximo Application Suite 应用程序标识列出,用户被授予 USER 角色或与组同步。

您可以使用带有以下 API 的 GET 请求来查询应用程序标识: https://api.{mas-instance-id}.{mas-domain}/applications。 如需了解更多信息,请参阅 API 参考文档,了解所有应用程序的相关信息