> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 在 SSO 组织中管理用户访问

LangSmith 提供了灵活的控制选项，用于管理用户在使用[单点登录 (SSO) 认证](/langsmith/authentication-methods)时如何加入您的[组织](/langsmith/administration-overview#organizations)。您可以独立启用或禁用即时 (JIT) 配置和用户邀请，以满足您组织的安全和入职要求。

启用 SSO 后，您有两个独立的设置：[JIT 配置](#jit-provisioning)在用户通过 SSO 登录时自动添加用户，而[邀请](#invites)允许管理员在用户访问组织之前手动邀请他们。[配置这些设置](#configuration-scenarios)可以任意组合，以控制您的用户入职工作流程。

本页说明这些设置的工作原理以及如何配置它们。

## 设置

您可以独立控制以下两个设置，以管理用户如何加入您的组织。

### JIT 配置

`jit_provisioning_enabled` 设置控制自动用户配置。启用后，通过您的 SSO 提供商进行身份验证的用户将自动添加到您的[组织](/langsmith/administration-overview#organizations)，并分配到默认的[工作区](/langsmith/administration-overview#workspaces)，具有默认的[角色](/langsmith/rbac)。更多详情，请参阅[配置默认 SSO 设置](#configure-default-sso-settings)。禁用后，用户必须被明确邀请或通过 [SCIM](#scim-integration) 添加，才能访问组织。

### 邀请

`invites_enabled` 设置控制手动用户邀请。启用后，[组织管理员](/langsmith/administration-overview#organization-roles)可以在用户登录之前向他们发送邀请。被邀请的用户可以在通过 SSO 登录时认领他们的邀请。禁用后，不允许手动邀请，用户只能通过 JIT 配置或 [SCIM](#scim-integration) 加入。

### 更新设置

您可以在 LangSmith UI 或使用 LangSmith API 更新这些设置：

<Tabs>
  <Tab title="UI" icon="layout">
    在 [LangSmith UI](https://smith.langchain.com) 中：

    1. 导航至 **设置** → **组织** → **访问与安全** → **常规**。
    2. 根据需要切换 **启用 JIT 配置** 和 **允许邀请**。
    3. 在 **设置** → **组织** → **SSO 配置** 中[配置 SSO 默认工作区和角色](#configure-default-sso-settings)。
  </Tab>

  <Tab title="API" icon="code">
    使用[更新组织信息](https://api.smith.langchain.com/redoc#tag/orgs/operation/update_current_organization_info_api_v1_orgs_current_info_patch)端点以编程方式更新组织设置：

    ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    curl -X PATCH https://api.smith.langchain.com/api/v1/organizations/current/info \
      -H "Authorization: Bearer $LANGSMITH_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "jit_provisioning_enabled": true,
        "invites_enabled": true
      }'
    ```

    响应包含更新后的当前组织配置：

    ```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    {
      "id": "org-uuid",
      "display_name": "My Organization",
      "jit_provisioning_enabled": true,
      "invites_enabled": true,
      "sso_login_slug": "my-org",
      ...
    }
    ```
  </Tab>
</Tabs>

<Note>
  如果您使用的是 [LangSmith 自托管](/langsmith/self-hosted)，请注意以下事项：

  * JIT 配置和邀请设置仅适用于默认组织（由 `default_sso_provision=true` 标识）。其他组织在自托管环境中必须使用邀请。
  * 环境变量 `SELF_HOSTED_JIT_PROVISIONING_ENABLED` 可以全局覆盖 JIT 配置设置。设置为 `false` 时，无论其单独设置如何，所有组织的 JIT 配置都将被禁用。
  * 有关其他自托管用户管理自定义，请参阅[自定义用户管理](/langsmith/self-host-user-management)。
</Note>

## 用户访问工作原理

当用户尝试通过 SSO 登录时，LangSmith 遵循以下决策流程：

1. 用户通过 SSO 提供商进行身份验证。
2. LangSmith 检查用户是否已拥有组织访问权限：
   ```
   ├─ 是 → 用户已登录
   └─ 否 → 继续步骤 3
   ```
3. 检查邀请是否已启用**且**存在待处理的邀请：
   ```
   ├─ 是 → 使用邀请的组织角色配置到组织中；如果邀请包含工作区，则配置到工作区
   └─ 否 → 继续步骤 4
   ```
4. 检查 JIT 配置是否已启用：
   ```
   ├─ 是 → 使用默认 SSO 工作区/角色自动配置用户
   └─ 否 → 拒绝访问（用户必须通过 SCIM 或管理员添加）
   ```

<Note>
  当 JIT 配置和邀请都启用时，**邀请优先**。如果用户有待处理的邀请，他们将使用邀请的内容添加，而不是默认的 SSO 设置。
</Note>

## 配置场景

### 开放访问（两者都启用）

**配置：**

* ✓ JIT 配置已启用
* ✓ 邀请已启用

**行为：**

* 用户可以立即通过 SSO 登录并自动配置。
* 管理员可以发送邀请以分配特定角色或工作区。
* 被邀请的用户获得邀请配置；未被邀请的用户获得默认 SSO 配置。

**示例：**

```
用户 alex@company.com 通过 SSO 登录：
  - 无邀请存在 → 添加到默认工作区，具有 Viewer 角色

用户 billy@company.com 通过 SSO 登录：
  - 存在针对 "Production" 工作区中 Editor 角色的邀请 → 仅添加到 "Production" 工作区，具有 Editor 角色（邀请优先）
```

### 仅 JIT（邀请禁用）

**配置：**

* ✓ JIT 配置已启用
* ✗ 邀请已禁用

**行为：**

* 所有通过 SSO 进行身份验证的用户都会自动配置。
* 管理员无法发送邀请。
* 所有新用户都获得相同的工作区和角色。

### 仅邀请（JIT 禁用）

**配置：**

* ✗ JIT 配置已禁用
* ✓ 邀请已启用

**行为：**

* 用户必须被邀请才能访问组织。
* 没有邀请的用户即使拥有有效的 SSO 凭据也会被拒绝访问。
* 对谁可以访问组织进行细粒度控制。

**示例：**

```
用户 alex@company.com 通过 SSO 登录：
  - 有待处理的邀请 → 成功加入组织

用户 billy@company.com 通过 SSO 登录：
  - 无邀请 → 访问被拒绝（必须向管理员请求邀请）
```

### 关闭访问（两者都禁用）

**配置：**

* ✗ JIT 配置已禁用
* ✗ 邀请已禁用

**行为：**

* SSO 用户无法自动加入组织。
* 无法发送邀请。
* 用户必须通过 SCIM 或由管理员直接配置，前提是他们已通过 SCIM 成为组织的一部分。

## 用户访问快速参考

| JIT 已启用 | 邀请已启用 | 待处理邀请 | 结果                                              |
| ------- | ----- | ----- | ----------------------------------------------- |
| ✓       | ✓     | 是     | 邀请已认领（使用邀请配置）                                   |
| ✓       | ✓     | 否     | 自动配置（默认 SSO 配置）                                 |
| ✓       | ✗     | 不适用   | 自动配置（默认 SSO 配置）                                 |
| ✗       | ✓     | 是     | 邀请已认领                                           |
| ✗       | ✓     | 否     | **访问被拒绝** - 必须被邀请                               |
| ✗       | ✗     | 不适用   | **访问被拒绝** - 必须使用 [SCIM](#scim-integration) 或管理员 |

## 配置默认 SSO 设置

当 [JIT 配置](#jit-provisioning) 启用时，为新用户配置默认设置：

1. 默认工作区角色。选择用户自动配置时获得的[工作区角色](/langsmith/rbac#workspace-roles)。有关每个角色可以执行的操作的详细信息，请参阅[组织和工作区操作](/langsmith/organization-workspace-operations)。选项包括：

   * **[Viewer](/langsmith/rbac#workspace-viewer)**：只读访问
   * **[User](/langsmith/rbac#organization-user)**：标准访问
   * **[Editor](/langsmith/rbac#workspace-editor)**：可以修改资源
   * **[Admin](/langsmith/rbac#workspace-admin)**：完全工作区控制

2. 默认工作区。选择一个或多个用户自动添加到的工作区。用户在所有选定的工作区中获得相同的角色。配置方法：

   1. 转到 **设置** → **组织** → **SSO 配置**。
   2. 设置 **默认工作区角色**。
   3. 选择 **默认工作区**。
   4. 保存您的配置。

## SCIM 集成

如果您的组织使用 [SCIM](/langsmith/user-management#set-up-scim-for-your-organization)（跨域身份管理系统），用户可以通过您的身份提供商自动配置和管理。SCIM 提供了一种额外的用户管理机制，与 JIT 和邀请设置协同工作。

<Note>
  SCIM 组成员身份会覆盖手动分配的角色或通过 JIT 配置分配的角色。如果您使用 SCIM，请考虑禁用 JIT 配置以避免冲突。
</Note>

## SSO 组同步

[SSO 组同步](/langsmith/user-management#sso-groups-sync-alternative)是 SCIM 的替代方案，它在登录时从 SSO 令牌读取组成员身份，并使用 SCIM 命名约定分配组织和工作区角色。同步在每次登录时的 JIT 和邀请解析之后运行，并且仅拥有它创建的成员身份。

**与 JIT、邀请和 SCIM 的优先级关系：**

* **SCIM 来源的**成员身份永远不会被 SSO 组同步修改。
* **SSO 组同步来源的**成员身份在每次登录时根据令牌的组成员身份完全替换。
* **手动和 JIT 配置的**成员身份不会被 SSO 组同步修改。

我们建议每个组织选择 SCIM 或 SSO 组同步之一，而不是两者都选，以避免令人困惑的优先级行为。有关配置和权衡，请参阅 [SSO 组同步](/langsmith/user-management#sso-groups-sync-alternative)。

## 相关文档

* [使用 OAuth2.0 和 OIDC 设置 SSO](/langsmith/self-host-sso)（自托管）
* [设置 SAML SSO](/langsmith/user-management#set-up-saml-sso-for-your-organization)（云）
* [设置 SCIM](/langsmith/user-management#set-up-scim-for-your-organization)
* [用户管理](/langsmith/user-management)
* [基于角色的访问控制](/langsmith/rbac)

***

<div className="source-links">
  <Callout icon="terminal-2">
    [将这些文档连接](/use-these-docs)到 Claude、VSCode 等，通过 MCP 获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/jit-invite-sso.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
