本文为您介绍在一个企业下同时存在多种身份体系的场景下,如何实现多 IDP (飞书、钉钉、Lark等)接入 ArkClaw。
在集团企业、并购整合、跨国多主体等复杂组织中,往往存在多种身份体系并存的情况:国内主体使用飞书、海外主体使用 Lark(国际版飞书)、被并购公司使用钉钉、海外办公室使用 Microsoft Teams / Entra ID、还有部分内部系统挂在本地 Active Directory(微软混合域架构,下文简称 AD) 上。这种情况下,如果为每一套体系单独建一套 ArkClaw 空间,会导致账号分散、权限不一致、运维成本高。
ArkClaw 支持通过多 IDP 组合并存模式接入多个身份源,在一个统一的身份池下汇总所有用户,实现:
- 员工使用各自熟悉的账号登录 ArkClaw(保持原有账号体系)。
- 管理员在统一视图下管理全集团用户,做权限和组织同步。
- 对外服务时,向终端用户呈现统一的登录入口,体验一致。
典型适用组合:飞书 + Lark(国内+海外分支机构)、飞书 + 钉钉(并购企业、多事业部并行)、Teams (Entra) + 本地 AD。
在多 IDP 场景下,有两种典型部署模式,如下表所示:
在无强隔离诉求情况下,优先选择方案 A,可实现以最小的运维成本实现统一身份管理,且后续可平滑扩展更多身份源。下文以方案 A(飞书 + 钉钉 双 IDP 组合)为例,介绍完整配置流程。其他组合(如飞书 + 钉钉、Microsoft Teams + AD)的操作步骤相同,只需在下文步骤 2 中选择对应的外部 IDP 类型即可。
注意
如选择方案 B(多空间隔离),仅需在不同项目下分别开通一个 ArkClaw 空间:
- 每个空间单独配置一种认证协议(如空间1-飞书、空间2-Lark、空间3-Teams),不要在一个空间中混合使用多种单 IDP 登录方式。
- ArkClaw 空间之间相互独立,需要为每个空间单独购买席位、方舟 Plan,添加企业公共知识库、公共 Agent 模板等。
- 为每个空间单独配置安全策略(密码策略、MFA、登录 IP 白名单),保证强隔离场景下的合规要求。
- 推荐使用邮箱作为账号唯一标识:要求所有 IDP 返回的用户必须拥有企业邮箱,Agent Identity (智能体身份和权限) 可基于邮箱自动合并同一个自然人来自不同 IDP 的账号,避免出现重复账号。
- 员工 ID 作为强一致标识:如企业存在正式员工、外包、供应商混用的情况,建议将企业员工 ID(工号)写入各 IDP 的扩展属性,Agent Identity 侧按员工 ID 做账号合并,邮箱仅作为辅助字段。
- 避免用手机号作为唯一标识:跨国员工可能存在多个国家手机号,容易导致账号合并失败。
- Agent Identity 侧完成 IDP 接入后,可开启组织架构自动同步,将飞书/Lark 等部门、岗位信息同步到 Agent Identity,再由 ArkClaw 基于统一组织架构做空间、项目、知识库的授权。
- 多 IDP 场景下,建议在 ArkClaw 中按“主体/区域/部门”划分权限,避免来自不同 IDP 的用户因组织信息结构差异而被错配权限。
- 强制 HTTPS: Agent Identity 的 Discovery URL、回调地址、ArkClaw 访问入口都必须使用 HTTPS,避免 Token 在传输过程中被窃听。
- 定期轮换密钥: 建议每 90 天轮换一次 Identity 客户端密钥及各 IDP 的 App Secret,并同步更新 ArkClaw 配置。
- 多因素认证(MFA): 对管理员账号、高权限角色账号,建议在 Agent Identity 侧统一开启 MFA,不要在 ArkClaw 内再做一套独立 MFA,避免策略分散。
- 登录审计: 开启 Agent Identity 与 ArkClaw 的登录审计日志,定期巡检异常登录(如短时间内跨国登录、失败次数过多等)。
- 离职 / 停用同步: 确保 Agent Identity 与各 IDP 之间配置了账号停用/离职事件联动,员工离职后立刻在 Identity 中禁用账号,阻止其继续登录 ArkClaw。
开始配置前,请确认以下条件均已满足:
- 已开通火山引擎 ArkClaw 企业版,并拥有租户管理员或身份管理权限,当前ArkClaw 企业版服务仅对已通过企业实名认证的用户开放。
- 已开通 Agent Identity 服务,并拥有在 Agent Identity 中创建用户池(User Pool)、创建客户端、配置外部身份提供商的权限,相关操作参考开通智能体身份和权限管理平台并完成授权。
- 已在各外部身份源(如飞书开放平台、Lark 开放平台、钉钉开放平台、Azure Portal 等)配置好自建应用,并获取到应用的 App ID / Client ID 与 App Secret / Client Secret。
- 更多外部身份源的应用的配置及信息获取,请通过快速入门前往对应的认证方式文档,查看详细操作步骤。
- 确认所有用户的邮箱或手机号在各自建应用中已正确维护,用于 Agent Identity 侧账号合并/去重(如需要)。
整体流程分为三个阶段:在 Identity 创建用户池与客户端 → 在用户池下配置多个外部 IDP → 在 ArkClaw 中完成 OIDC 登录配置。
步骤一:在 Agent Identity 创建用户池和客户端
- 在左侧导航栏选择 “用户身份管理”,单击“新建用户池”按钮。
-
- 配置完成后单击“确定”按钮,然后单击右上角图标关闭新建用户池页面。
-
- 在用户池列表中,单击刚创建的用户池名称,在左侧导航栏选择“客户端”,然后单击“创建客户端”按钮。
-
- 配置完成后单击“确定”按钮,在客户端列表中,单击刚创建的客户端名称,在详情页中获取客户端 ID 和客户端密钥,后续需要在 ArkClaw 企业版平台配置这两个参数作为客户端的身份标识和密钥。
-
步骤二:在用户池下配置外部身份提供商(飞书、钉钉)
- 在左侧导航栏用户池my-app-docs下选择“外部身份提供商”,单击“新建提供商”按钮。
-
- 参考下表,添加第一个外部身份提供商(飞书),未提及参数保持默认。
说明
本示例仅介绍飞书、钉钉两种身份提供商的配置操作,如需添加其他类型的外部身份提供商,详见添加外部身份提供商。 - 重复上述两步,添加第二个外部身份提供商(钉钉),配置完成后单击“确定”按钮。
说明
如还需接入Microsoft Entra ID(Teams)、本地 AD(通过 SAML/OIDC 代理),继续按照同样方式依次添加即可;所有外部身份提供商会在 Agent Identity 的统一登录页呈现为多个登录按钮。
步骤三:在 ArkClaw 配置 OIDC 登录协议
说明
如果使用已开通的 ArkClaw 空间请跳过此步骤。
-
-
- 新创建的空间,单击“立即配置”按钮。已有用户数据的空间,在“登录配置”页签单击“编辑”按钮。
步骤四:配置 Agent Identity 客户端回调信息
- 在用户管理页面“登录配置”页签下,复制“标准协议 OIDC 免登授权码跳转地址”信息。
-
- 在左侧导航树选择用户池my-app-docs下的“客户端”,然后在上文步骤一创建的客户端my-company-portal中单击“操作”列的“编辑”按钮。
-
- 将复制的 ArkClaw 免登授权码跳转地址粘贴至“允许回调 URIs”,单击“确定”按钮。
-
- 在用户池信息页面,复制“OAuth 注册回调地址”。
说明
因为飞书应用/钉钉应用是 OAuth 类型所以复制 OAuth 注册回调地址,如果配置的外部应用是其他类型(OIDC/SMAL),请复制对应类型的注册回调地址。
-
- 前往飞书开发者平台,单击在 Agent Identity 的外部身份提供商中配置的飞书应用名称。
- 在“安全配置”页面,把复制的 OAuth 注册回调地址粘贴至重定向 URL(Redirect URL)中,单击“添加”按钮,添加后立即生效。
-
- 前往钉钉开发者平台,单击在 Agent Identity 的外部身份提供商中配置的钉钉应用名称。
-
- 在左侧导航树,选择“应用发布 > 版本管理与发布”,然后单击“创建新版本”按钮。
-
- 设置版本号、版本描述,应用可用范围沿用上次发布时配置的范围,无需再次配置。至此已完成全部配置。
-
-
- 在浏览器中打开链接,进入登录界面,使用飞书或者钉钉登录,可以正常跳转到对应平台完成授权,首次登录时会自动在 ArkClaw 中创建账号,可在用户管理 > 用户列表中看到新用户。
-
-
-