主题
管理 SSO 组织中的用户访问
LangSmith 提供了灵活的控件来管理用户如何加入你的组织(当使用单点登录(SSO)身份验证时)。你可以独立地启用或禁用即时(JIT)预配和用户邀请,以匹配你组织的安全和入职要求。
启用 SSO 时,你有两个独立的设置:JIT 预配会在用户通过 SSO 登录时自动添加他们,而邀请允许管理员在用户能够访问组织之前手动邀请他们。以任意组合作这些配置来控制你的用户入职工作流。
本页解释这些设置如何工作,以及如何配置它们。
设置
你可以独立地控制以下两个设置,以管理用户如何加入你的组织。
JIT 预配
jit_provisioning_enabled 设置控制自动用户预配。启用后,通过你的 SSO 提供商进行身份验证的用户会被自动添加到你的组织中,并被分配到一个默认工作区,附带一个默认角色。更多详情,参阅配置 SSO 默认设置。禁用后,用户在能够访问组织之前必须被显式邀请或通过 SCIM 添加。
邀请
invites_enabled 设置控制手动用户邀请。启用后,组织管理员可以在用户登录之前向他们发送邀请。被邀请的用户在通过 SSO 登录时可以领取其邀请。禁用后,不允许手动邀请,用户只能通过 JIT 预配或 SCIM 加入。
更新设置
你可以在 LangSmith UI 中或使用 LangSmith API 更新这些设置:
在 LangSmith UI中:
- 导航到 Settings > Organization > Access and Security > General。
- 按需切换 Enable JIT provisioning 和 Allow invites。
- 在 Settings > Organization > SSO Configuration 中配置 SSO 默认工作区和角色。
NOTE
如果你使用的是 LangSmith 自托管,请考虑以下几点:
- JIT 预配和邀请设置仅适用于默认组织(以
default_sso_provision=true标识)。在自托管中,其他组织必须使用邀请。 - 环境变量
SELF_HOSTED_JIT_PROVISIONING_ENABLED可以全局覆盖 JIT 预配设置。当设为false时,无论各组织自身的设置如何,所有组织的 JIT 预配都会被禁用。 - 有关额外的自托管用户管理定制,参阅自定义用户管理。
用户访问如何工作
当用户试图通过 SSO 登录时,LangSmith 遵循以下决策流程:
- 用户通过 SSO 提供商进行身份验证。
- LangSmith 检查用户是否已拥有组织访问权限:
├─ YES → User is signed in └─ NO → Continue to step 3 - 检查是否启用了邀请,并且是否存在一个待处理的邀请:
├─ YES → Provision into organization with invite's organization role; provision into workspaces if invite included workspaces └─ NO → Continue to step 4 - 检查是否启用了 JIT 预配:
├─ YES → Automatically provision user with default SSO workspaces/role └─ NO → Deny access (user must be added via SCIM or by administrator)
NOTE
当 JIT 预配和邀请都启用时,邀请优先。如果用户有一个待处理的邀请,他们会按邀请的内容被添加,而不是按 SSO 默认设置。
配置场景
开放访问(两者都启用)
配置:
- ✓ 启用 JIT 预配
- ✓ 启用邀请
行为:
- 用户可以通过 SSO 立即登录并被自动预配。
- 管理员可以发送邀请以分配特定角色或工作区。
- 被邀请的用户获得邀请配置;未被邀请的用户获得 SSO 默认配置。
示例:
User alex@company.com signs in via SSO:
- No invite exists → Added to default workspaces with Viewer role
User billy@company.com signs in via SSO:
- Invite exists for Editor role in "Production" workspace → Added only to "Production" workspace with Editor role (invite takes precedence)仅 JIT(禁用邀请)
配置:
- ✓ 启用 JIT 预配
- ✗ 禁用邀请
行为:
- 所有通过 SSO 进行身份验证的用户都会被自动预配。
- 管理员无法发送邀请。
- 所有新用户都会收到相同的默认工作区和角色。
仅邀请(禁用 JIT)
配置:
- ✗ 禁用 JIT 预配
- ✓ 启用邀请
行为:
- 用户在能够访问组织之前必须被邀请。
- 即使拥有有效的 SSO 凭据,没有邀请的用户也会被拒绝访问。
- 对谁可以访问组织拥有细粒度控制。
示例:
User alex@company.com signs in via SSO:
- Has pending invite → Successfully joins organization
User billy@company.com signs in via SSO:
- No invite → Access denied (must request invite from administrator)封闭访问(两者都禁用)
配置:
- ✗ 禁用 JIT 预配
- ✗ 禁用邀请
行为:
- SSO 用户无法自动加入组织。
- 无法发送邀请。
- 用户必须在已通过 SCIM 成为组织成员后,通过 SCIM 或由管理员直接预配。
用户访问速查
| JIT 启用 | 邀请启用 | 待处理邀请 | 结果 |
|---|---|---|---|
| ✓ | ✓ | 是 | 邀请被领取(使用邀请配置) |
| ✓ | ✓ | 否 | 自动预配(SSO 默认配置) |
| ✓ | ✗ | N/A | 自动预配(SSO 默认配置) |
| ✗ | ✓ | 是 | 邀请被领取 |
| ✗ | ✓ | 否 | 拒绝访问 — 必须被邀请 |
| ✗ | ✗ | N/A | 拒绝访问 — 必须使用 SCIM 或管理员 |
配置 SSO 默认设置
启用 JIT 预配时,为新用户配置默认设置:
默认工作区。选择一个或多个用户会被自动添加到的工作区。用户在所有选定工作区中获得相同的角色。要配置:
- 前往 Settings > Organization > SSO Configuration。
- 设置 Default workspace role。
- 选择 Default workspaces。
- 保存你的配置。
SCIM 集成
如果你的组织使用 SCIM(跨域身份管理系统),用户可以通过你的身份提供商被自动预配和管理。SCIM 提供了一种与 JIT 和邀请设置并行的额外用户管理机制。
NOTE
SCIM 组成员身份会覆盖手动分配的角色或通过 JIT 预配分配的角色。如果你使用 SCIM,请考虑禁用 JIT 预配以避免冲突。
SSO 组同步
SSO 组同步是 SCIM 的一种替代方案,它在登录时从 SSO token 读取组成员身份,并使用 SCIM 命名约定分配组织和工作区角色。该同步在每次登录时于 JIT 和邀请解析之后运行,并且只拥有它创建的成员身份。
与 JIT、邀请和 SCIM 的优先级:
- 来自 SCIM 的成员身份永远不会被 SSO 组同步修改。
- 来自 SSO 组同步的成员身份会基于 token 的组成员身份在每次登录时被完全替换。
- 手动和 JIT 预配的成员身份不会被 SSO 组同步修改。
我们建议每个组织在 SCIM 或 SSO 组同步之间二选一,而非两者都用,以避免令人困惑的优先级行为。有关配置和权衡,参阅 SSO 组同步。