SCIM 与 Microsoft Entra ID

配置从 Microsoft Entra ID 到 Activepieces 的 SCIM 用户供应。

此功能仅适用于付费版本。如有需要,请联系我们

前置条件

开始之前,请确保你拥有:

  • 管理员权限可访问你的 Activepieces 平台
  • 管理员权限可访问你的 Microsoft Entra ID
  • 已配置 SSO(推荐):SAML 与 Microsoft Entra ID
  • 已从 Activepieces 应用的 /platform/security/api-keys 路径生成 API 密钥

在 Microsoft Entra ID 中配置 SCIM 连接

在 Entra ID 管理控制台中,打开你的 Activepieces 应用程序(在第一个 [SSO 步骤](/docs/activepieces/admin-guide/guides/sso#saml-with-microsoft-entra-id-azure-ad)中创建)。 点击左侧菜单中的 **provisioning** 标签,页面中央会出现 **Create configuration** 部分,点击 **Connect your application**。 将显示 **New provisioning configuration** 页面,包含一个表单:
* **Authentication method** 保持默认(Bearer authentication)
* **Tenant URL** 设置为 `https://your-activepieces-domain/api/v1/scim/v2`
* **Secret token** 设置为 `<generated-api-key>`
点击 **Test Connector Configuration** 并确认测试通过。
<img src="https://mintcdn.com/activepieces/D-clHLdeK2U2KcAm/resources/screenshots/scim/entra-id/connection-config.png?fit=max&auto=format&n=D-clHLdeK2U2KcAm&q=85&s=35adbf0f7c0af1e4a3a85e25bf4bd1ca" alt="Entra ID 预配配置" width="2366" height="1290" data-path="resources/screenshots/scim/entra-id/connection-config.png" />
最后,**Save** 保存配置。保存后,你应被重定向到概览页面。

属性映射

在开始实际预配之前,你需要在 Entra ID 和 Activepieces 之间映射属性。

在概览页面中,点击左侧菜单中的 **Attribute mapping**。然后选择 **Provision Microsoft Entra ID Users**。应显示已启用的开关,并且 **Target Object Actions** 都应被勾选(创建、更新、删除)。 首先,你需要将 **userName** 属性映射到表示电子邮件地址的字段。默认情况下,它映射到 userPrincipalName,这被视为电子邮件地址。但同时还有一个 **mail** 属性也表示电子邮件地址。因此,你应该选择代表用户实际使用邮箱的那个。 将 **externalId**(目标属性)映射到 objectId(源属性)。 默认情况下(如果跳过此步骤),已预配用户的平台角色将设置为 `Member`。但也可以映射到 Entra ID 字段。
<Steps>
  <Step title="编辑属性列表">
    滚动到页面底部,勾选 **Show advanced options** -> **Edit attribute list for customappsso**,将打开一个包含属性表的新页面。
  </Step>

  <Step title="添加新属性">
    滚动到表格底部,那里有一行包含输入字段,粘贴 `urn:ietf:params:scim:schemas:activepieces:1.0:CustomUserAttributes:platformRole` 并保存。

    <img src="https://mintcdn.com/activepieces/D-clHLdeK2U2KcAm/resources/screenshots/scim/entra-id/add-platform-role-attribute.png?fit=max&auto=format&n=D-clHLdeK2U2KcAm&q=85&s=d45ecc944db9b63b2ac4b9b7c9852528" alt="平台角色属性" width="2366" height="1290" data-path="resources/screenshots/scim/entra-id/add-platform-role-attribute.png" />
  </Step>

  <Step title="添加新映射">
    * 添加属性后,你将被重定向回属性映射页面。在表格底部点击 **Add new mapping**,将打开一个表单用于将属性映射到表示平台角色的字段。
    * 在 **Target attribute** 字段中,选择你刚刚添加的属性(`urn:ietf:params:scim:schemas:activepieces:1.0:CustomUserAttributes:platformRole`)。
    * 现在映射将取决于你的 Entra ID 中角色的表示方式。在 Activepieces 中,平台角色可以是 `MEMBER`、`OPERATOR`、`ADMIN` 之一。这意味着你需要将你的 Entra ID 角色字段映射到这些值。
    * 如果你已经使用了一个恰好包含这些值的字段(通常不是这种情况),你可以通过选择 **Mapping type** 为 **Direct** 并从 **Source attribute** 字段中选择该字段来直接映射。
    * 否则,你可以通过选择 **Mapping type** 为 **Expression** 并编写一个将你的 Entra ID 字段映射到 `MEMBER`、`OPERATOR`、`ADMIN` 之一的表达式来映射。请参阅[表达式映射](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/functions-for-customizing-application-data)了解更多详情。

              <img src="https://mintcdn.com/activepieces/D-clHLdeK2U2KcAm/resources/screenshots/scim/entra-id/map-platform-role-attribute.png?fit=max&auto=format&n=D-clHLdeK2U2KcAm&q=85&s=17d5f44cef538afbd1e84de65f570378" alt="平台角色映射" width="2366" height="1562" data-path="resources/screenshots/scim/entra-id/map-platform-role-attribute.png" />
  </Step>
</Steps>
最后,点击表格上方的 **Save** 并确认。

组预配

组映射到 Activepieces 项目。Entra ID 中组的成员将被添加为 Activepieces 中项目的成员。组的名称也将作为项目的显示名称。

默认情况下,所有组成员将拥有项目的 Editor 角色。目前还不能像平台角色那样进行映射。对于自托管客户,他们可以将环境变量 SCIM_DEFAULT_PROJECT_ROLE 更改为 AdminViewer

用户和组分配

分配允许你选择将预配到 Activepieces 的用户和组。

分配

启动预配

返回概览页面,点击 Start provisioning 以启用它。它将自动进行并按周期执行。

启动预配

按需预配可用于触发对选定用户和组的一次性预配。