> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SCIM 设置

> 通过 SCIM 2.0 从身份提供商自动预配和取消预配用户及组。

Devin Enterprise 支持通过 SCIM 2.0 自动预配用户和组。借助 SCIM，你的身份提供商 (Okta、Microsoft Entra ID 或任何兼容 SCIM 2.0 的 IdP) 会将变更实时推送至 Devin：用户会在首次登录前创建，已取消预配的用户会立即失去企业成员资格，组成员关系也会保持同步，无需等到下次登录。

SCIM 是对 [SSO](/zh/enterprise/security-access/sso/guide) 的补充。使用 SCIM 无需启用 SSO，但强烈建议启用 SSO。

<Warning>
  启用 SCIM 前，请联系支持团队关闭基于登录的 IdP 组同步。否则，组会在每次登录时重新同步，并与 SCIM 推送的组发生冲突。这仅影响组同步，用户仍会正常预配。
</Warning>

<div id="what-scim-manages">
  ## SCIM 管理的资源
</div>

| 资源     | 支持的操作             |
| :----- | :---------------- |
| **用户** | 创建、读取、列出、更新、停用、删除 |
| **组**  | 创建、读取、列出、更新、删除    |

通过 SCIM 预配的组会在 Devin 中显示为 [IdP 组](/zh/enterprise/security-access/idp-groups)。你可以像处理通过 SSO 登录同步的组一样，将其映射到 Enterprise 角色和组织访问权限。与通过登录同步的组不同，在 IdP 中重命名 SCIM 组后，其在 Devin 中的角色和组织映射仍会保留。

<div id="step-1-get-your-scim-credentials">
  ## 步骤 1：获取你的 SCIM 凭据
</div>

1. 在 Devin 中，前往 **设置 → 企业 → 成员**
2. 滚动至“成员资格”页面底部的 **SCIM 预配** 部分
3. 复制 **SCIM 基础 URL**
4. 点击 **生成令牌**，然后复制 Bearer 令牌

<Warning>
  Bearer 令牌仅显示一次。请妥善保管。你可以随时在同一设置部分轮换或撤销该令牌。
</Warning>

<div id="step-2-configure-your-identity-provider">
  ## 步骤 2：配置你的身份提供商
</div>

<Tabs>
  <Tab title="Okta">
    SCIM 将作为独立于现有 Devin SSO 应用的单独应用进行设置。

    **创建应用**

    1. 在 Okta Admin Console 中，依次前往 **Applications → Applications**，然后点击 **Browse App Catalog**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-browse-app-catalog.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=cfe64ec71529b3528d34de31d7b4a2e4" alt="在 Okta Applications 页面中浏览 App Catalog" width="1051" height="538" data-path="images/enterprise/scim/okta/okta-browse-app-catalog.png" />
           </Frame>

    2. 搜索 **SCIM 2.0 Test App (OAuth Bearer Token)**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-scim-search.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=48c7a3d17412e82a3fe4dd481814cd8e" alt="搜索 SCIM 2.0 Test App (OAuth Bearer Token) 集成" width="1042" height="822" data-path="images/enterprise/scim/okta/okta-scim-search.png" />
           </Frame>

    3. 点击 **Add Integration**，并为其命名以便识别 (例如 `Devin (SCIM)`)

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-add-integration.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=0ebafaabe1becc97275e761951d96c8e" alt="为 SCIM 2.0 Test App (OAuth Bearer Token) 添加集成" width="889" height="454" data-path="images/enterprise/scim/okta/okta-add-integration.png" />
           </Frame>

    **配置应用**

    1. 打开应用 → **Provisioning → Integration**，点击 **Configure API Integration**，然后勾选 **Enable API integration**

       * \*\*SCIM 2.0 Base Url：\*\*Devin 提供的 SCIM 基础 URL
       * \*\*OAuth Bearer Token：\*\*Devin 提供的 Bearer 令牌
       * 点击 **Test API Credentials**，应测试成功，然后点击 **Save**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-configure-api-integration.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=caa19c614525255dd36a1ffc59ea21a1" alt="使用基础 URL 和 Bearer 令牌配置 SCIM API 集成" width="1035" height="855" data-path="images/enterprise/scim/okta/okta-configure-api-integration.png" />
           </Frame>

    2. 打开应用 → **Provisioning → To App**，点击 **Edit**，启用 **Create Users**、**Update User Attributes** 和 **Deactivate Users**，然后点击 **Save**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-provisioning-settings.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=c7370d2866168c473e85a76b9323431f" alt="启用 Create Users、Update User Attributes 和 Deactivate Users" width="1022" height="979" data-path="images/enterprise/scim/okta/okta-provisioning-settings.png" />
           </Frame>

    3. 打开应用 → **Sign On**，点击 **Edit**，将 **Application username format** 设置为 **Email**，然后点击 **Save**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-username-email.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=6fdf79b5927ee13b4393029791f38084" alt="在 Sign On 设置中将 Application username format 设置为 Email" width="741" height="988" data-path="images/enterprise/scim/okta/okta-username-email.png" />
           </Frame>

    4. 打开应用 → **Provisioning → To App**，滚动到属性映射部分，然后点击 **Go to Profile Editor**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-attributes.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=113c565d2c78a98c2dc1c5da37422cd3" alt="包含 Go to Profile Editor 按钮的属性映射表" width="976" height="781" data-path="images/enterprise/scim/okta/okta-attributes.png" />
           </Frame>

    5. 在 Profile Editor 中，点击 **Mappings**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-mappings-button.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=9cb80c286e66e3786d7927487de75bc4" alt="Okta Profile Editor 中的 Mappings 按钮" width="1024" height="1129" data-path="images/enterprise/scim/okta/okta-mappings-button.png" />
           </Frame>

       * 在第一个选项卡 (Okta user to app) 中，除 `appuser.givenName → firstName`、`appuser.familyName → lastName` 和 `appuser.email → email` 外，将所有映射设为 **Do not map**，然后点击 **Save Mappings**

             <Frame>
               <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-mappings.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=35071c1e3a0cb2ed26f418986ed11128" alt="第一个映射选项卡，其中 givenName、familyName 和 email 已映射" width="978" height="1247" data-path="images/enterprise/scim/okta/okta-mappings.png" />
             </Frame>

       * 在第二个选项卡 (app to Okta user) 中，除 `user.firstName`、`user.lastName` 和 `user.email` 外，将所有映射设为 **Do not map**，然后点击 **Save Mappings**

             <Frame>
               <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/okta/okta-mappings-reverse.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=ef9c9381c176bbad03086b8663e2a0fc" alt="第二个映射选项卡，其中 firstName、lastName 和 email 已映射" width="980" height="1212" data-path="images/enterprise/scim/okta/okta-mappings-reverse.png" />
             </Frame>

    **分配用户和组**

    * 在 **Assignments** 选项卡中分配用户和组
    * 若要将组同步到 Devin，还需在 **Push Groups** 选项卡中推送这些组
  </Tab>

  <Tab title="Entra ID">
    SCIM 将作为独立于现有 Devin SSO 应用程序的应用程序进行设置。

    **创建应用程序**

    1. 在 Entra 管理中心，转到 **企业应用程序**，然后点击 **+ 新建应用程序**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-new-application.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=21f7f0aa93b9897d585860c705c1c2bc" alt="Entra 企业应用程序中的新建应用程序" width="1380" height="893" data-path="images/enterprise/scim/entra/entra-new-application.png" />
           </Frame>

    2. 点击 **+ 创建自己的应用程序**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-new-application-create.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=dd16f32ea123031c47420843be4b4175" alt="在 Entra 应用程序库中创建自己的应用程序" width="1337" height="773" data-path="images/enterprise/scim/entra/entra-new-application-create.png" />
           </Frame>

    3. 为便于识别，为应用程序命名 (例如 `Devin (SCIM)`) ，保留已选中的非库选项，然后点击 **创建**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-new-application-name.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=08f80164a6ed44dd900f3962a7239555" alt="命名应用程序并选择非库选项" width="563" height="451" data-path="images/enterprise/scim/entra/entra-new-application-name.png" />
           </Frame>

    **配置应用程序**

    1. 打开应用程序 → **预配**，然后点击 **连接你的应用程序**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-new-application-connect.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=de9222b273f3944751f242ca385a8bf0" alt="在预配概览中连接你的应用程序" width="1375" height="1157" data-path="images/enterprise/scim/entra/entra-new-application-connect.png" />
           </Frame>

       * **租户 URL：** Devin 提供的 SCIM 基础 URL
       * **密钥令牌：** Devin 提供的 Bearer 令牌
       * 点击 **测试连接**，确认连接成功后，点击 **保存**

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-provisioning-config.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=e8738e390c9d77e5c80afa48344d2c00" alt="使用 Bearer 身份验证输入租户 URL 和密钥令牌" width="727" height="699" data-path="images/enterprise/scim/entra/entra-provisioning-config.png" />
           </Frame>

    2. 打开应用程序 → **预配 → 映射 → 预配 Microsoft Entra ID 用户** (确保已为用户和组启用预配)

           <Frame>
             <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-provisioning-enable.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=7850b9ee2ff62e4cee7e9074f76be93e" alt="预配 Microsoft Entra ID 用户映射" width="1378" height="774" data-path="images/enterprise/scim/entra/entra-provisioning-enable.png" />
           </Frame>

       * 编辑 `userName`，使其与 `emails[type eq "work"].value` 的映射保持一致 (例如，将两者都设置为 Entra 属性 `userPrincipalName`) ，然后点击 **保存**

             <Frame>
               <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-attribute-mapping.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=f878da9269eaa685b3e1e305b1d363dd" alt="userName 和 emails[type eq work].value 均映射到 userPrincipalName" width="1368" height="1259" data-path="images/enterprise/scim/entra/entra-attribute-mapping.png" />
             </Frame>

       * 删除除 `userName`、`active`、`name.givenName`、`name.familyName`、`emails[type eq "work"].value` 和 `externalId` 之外的所有属性映射

             <Frame>
               <img src="https://mintcdn.com/cognitionai-enterprise/0ugBeakkNYxt56HQ/images/enterprise/scim/entra/entra-attribute-mapping-removal.png?fit=max&auto=format&n=0ugBeakkNYxt56HQ&q=85&s=53aca91c6e9b1a6570183dfbed9d2c86" alt="属性映射已精简为受支持的集合" width="1363" height="931" data-path="images/enterprise/scim/entra/entra-attribute-mapping-removal.png" />
             </Frame>

    **分配用户和组**

    1. 打开应用程序 → **用户和组**，然后点击 **+ 添加用户/组**
    2. 打开应用程序 → **预配**，然后点击 **开始预配** (将 **预配状态** 设置为 **开**，Entra 将按其标准周期自动在后台同步，约每 40 分钟一次)
    3. (可选) 如需立即同步特定用户，请使用 **预配 → 按需预配**
  </Tab>

  <Tab title="其他身份提供商">
    任何符合 SCIM 2.0 标准的身份提供商都可以为 Devin 预配用户和组：

    * \*\*基础 URL：\*\*Devin 提供的 SCIM 基础 URL (以 `/scim/v2` 结尾)
    * \*\*身份验证：\*\*HTTP `Authorization: Bearer <token>` 标头
    * **资源：**`/Users` 和 `/Groups`，以及标准自动发现端点 (`/ServiceProviderConfig`、`/ResourceTypes`、`/Schemas`)
    * \*\*支持的属性有限：\*\*其他属性将被忽略。仅支持以下属性：
      * **用户：**`userName`、`active`、`emails`、`name.givenName`、`name.familyName`、`externalId`
      * **组：**`displayName`、`members`、`externalId`
  </Tab>
</Tabs>

<Note>
  用户的 `userName` 必须使用其电子邮件地址。因此，Okta 应用的用户名格式应设为 **Email**，且 Entra 的 `userName` 映射必须与工作电子邮件映射保持一致。
</Note>

<div id="step-3-map-groups-to-roles">
  ## 步骤 3：将组映射到角色
</div>

系统会在用户首次登录前，将其以默认的 Enterprise Member 角色预配到你的 Devin 企业账户中。在 **设置 → Enterprise → 身份提供商组** 中，将已预配的组映射到相应的角色和组织。

<div id="how-provisioning-interacts-with-sso-login">
  ## 预配与 SSO 登录的交互方式
</div>

* 通过 SCIM 预配的用户可立即通过 SSO 登录，无需邀请
* 在 IdP 中停用用户会立即移除其企业成员资格；重新分配后即可恢复
* 通过 SCIM 推送的组成员关系会立即生效，无需等待用户下次登录
* 关闭基于登录的组同步后，SCIM 将成为 IdP 组成员关系的唯一来源
* 此前通过即时预配或手动邀请创建的用户仍可正常使用；请在 IdP 中为其分配，以便由 SCIM 管理
