外观
用户管理
约 6503 字大约 22 分钟
2025-11-28
本页涵盖 LangSmith 的用户管理功能,包括访问控制、认证和自动化用户预配:
- 设置访问控制:配置基于角色的访问控制(RBAC),以管理工作区中的用户权限,包括创建自定义角色并分配给用户。
- SAML 单点登录(企业版):为企业客户使用 SAML 2.0 设置单点登录认证,包括常见身份提供商的配置。
- SCIM 用户预配(企业版):通过 SCIM 在你的身份提供商与 LangSmith 之间自动化用户的预配与撤销。
设置访问控制
RBAC(基于角色的访问控制)仅对企业客户开放。如果你对此功能感兴趣,请联系销售团队。其他套餐默认所有用户使用 Admin 角色。
你可能会发现,在设置访问控制之前,阅读管理概览页面会有所帮助。
LangSmith 依赖 RBAC 来管理 工作区 内的用户权限。这允许你控制谁可以访问你的 LangSmith 工作区,以及他们在其中可以做什么。只有拥有 workspace:manage 权限的用户才能管理工作区的访问控制设置。
关于工作区角色及其权限的完整参考,请参阅基于角色的访问控制指南。关于各角色可执行的具体操作,请参阅组织与工作区操作参考。
创建角色
默认情况下,LangSmith 提供一组系统角色:
Admin:对工作区内的所有资源具有完全访问权限。Viewer:对工作区内的所有资源具有只读访问权限。Editor:除工作区管理(添加/移除用户、变更角色、配置服务密钥)外拥有全部权限。
如果这些角色不符合你的访问模型,Organization Admins 可以创建自定义角色以满足需求。
要创建角色,请在组织设置页面的成员与角色部分进入角色标签。注意,你创建的新角色将在组织内的所有工作区中可用。
点击创建角色按钮来创建新角色。将会打开一个创建角色表单。

为你想要控制访问的不同 LangSmith 资源分配权限。
为用户分配角色
设置好角色后,你可以将其分配给用户。要为用户分配角色,请在组织设置页面的Workspaces部分进入Workspace members标签。
每个用户都会有一个角色下拉框,你可以用它为用户分配角色。

你也可以以指定角色邀请新用户。

为你的组织设置 SAML SSO
单点登录(SSO)功能可用于企业云客户,以通过单一认证源访问 LangSmith。这使管理员能够集中管理团队访问并提升信息安全性。
LangSmith 的 SSO 配置基于 SAML(安全断言标记语言)2.0 标准构建。SAML 2.0 使你能够将身份提供商(IdP)连接到你的组织,以获得更简单、更安全的登录体验。
SSO 服务允许用户使用一套凭证(例如姓名或电子邮件地址和密码)访问多个应用。该服务仅对用户进行一次认证,用户在同一会话中切换应用时将不再提示。SSO 的好处包括:
- 为组织所有者简化跨系统的用户管理。
- 使组织能够强制执行自身的安全策略(例如 MFA)。
- 消除终端用户记忆和管理多个密码的需求。通过一个单一访问点登录,简化终端用户体验,可跨多个应用使用。
即时(JIT)预配
在使用 SAML SSO 时,LangSmith 支持即时预配。这允许通过 SAML SSO 登录的人自动作为成员加入组织并被添加到选定的工作区。
JIT 预配仅对新用户运行,即对那些未通过其他登录方式以相同邮箱地址已拥有组织访问权限的用户生效。
登录方式与访问
完成组织的 SAML SSO 配置后,用户将能够通过 SAML SSO 以及其他登录方式(如用户名/密码或 Google 认证)登录:
- 通过 SAML SSO 登录时,用户只能访问已配置 SAML SSO 的对应组织。
- 仅有 SAML SSO 作为唯一登录方式的用户没有个人组织。
- 通过其他方式登录时,用户可以访问配置了 SAML SSO 的组织以及他们所属的任何其他组织。
强制仅使用 SAML SSO
组织在强制仅使用 SAML SSO 的情况下不支持用户邀请。初始工作区成员资格与角色由 JIT 预配决定,之后的变更可在 UI 中进行管理。 为获得更灵活的自动化用户管理,LangSmith 支持 SCIM。
为确保用户只能在使用 SAML SSO 登录时访问组织且不能使用其他方式登录,请勾选仅通过 SSO 登录并点击保存。设置生效后,使用非 SSO 登录方式访问组织的用户将需要使用 SAML SSO 重新登录。取消勾选并点击保存即可恢复允许所有登录方式。
你必须通过 SAML SSO 登录才能将此设置更新为 Only SAML SSO。这是为了确保 SAML 设置有效并避免将用户锁定在组织之外。
有关故障排除,请参阅SAML SSO 常见问题。如果你在设置 SAML SSO 时遇到问题,请联系 LangChain 支持团队:support@langchain.dev。
先决条件
SAML SSO 适用于企业版组织。请联系销售了解更多信息。
- 你的组织必须是企业版。
- 你的身份提供商(IdP)必须支持 SAML 2.0 标准。
- 只有
Organization Admins可配置 SAML SSO。
关于将 SAML 与 SCIM 一起用于用户预配与撤销的说明,请参阅SCIM 设置。
初始配置
如需特定 IdP 的配置步骤,请参阅以下之一:
在你的 IdP 中:使用以下详细信息配置一个 SAML 应用,然后在第 3 步复制元数据 URL 或 XML。
以下 URL 在美国(US)和欧盟(EU)区域不同。请确保选择正确的链接。
- 单点登录 URL(或 ACS URL):
- 受众 URI(或 SP 实体 ID):
- Name ID 格式:电子邮件地址。
- 应用用户名:电子邮件地址。
- 必需声明:
sub和email。
在 LangSmith 中:前往 Settings -> Members and roles -> SSO Configuration。填写必要信息并提交以启用 SSO 登录:
- 填写
SAML metadata URL或SAML metadata XML。 - 选择
Default workspace role和Default workspaces。通过 SSO 登录的新用户将被添加到指定的工作区并具有所选角色。
- 填写
Default workspace role与Default workspaces可编辑。更新后只适用于新用户,不影响现有用户。- (即将推出)
SAML metadata URL与SAML metadata XML可编辑。这通常仅在加密密钥轮换/过期或元数据 URL 更改但仍使用同一 IdP 时需要。
Entra ID(Azure)
更多信息,请参阅微软文档。
步骤 1:创建新的 Entra ID 应用集成
- 使用特权角色(例如
Global Administrator)登录 Azure 门户。在左侧导航栏选择Entra ID服务。 - 导航到 Enterprise Applications,然后选择 All Applications。
- 点击 Create your own application。
- 在 Create your own application 窗口:
- 输入你的应用名称(例如
LangSmith)。 - 选择 Integrate any other application you don't find in the gallery (Non-gallery)。
- 输入你的应用名称(例如
- 点击 Create。
步骤 2:配置 Entra ID 应用并获取 SAML 元数据
- 打开你创建的企业应用。
- 在左侧导航中选择 Manage > Single sign-on。
- 在 Single sign-on 页面点击 SAML。
- 更新 Basic SAML Configuration:
Identifier (Entity ID):Reply URL (Assertion Consumer Service URL):- 保持
Relay State、Logout Url和Sign on URL为空。 - 点击 Save。
- 确保存在所需声明,Namespace:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims:sub:user.objectid。emailaddress:user.userprincipalname或user.mail(若使用后者,请确保所有用户在Contact Information中填写了Email字段)。- (可选)如需 SCIM,参阅设置文档以获取关于
Unique User Identifier (Name ID)的具体说明。
- 在 SAML-based Sign-on 页面,SAML Certificates 下复制 App Federation Metadata URL。
步骤 3:设置 LangSmith SSO 配置
按照初始配置中的“填写必要信息”步骤执行,使用上一步中的元数据 URL。
步骤 4:验证 SSO 设置
- 在 Entra ID 中为用户/组分配应用:
- 选择 Manage > Users and groups。
- 点击 Add user/group。
- 在 Add Assignment 窗口:
- 在 Users 下点击 None Selected。
- 搜索要分配至企业应用的用户,然后点击 Select。
- 确认用户已选中,点击 Assign。
- 让该用户通过 SSO Configuration 页面中的唯一登录 URL 登录,或进入 Manage > Single sign-on 并选择 Test single sign-on with (application name)。
更多信息,请参阅 Google 的文档。
步骤 1:创建并配置 Google Workspace SAML 应用
- 确保你已使用具备相应权限的管理员账号登录。
- 在管理控制台中,前往 Menu -> Apps -> Web and mobile apps。
- 点击 Add App 然后 Add custom SAML app。
- 输入应用名称,并可选上传图标。点击 Continue。
- 在 Google Identity Provider 详情页,下载 IDP metadata 并保存以用于步骤 2。点击 Continue。
- 在
Service Provider Details窗口,输入:ACS URL:Entity ID:- 保持
Start URL与Signed response复选框为空。 - 将
Name ID格式设置为EMAIL并保持Name ID为默认(Basic Information > Primary email)。 - 点击
Continue。
- 使用
Add mapping以确保存在所需声明:Basic Information > Primary email->email
步骤 2:设置 LangSmith SSO 配置
按照初始配置中的“填写必要信息”步骤执行,使用上一步的 IDP metadata 作为元数据 XML。
步骤 3:在 Google 中启用 SAML 应用
- 在
Menu -> Apps -> Web and mobile apps下选择该 SAML 应用。 - 点击
User access。 - 启用服务:
- 为组织内所有人启用服务,点击
On for everyone,然后点击Save。 - 为某个组织单元启用服务:
- 在左侧选择该组织单元,然后选择
On。 - 若 Service status 设置为
Inherited并且你希望在父级设置更改后仍保持更新后的设置,点击Override。 - 若 Service status 设置为
Overridden,可点击Inherit以恢复与父级相同设置,或点击Save保持新设置,即使父级设置更改。
- 在左侧选择该组织单元,然后选择
- 为跨或内多个组织单元的一组用户启用服务,选择一个访问组。详情参阅使用群组自定义服务访问。
- 为组织内所有人启用服务,点击
- 确保用户用于登录 LangSmith 的电子邮件地址与其登录你的 Google 域时使用的地址匹配。
步骤 4:验证 SSO 设置
让具有访问权限的用户通过 SSO Configuration 页面中的唯一登录 URL 登录,或在 Google 中进入该 SAML 应用页面并点击 TEST SAML LOGIN。
Okta
支持特性
- IdP 发起的 SSO(单点登录)
- SP 发起的 SSO
- 即时预配(JIT)
- 强制仅使用 SSO
配置步骤
更多信息请参阅 Okta 的文档。
步骤 1:创建并配置 Okta SAML 应用
通过 Okta 集成网络(推荐)
- 登录 Okta。
- 在右上角选择 Admin。该按钮在 Admin 区域中不可见。
- 选择
Browse App Integration Catalog。 - 查找并选择 LangSmith 应用。
- 在应用概览页面选择 Add Integration。
- 保持
ApiUrlBase为空。 - 填写
AuthHost:- US:
auth.langchain.com - EU:
eu.auth.langchain.com
- US:
- (可选,若计划同时使用SCIM)填写
LangSmithUrl:- US:
api.smith.langchain.com - EU:
eu.api.smith.langchain.com
- US:
- 在 Application Visibility 下保持复选框未选中。
- 选择 Next。
- 选择
SAML 2.0。 - 填写
Sign-On Options:Application username format:EmailUpdate application username on:Create and updateAllow users to securely see their password:保持未选中。
- 从 Sign On Options 页面复制 Metadata URL 以用于下一步。
通过自定义应用集成
SCIM 与此配置方法不兼容。请参阅通过 Okta 集成网络。
- 以管理员身份登录 Okta,进入 Okta Admin console。
- 在 Applications > Applications 下点击 Create App Integration。
- 选择 SAML 2.0。
- 输入
App name(例如LangSmith)并可选添加 App logo,然后点击 Next。 - 在 Configure SAML 页面输入以下信息:
Single sign-on URL(ACS URL)。保持Use this for Recipient URL and Destination URL选中:Audience URI (SP Entity ID):Name ID format:Persistent。Application username:email。- 保持其他字段为空或默认。
- 点击 Next。
- 点击 Finish。
- 从 Sign On 页面复制 Metadata URL 以用于下一步。
步骤 2:设置 LangSmith SSO 配置
按照初始配置中的 填写必要信息 步骤执行,使用上一阶段的元数据 URL。
步骤 3:在 Okta 中分配用户到 LangSmith
- 在 Applications > Applications 下选择在步骤 1 中创建的 SAML 应用。
- 在 Assignments 标签下点击 Assign,然后选择 Assign to People 或 Assign to Groups。
- 进行所需选择,然后 Assign 并 Done。
步骤 4:验证 SSO 设置
让具有访问权限的用户通过 SSO Configuration 页面中的唯一登录 URL 登录,或让用户在其 Okta 仪表盘中选择该应用。
SP 发起的 SSO
配置服务提供方发起的 SSO 后,用户可以使用唯一登录 URL 登录。你可以在 LangSmith UI 的 Organization members and roles -> SSO configuration 下找到该地址。
为你的组织设置 SCIM
跨域身份管理系统(SCIM)是一项开放标准,允许自动化用户预配。通过 SCIM,你可以在 LangSmith 的组织与工作区中自动预配和撤销用户,使用户访问与组织的身份系统保持同步。
SCIM 可用于 Helm chart 版本 0.10.41(应用版本 0.10.108)及以上。
SCIM 支持仅限 API(见下方说明)。
SCIM 消除了手动用户管理的需要,并确保用户访问始终与组织的身份系统保持最新。这使得:
- 自动化用户管理:根据用户在 IdP 中的状态,用户会被自动添加、更新和移除出 LangSmith。
- 降低管理开销:无需在多个系统中手动管理用户访问。
- 提升安全性:离职用户会自动从 LangSmith 中撤销。
- 一致的访问控制:用户属性和群组成员关系在系统间保持同步。
- 可扩展的团队访问控制:高效管理拥有多个工作区和自定义角色的大型团队。
- 角色分配:为一组用户选择特定的组织角色与工作区角色。
要求
先决条件
- 你的组织必须是企业版。
- 你的身份提供商(IdP)必须支持 SCIM 2.0。
- 只有Organization Admins可以配置 SCIM。
- 云端客户:必须可为你的组织配置 SAML SSO。
- 自托管客户:必须启用 OAuth with Client Secret 认证模式。
- 自托管客户必须允许从身份提供商到 LangSmith 的网络流量:
角色优先级
当用户在同一工作区属于多个群组时,适用以下优先级:
- 组织管理员群组优先级最高。此类群组中的用户在所有工作区中将是
Admin。 - 最近创建的工作区特定群组优先于其他工作区群组。
当一个群组被删除或用户被从某个群组移除后,他们的访问权限会根据其剩余群组成员关系进行更新,并遵循上述优先级规则。
SCIM 的群组成员关系会覆盖手动分配的角色或通过即时预配(JIT)分配的角色。我们建议禁用 JIT 预配以避免冲突。
邮件验证
仅限云端:使用 SCIM 创建新用户时会向该用户发送邮件。 他们必须通过点击该邮件中的链接验证邮箱地址。 该链接在 24 小时后过期,如需重发可以通过 SCIM 移除并重新添加该用户。
属性与映射
群组命名约定
重命名群组在 SCIM 中不受支持。群组名称是持久的,因为它们必须与 LangSmith 中的角色名称和/或工作区名称匹配。
群组成员关系使用特定命名约定映射到 LangSmith 的工作区成员关系与工作区角色:
组织管理员群组
格式:<可选前缀>Organization Admin 或 <可选前缀>Organization Admins
示例:
LS:Organization AdminsGroups-Organization AdminsOrganization Admin
工作区特定群组
格式:<可选前缀><org_role_name>:<workspace_name>:<workspace_role_name>
示例:
LS:Organization User:Production:AnnotatorsGroups-Organization User:Engineering:DevelopersOrganization User:Marketing:Viewers
映射
尽管具体说明可能因身份提供商而异,以下映射展示了 LangSmith 的 SCIM 集成所支持的内容:
用户属性
| LangSmith 应用属性 | 身份提供商属性 | 匹配优先级 |
|---|---|---|
userName1 | 电子邮件地址 | |
active | !deactivated | |
emails[type eq "work"].value | 电子邮件地址2 | |
name.formatted | displayName 或 givenName + familyName3 | |
givenName | givenName | |
familyName | familyName | |
externalId | sub4 | 1 |
userName不是 LangSmith 所必需- 电子邮件地址是必需项
- 如果你的
displayName不符合Firstname Lastname格式,请使用计算表达式 - 为避免不一致,此值应与云端客户的 SAML
NameID断言或自托管的subOAuth2.0 声明匹配。
群组属性
| LangSmith 应用属性 | 身份提供商属性 | 匹配优先级 |
|---|---|---|
displayName | displayName1 | 1 |
externalId | objectId | |
members | members |
第 1 步——配置 SAML SSO(仅云端)
关于SAML SSO配置有两种情形:
- 如果你的组织已配置 SAML SSO,则应跳过最初添加应用的步骤(从 Okta 集成网络添加应用或创建新的 Entra ID 应用集成),因为你已经有一个已配置的应用,只需启用预配即可。
- 如果你第一次与 SCIM 一起配置 SAML SSO,请先按照设置 SAML SSO的说明进行,然后在此处按照说明启用 SCIM。
NameID 格式
LangSmith 使用 SAML NameID 来标识用户。NameID 是 SAML 响应中的必填字段且不区分大小写。
NameID 必须:
- 对每个用户唯一。
- 是一个永不改变的持久值,例如随机生成的唯一用户 ID。
- 在每次登录尝试中完全匹配。它不应依赖用户输入。
NameID 不应为电子邮件地址或用户名,因为这些更可能随时间变化且可能区分大小写。
除非你使用像电子邮件这样的字段(需要不同格式),否则 NameID 格式必须为 Persistent。
第 2 步——禁用 JIT 预配
在启用 SCIM 之前,禁用即时(JIT)预配,以避免自动与手动用户预配之间的冲突。
在云端禁用 JIT
使用 PATCH /orgs/current/info 端点:
curl -X PATCH $LANGCHAIN_ENDPOINT/orgs/current/info \
-H "X-Api-Key: $LANGCHAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jit_provisioning_enabled": false}'在自托管中禁用 JIT
从 LangSmith chart 版本 0.11.14 起,你可以使用 SSO 为自托管组织禁用 JIT 预配。要禁用,请设置如下值:
commonEnv:
- name: SELF_HOSTED_JIT_PROVISIONING_ENABLED
value: "false"第 3 步——生成 SCIM Bearer Token
在自托管环境中,下方完整 URL 可能类似 https://langsmith.yourdomain.com/api/v1/platform/orgs/current/scim/tokens(无子域,注意 /api/v1 路径前缀)或 https://langsmith.yourdomain.com/subdomain/api/v1/platform/orgs/current/scim/tokens(有子域)——详见入口文档。
为你的组织生成一个 SCIM Bearer Token。该令牌将由你的 IdP 用于验证 SCIM API 请求。确保环境变量设置正确,例如:
curl -X POST $LANGCHAIN_ENDPOINT/v1/platform/orgs/current/scim/tokens \
-H "X-Api-Key: $LANGCHAIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"description": "Your description here"}'注意 SCIM Bearer Token 的值仅在该请求的响应中可见。还存在以下端点:
GET /v1/platform/orgs/current/scim/tokensGET /v1/platform/orgs/current/scim/tokens/{scim_token_id}PATCH /v1/platform/orgs/current/scim/tokens/{scim_token_id}(仅支持description字段)DELETE /v1/platform/orgs/current/scim/tokens/{scim_token_id}
第 4 步——配置你的身份提供商
如果你使用 Azure Entra ID(原 Azure AD)或 Okta,这里有特定的身份提供商设置说明(参见Azure Entra ID、Okta)。上述要求与步骤适用于所有身份提供商。
Azure Entra ID 配置步骤
更多信息,请参阅微软文档。
在自托管安装中,oid JWT 声明被用作 sub。 详见此 Microsoft Learn 链接 以及相关配置说明。
步骤 1:在你的企业应用中配置 SCIM
- 使用特权角色(例如
Global Administrator)登录 Azure 门户。 - 导航到你现有的 LangSmith 企业应用。
- 在左侧导航选择 Manage > Provisioning。
- 点击 Get started。
步骤 2:配置管理员凭据
- 在 Admin Credentials 下:
- Tenant URL:
- US:
https://api.smith.langchain.com/scim/v2 - EU:
https://eu.api.smith.langchain.com/scim/v2 - 自托管:
<langsmith_url>/scim/v2
- US:
- Secret Token:输入在第 3 步生成的 SCIM Bearer Token。
- Tenant URL:
- 点击 Test Connection 验证配置。
- 点击 Save。
步骤 3:配置属性映射
在 Mappings 下配置以下属性映射:
用户属性
将 Target Object Actions 设置为 Create 与 Update(起初为安全起见禁用 Delete):
| LangSmith 应用属性 | Microsoft Entra ID 属性 | 匹配优先级 |
|---|---|---|
userName | userPrincipalName | |
active | Not([IsSoftDeleted]) | |
emails[type eq "work"].value | mail1 | |
name.formatted | displayName 或 Join(" ", [givenName], [surname])2 | |
externalId | objectId3 | 1 |
- 用户邮箱地址必须存在于 Entra ID 中。
- 如果你的
displayName不符合Firstname Lastname的格式,请使用Join表达式。 - 为避免不一致,此值应与 SAML NameID 断言以及
subOAuth2.0 声明匹配。对于云端的 SAML SSO,必需的Unique User Identifier (Name ID)声明应为user.objectID,Name identifier format应为persistent。
群组属性
将 Target Object Actions 设置为仅 Create 与 Update(起初为安全起见禁用 Delete):
| LangSmith 应用属性 | Microsoft Entra ID 属性 | 匹配优先级 |
|---|---|---|
displayName | displayName1 | 1 |
externalId | objectId | |
members | members |
步骤 4:分配用户与群组
- 在 Applications > Applications 下选择你的 LangSmith 企业应用。
- 在 Assignments 标签下点击 Assign,然后选择 Assign to People 或 Assign to Groups。
- 进行所需选择,然后 Assign 并 Done。
步骤 5:启用预配
- 在 Provisioning 下将 Provisioning Status 设置为
On。 - 监控初次同步以确保用户和群组正确预配。
- 验证后为用户和群组映射启用
Delete操作。
有关故障排除,请参阅SAML SSO 常见问题。如果你在设置 SCIM 时遇到问题,请联系 LangChain 支持团队:support@langchain.dev。
Okta 配置步骤
你必须使用 Okta Lifecycle Management 产品。该产品层级是使用 Okta 上的 SCIM 所必需的。
支持的特性
- 创建用户
- 更新用户属性
- 停用用户
- 推送群组(不支持重命名群组)
- 导入用户
- 导入群组
步骤 1:从 Okta 集成网络添加应用
如果你已经通过 SAML(云端)或 OAuth2.0 与 OIDC(自托管)配置了 SSO 登录,请跳过此步骤。
参见云端的 SAML SSO 设置 或自托管的 OAuth2.0 设置。
步骤 2:配置 API 集成
- 在 General 标签中,确保根据步骤 1的说明填写
LangSmithUrl。 - 在 Provisioning 标签选择
Integration。 - 选择
Edit然后Enable API integration。 - 在 API Token 中粘贴你上方生成的 SCIM 令牌。
- 保持
Import Groups选中。 - 为验证配置,选择 Test API Credentials。
- 选择 Save。
- 保存 API 集成详情后,左侧会出现新的设置标签。选择
To App。 - 选择 Edit。
- 勾选 Create Users、Update Users 和 Deactivate Users 的 Enable 复选框。
- 选择 Save。
- 在 Assignments 标签中分配用户和/或群组。被分配的用户会在你的 LangSmith 群组中创建并被管理。
步骤 3:配置用户预配设置
- 配置预配:在
Provisioning > To App > Provisioning to App下点击Edit,然后勾选Create Users、Update User Attributes和Deactivate Users。 - 在
<application_name> Attribute Mappings下按下图设置用户属性映射,并删除其他映射:

步骤 4:推送群组
Okta 不支持除群组名称外的群组属性,因此群组名称必须遵循群组命名约定中的规则。
按照 Okta 的启用群组推送说明按名称或规则配置要推送的群组。
其他身份提供商
其他身份提供商尚未测试,但可能根据其 SCIM 实现正常工作。