
Label Studio Enterprise 2.34.2 版本解读EntraID SCIM 身份供给修复与配置指南【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studioLabel Studio Enterprise 2.34.2 是一个聚焦于Microsoft Entra ID原 Azure ADSCIM 身份供给Provisioning修复的补丁版本发布日期为 2026 年 5 月 14 日对应 Helm Chart 版本 2.0.5。本文以该版本发布说明为核心梳理 2.34.x 系列中 SCIM/EntraID 相关问题的修复脉络并结合仓库中的 SCIM 配置文档、SCIM 工作流文档与核心源码给出可落地的 EntraID SCIM 配置、属性映射与验证方案帮助管理员准确理解该补丁修复了什么、以及如何正确完成 SCIM 集成。版本概览项目内容版本号Label Studio Enterprise 2.34.2发布类型补丁版本Bug fixes发布日期2026 年 5 月 14 日版本主题EntraID SCIM provisioning 多项问题修复对应 Helm Chart2.0.5该版本完整发布说明位于 docs/source/guide/release_notes/onprem/2.34.2.md其核心内容只有一条Bug fixesFixed multiple issues related to EntraID SCIM provisioning.修复了与 EntraID SCIM 身份供给相关的多项问题虽然单条说明看似简短但结合相邻版本2.34.0、2.34.1的发布说明以及仓库内的 SCIM 文档与源码可以还原出这次修复的完整上下文EntraID 的 SCIM 属性映射与组供给group provisioning链路在 2.34 系列中经历了多次针对性修复。2.34.x 系列中 SCIM/EntraID 修复脉络要理解 2.34.2 修复的内容需要先看它在 2.34 系列中的位置2.34.02026-04-30对 SSO/SCIM 设置进行了整体增强。SCIM 设置入口迁移至Organization Settings SSO SCIM并采用更引导式的设置流程支持自动 XML/URL 元数据字段映射。同时修复了邮箱地址大小写不同导致 SSO/SCIM 重复创建账号的问题。2.34.12026-05-11修复了EntraID SCIM 供给中属性映射与组供给group provisioning相关的问题。2.34.22026-05-14进一步修复EntraID SCIM provisioning 的多项问题即本文主题。从时间线可以推断2.34.2 是 2.34.1 之后针对 EntraID SCIM 供给链路的收尾性修复。相关发布说明可分别参见 2.34.1 与 2.34.0。EntraID SCIM 供给的背景与协议前提SCIMSystem for Cross-domain Identity Management是跨身份域自动化交换用户身份信息的开放标准。在 Label Studio Enterprise 中SCIM 用于自动化用户的供给provisioning与撤销供给deprovisioning添加用户、移除用户将其角色置为 Deactivated、把用户分配到组、从组中取消分配、以及将组映射到用户角色。注意组定义在 IdP 侧而非 Label Studio 侧组到角色的映射则在 Label Studio 中配置。协议层面Label Studio Enterprise 采用SCIM Version 2.0 标准遵循 RFC 76443.2 节可与任何支持该标准的访问管理服务集成。详细工作流说明见 scim_workflow.md集成配置见 scim_setup.md。前置条件SSO 已配置SCIM 与 SSO 集成交互需先完成 SSO 配置参见 auth_setup.md。Legacy TokenSCIM 供给需要提供与组织Owner 角色关联的 Legacy token。它必须是 Legacy Token 而非 Personal Access Token并且必须关联 Owner 角色的用户。在 HTTP 请求头中统一使用Authorization: Bearer tokenLabel Studio 中Token与Bearer本质是同一类令牌但 SCIM 场景必须使用Bearer前缀。关于 Legacy Token 的调用方式access_tokens.md 中指出HTTP API 常规场景使用Authorization: Token头与 Personal Access Token 的Bearer头不同而 SCIM 供给场景恰好相反必须使用Bearer。EntraID SCIM 配置要点2.34.2 修复涉及的配置面EntraID原 Azure AD的 SCIM 配置与 Okta 类似但对属性映射有严格要求这正是 2.34.1/2.34.2 连续修复的核心区域。支持的 SCIM 用户属性白名单Label Studio Enterprise 仅支持以下有限的 SCIM 用户属性集配置 EntraID 属性映射时只能保留下表列出的属性SCIM 属性描述是否必填emails[type eq work].value用户邮箱地址主要标识符是userName用户名在 Label Studio 中映射为邮箱是active用户是否激活是name.givenName用户名字否name.familyName用户姓氏否不支持的属性会触发 HTTP 501官方文档明确警告映射 Label Studio 不支持的属性将导致 SCIM 供给过程返回 HTTP 501Not Implemented错误。因此必须删除 EntraID 默认映射中的多余属性典型包括displayNamepreferredLanguagename.formattedexternalIdEntraID 侧推荐保留的映射目标 SCIM 属性来源EntraID 表达式emails[type eq work].valueuserPrincipalNameuserNameuserPrincipalNameactiveSwitch([IsSoftDeleted], , False, True, True, False)name.givenNamegivenNamename.familyNamesurname连接配置在 Microsoft Entra 管理中心的Enterprise apps中完成以下设置打开企业应用 →Provisioning供给。Tenant URL设置为https://LABEL_STUDIO_BASE_URL/scim/v2/其中LABEL_STUDIO_BASE_URL为 Label Studio Enterprise 实例的基础 URL。Secret Token设置为与 Owner 账号关联的 Legacy token注意不是 Personal Access Token。在Mappings下打开Provision Microsoft Entra ID Users删除除上述白名单外的所有属性映射。如需基于组的角色分配确保Provision Microsoft Entra ID Groups映射已启用。组供给的 SCIM 组设置组到角色/工作区/项目的映射在 Label Studio 的Organization SCIM页面配置。组到角色的映射Label Studio 侧在 Label Studio 中通过Organization SCIM完成三类映射Organization Roles to Groups Mapping组织角色映射组织级角色可为 Annotator、Reviewer、Manager、Administrator 或Deactivated撤销访问权限。组织级角色是用户的默认角色会自动分配到工作区与项目。可将多个组映射到同一角色。注意Not Activated未激活或 Deactivated已停用的用户不计入账号的席位seat限制。Workspaces to Groups Mapping工作区映射将组添加为工作区成员。Manager、Reviewer、Annotator 角色的用户只有在被添加为工作区成员后才能看到该工作区可将多个组映射到同一工作区。Projects to Groups Mapping项目映射项目级角色可为 Annotator、Reviewer 或Inherit继承组织级角色。一个组可在不同项目映射不同角色若选择 Inherit 且继承的是 Not Activated 角色用户会被映射到项目但只有在该组完成同步用户首次认证后才真正分配到项目。SCIM 工作流与 API 端点仓库中的 scim_workflow.md 记录了 SCIM 交互的核心 REST 端点可用于在升级后验证供给行为是否符合预期Users 端点搜索用户GET /scim/v2/Users?filteruserName useremail.comstartIndex1count100存在返回200不存在返回404获取用户GET /scim/v2/Users/useremail.com创建用户POST /scim/v2/Users/请求体需包含邮箱、密码等用户信息Groups 端点修改组成员PUT /scim/v2/Groups/group-name请求体示例{ schemas: [urn:ietf:params:scim:schemas:core:2.0:Group], id: group-name, displayName: group-name, members: [ { value: useremail.com, display: useremail.com } ] }创建组POST /scim/v2/Groups/group-name获取组GET /scim/v2/Groups/group-nameSCIM 设置 API获取 SCIM 设置GET /api/scim/settings更新 SCIM 设置POST /api/scim/settings这些设置同样可在 Label Studio 的Organization SCIM页面完成。文档同时注明 SCIM API 基于 django-scim2 库 实现。源码侧实现佐证仓库中的核心源码可以印证 SCIM 请求在服务端的处理路径中间件对 SCIM 请求的特殊处理label_studio/core/middleware.py 中存在hasattr(request, is_scim) and request.is_scim判断注释说明scim assign request.user implicitly, check CustomSCIMAuthCheckMiddleware——即 SCIM 请求会隐式指定请求用户并由自定义 SCIM 认证检查中间件把关。这解释了为什么 SCIM 供给请求使用 Bearer Legacy Token 即可完成用户/组的增删改操作。中间件注册label_studio/core/settings/base.py 的中间件列表中注册了(scim, SCIM)表明 SCIM 认证检查作为独立中间件纳入 Django 请求处理链。SCIM 相关功能开关label_studio/feature_flags.json 中可检索到多个 SCIM 相关的特性开关如fflag_feat_bros_836_improving_sso_saml_scimSSO/SAML/SCIM 改进、fflag_fix_bros_1496_scim_stale_seatsSCIM 席位残留修复、fflag_scim_skip_failed_members跳过失败成员的 SCIM 供给等。其中SCIM 席位残留与跳过失败成员这两个开关从命名上可以推断与 2.34.x 期间 EntraID SCIM 供给的成员同步与席位计数问题直接相关与 2.34.1/2.34.2 的修复主题一致。升级与验证建议结合 2.34.0 的发布说明升级到 2.34.2 时建议注意以下几点属性映射白名单核对升级后务必检查 EntraID 中Provision Microsoft Entra ID Users的映射列表仅保留前文 5 个受支持属性若出现HTTP 501供给错误首先排查是否存在多余映射。Bearer 头与 Legacy Token确认 Tenant URL 指向/scim/v2/Secret Token 为 Owner 角色的 Legacy Token请求头前缀为Bearer。组供给验证通过GET /scim/v2/Groups/group-name与GET /scim/v2/Users/email验证组与用户是否在服务端正确创建/同步这也是验证 2.34.2 组供给修复是否生效的最直接手段。历史数据回填提示2.34.0 引入的共识算法Consensus与项目/任务状态Project and task states等新特性需要运行回填脚本才能作用于既有数据且 2.34.0 起Agreement (Selected)列的相关变更会影响既有 Data Manager 过滤器。若从更早版本升级需按官方说明执行回填迁移。SCIM 设置入口变化2.34.0 起 SCIM 设置位于Organization Settings SSO SCIM并在该页面完成引导式配置。综上Label Studio Enterprise 2.34.2 是一个聚焦于 EntraID SCIM 供给稳定性的补丁版本。对使用 EntraID 作为身份提供方、依赖 SCIM 自动同步用户与组的企业而言本次修复的意义在于消除属性映射与组供给链路中的已知缺陷配合本文梳理的白名单属性、映射表达式与验证端点管理员即可完成一次正确且可验证的 EntraID SCIM 集成。【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考