ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Label Studio Enterprise 2.2.0 版本解析:SCIM 2.0 身份供给、旋转标注框与 Data Manager 增强

Label Studio Enterprise 2.2.0 版本解析:SCIM 2.0 身份供给、旋转标注框与 Data Manager 增强 Label Studio Enterprise 2.2.0 版本解析SCIM 2.0 身份供给、旋转标注框与 Data Manager 增强【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio本指南基于 Label Studio Enterprise 2.2.0 的官方版本说明系统梳理该版本引入的五大能力SCIM 2.0 标准身份供给集成、图像标注的旋转矩形框工具、Data Manager 的Last updated by与Lead Time列以及审查流Review Stream中的返回上一任务导航。读者将掌握每个新特性的配置方式、操作流程与底层实现逻辑并能在实际标注与团队管理场景中直接落地使用。版本概览Label Studio Enterprise 2.2.0Label Studio Enterprise 2.2.0 的核心更新可以用一句话概括SCIM 2.0 支持、旋转边界框、Data Manager 中的Last updated by列以及返回上一任务的能力。这是一次面向团队规模化协作与精细化标注体验的版本迭代重点关注身份管理、标注工具表达力和审查效率三个方面SCIM 2.0 标准支持引入跨域身份管理系统System for Cross-domain Identity Management2.0 协议让组织可以借助主流身份提供方统一管理用户对 Label Studio Enterprise 的访问权限。旋转边界框Rotated Bounding Box标注者可以通过两点点击或三点点击方式创建带旋转角度的矩形标注框适配倾斜目标的图像标注场景。Data Manager 数据列增强新增Last updated by列记录任务的最后修改人与Lead Time列任务平均处理时长。审查流返回导航通过图标返回审查流中的上一个任务。下文按功能模块逐一展开。SCIM 2.0 集成跨组织统一管理访问权限SCIM 是什么System for Cross-domain Identity ManagementSCIM是一种广泛使用的身份管理协议用于跨组织管理各类服务与应用的用户访问。借助 SCIM 提供方管理员可以在一个统一入口中管理用户对 Label Studio Enterprise 工作区workspaces的访问并为单个用户和用户组授予角色。SCIM 与 SSO单点登录相辅相成SSO 解决用户是谁的认证问题SCIM 则解决该给谁开通/回收哪个应用的访问权限的供给provisioning问题。Label Studio Enterprise 采用 SCIM 2.0 标准遵循 SCIM RFC 7644见 scim_setup 指南可与任何支持该标准的访问管理服务集成。关于 SCIM 在 Label Studio Enterprise 中的完整工作流程参见 How SCIM works with Label Studio Enterprise。前提条件在开始 SCIM 配置前需要满足两个前置条件SSO 已配置完成SCIM 依赖已有的 SSO 集成。若尚未配置 SSO请先按照 Set up SSO 指南 完成配置。Okta 等 SSO 提供方的 SCIM 集成即建立在 SSO 之上。准备 Legacy Token需要一个与组织Owner 角色绑定的 Legacy Token见 access_tokens 文档。注意这是 Legacy Token 而非 Personal Access Token且必须归属于 Owner 角色的用户。集成端点与鉴权方式SCIM 供给请求由身份提供方发起通过 REST API 端点与 Label Studio Enterprise 交互。Okta 使用 Bearer Token 调用这些端点完成用户与组的创建、更新和去激活deprovision。关键端点信息如下配置项取值SCIM connector base URLhttps://LABEL_STUDIO_BASE_URL/scim/v2/其中LABEL_STUDIO_BASE_URL为 Label Studio Enterprise 实例的基地址请求头Authorization: Bearer token在 Label Studio 中Token与Bearer本质上是同一种令牌但必须使用Bearer作为请求头前缀。从源码实现可以印证这一端点结构在 core/settings/base.py 的应用注册表中SCIM 作为独立 Django 应用被挂载(scim, SCIM)同时 core/middleware.py 在权限校验中间件中对 SCIM 请求做了特殊处理——当请求带有is_scim标记时跳过常规的显式用户赋值逻辑由CustomSCIMAuthCheckMiddleware隐式绑定请求用户。这意味着 SCIM 请求走的是独立的鉴权通道与普通 Web 请求的权限判断路径分离。在 Okta 中启用 SCIM provisioning第一步添加 Label Studio Enterprise 应用若尚未将 Label Studio Enterprise 添加为 Okta 应用在 Okta 中导航至Applications Applications点击Create App Integration。选择SAML 2.0输入应用名称例如Label Studio Enterprise。在Configure SAML中按照 Set up SSO guide 的步骤完成 SAML 集成配置。确认 Label Studio Enterprise 出现在活跃应用列表中。第二步启用 SCIM provisioning导航至Applications Applications选择Label Studio Enterprise。打开General标签页勾选Enable SCIM provisioning。打开Provisioning标签页在左侧菜单选择Integration点击右上角Edit。填写以下字段字段值 / 说明SCIM connector base URLhttps://LABEL_STUDIO_BASE_URL/scim/v2/Unique identifier field for users使用email。Label Studio Enterprise 以 email 作为该字段的用户标识Supported provisioning actions勾选Import New Users and Profile Updates、Push New Users、Push Profile Updates、Push GroupsHTTP Header →Authorization: Bearer token填写与 Label Studio 中 Owner 账户关联的 Legacy Token⚠️重要提示在Unique Identifier Field for Users中必须使用email而非userName否则 SCIM 将无法对 SCIM 集成之前创建的老用户正常工作。第三步配置 SCIM 设置与应用触发动作在应用页面进入Provisioning标签页选择左侧菜单To App点击Edit。启用以下三项Create UsersUpdate User AttributesDeactivate Users第四步为用户分配应用单用户分配在应用页面打开Assignments标签页。点击Assign并选择Assign to People。勾选要加入 Label Studio Enterprise 的用户点击Done。点击Done后Okta 会立即发送创建用户的请求到 Label Studio Enterprise。取消用户分配在应用页面打开Assignments标签页左侧选择People。点击对应用户右侧的删除叉号。确认取消分配。第五步通过组管理访问推荐使用组是管理应用访问最便捷的方式。将 Label Studio 分配给组并在 Okta 中维护组变更会自动传播到应用。组映射配置在 Label Studio 中点击左上角菜单选择Organization再点击右上角SCIM然后更新角色与工作区映射。注意输入的组名必须与 SCIM 提供方发送的组名完全一致。三类映射关系如下Organization Roles to Groups Mapping组织角色映射将组映射到组织级角色。组织级角色是用户的默认角色会自动分配到工作区和项目中。多个组可映射到同一角色。未激活Not Activated或已停用Deactivated的用户不计入账号席位seat上限。Workspaces to Groups Mapping工作区映射将组添加为工作区成员。拥有 Manager、Reviewer、Annotator 角色的用户只有被添加为某工作区成员后才能看到该工作区。可选择已有工作区或新建工作区多个组可映射到同一工作区。Projects to Groups Mapping项目映射将组映射到项目级角色可选Annotator、Reviewer或Inherit。一个组可在多个项目中映射不同角色多个组也可映射到相同项目与角色。选择Inherit时组将继承上文Organization Roles to Groups Mapping中设置的角色若组继承的是 Not Activated 角色用户虽被映射到项目但实际不会被分配进项目直到组完成同步即用户首次完成认证。分配组到应用在 Okta 的应用页面打开Assignments标签页。选择Assign → Assign to Groups并选择目标组。将属性Active设为true。保存组分配后更新会被排队发送到 Label Studio也可以选择立即推送变更。同步组到应用在 Okta 的应用页面打开Push Groups标签页。点击Push Groups选择Find groups by name。找到要同步到 Label Studio 的组。选择Create Group新建或选择Link Group若 Label Studio 的SCIM Settings页面已存在同名工作区则进行关联。取消组分配操作方式与取消用户分配一致——在应用页面Assignments标签页左侧选择Group点击组右侧删除叉号并确认即可。在 Microsoft Entra IDAzure AD中配置 SCIMLabel Studio Enterprise 同样支持与 Microsoft Entra ID原 Azure AD的 SCIM 供给集成。整体流程与 Okta 类似但需要特别注意属性映射配置。支持的 SCIM 用户属性Label Studio Enterprise 只支持有限的 SCIM 用户属性配置属性映射时仅保留下表列出的属性SCIM 属性说明是否必需emails[type eq work].value用户邮箱主标识符是userName用户名在 Label Studio 中映射为 email是active用户是否活跃是name.givenName用户名字否name.familyName用户姓氏否⚠️警告映射 Label Studio 不支持的属性会导致 SCIM 供给过程返回HTTP 501 (Not Implemented)错误。必须移除所有多余的 Microsoft Entra ID 属性映射包括displayName、preferredLanguage、name.formatted、externalId。配置步骤登录 Microsoft Entra admin center在左侧菜单选择Enterprise apps。选择你的企业应用。在左侧菜单选择Provisioning。将Tenant URL设置为https://LABEL_STUDIO_BASE_URL/scim/v2/。将Secret Token设置为与 Label Studio 中 Owner 账户关联的 Legacy Token。同样必须是 Legacy Token 而非 Personal Access Token且归属于 Owner 角色的用户。在Mappings下打开Provision Microsoft Entra ID Users。移除除上表支持属性之外的所有属性映射保留以下映射emails[type eq work].value→userPrincipalNameuserName→userPrincipalNameactive→Switch([IsSoftDeleted], , False, True, True, False)name.givenName→givenNamename.familyName→surname在Mappings下打开Provision Microsoft Entra ID Groups如需使用基于组的角色分配确保其已启用。组供给场景下按上文组映射配置在 Label Studio 中配置 SCIM 组设置。从scim_workflow等相关文档docs/source/guide/scim_workflow.md可以进一步了解供给流程中用户激活、角色分配与去激活的完整生命周期。旋转边界框三点点击与两点点击标注功能定位从 2.2.0 版本开始标注者可以为图像创建带旋转角度的边界框使用三点点击或两点点击两种方式即可完成。这一能力让矩形框不再局限于水平轴对齐可以精确贴合旋转摆放的目标物体如航空影像中的倾斜建筑、流水线上的倾斜工件等。操作方式创建旋转矩形框的两种点击流程两点点击Two point click第一点确定边界框的起始位置第二点确定边界框的旋转角度与宽度。三点点击Three point click第一点点击——确定绘制边界框的起始位置第二点点击——定义边界框的旋转角度与宽度第三点点击——绘制边界框的高度。创建后的调整能力创建完旋转边界框后标注者可以通过将锚点anchors或边edges拖拽到画布上的目标位置来调整框的大小与位置确认边界框的朝向是否正确在创建过程中实时观察边界框的方向据此判断绘制走向。底层实现佐证旋转矩形框并非简单的前端绘制技巧而是深度融入了编辑器editor的几何变换体系。在 web/libs/editor 前端库中可以找到完整的实现链条ImageTransformer/LSTransformer.js 与 ImageTransformer.jsx 负责矩形区域的变换交互与锚点拖动InteractiveOverlays/Geometry.js 提供旋转、缩放等几何运算原语针对旋转矩形框的边界行为RectRegion.test.jsx 等单元测试覆盖了相关交互场景。同时编辑器中的旋转快捷键也可以在热键配置中调整见 keymap.json 与 Hotkeys 文档标注者可以依据个人习惯绑定旋转相关操作。Data Manager 增强Last updated by与Lead Time列Last updated by任务最后修改人追踪2.2.0 在 Data Manager 中新增了Last updated by列展示updated_at与updated_by信息——即在updated_at时间点对该任务中任意标注做了最后修改的标注者/审查者annotator/reviewer。这一列的价值在于责任追溯与协作透明度团队可以快速定位某个任务最近一次被谁修改、在什么时间修改从而在质量审查、多轮标注迭代中追踪改动来源。与之配套Data Manager 的筛选与排序能力让团队可以基于修改时间与修改人组合出谁改得最频繁哪些任务长期无人更新等管理视图。从数据模型角度看updated_at/updated_by这类审计字段贯穿任务与标注对象相关字段定义可在 tasks/models.py 等后端模型中找到而 Data Manager 的列配置与字段映射逻辑位于 data_manager 应用其中 column_names.py 维护了可展示列与数据库字段的对应关系。Lead Time任务平均处理时长从该版本起用户可以在 Data Manager 中创建Lead Time列展示每个任务的平均处理时长averaged lead time per task。该指标聚合了任务从开始到完成所经历的标注时间适合用来评估标注效率、识别耗时异常的任务或在项目复盘阶段量化团队吞吐能力。与任务耗时相关的统计与汇总逻辑可在 tasks/functions.py 与 tasks 相关统计模块 中追溯Data Manager 的列渲染则复用其列注册机制column_names.py因此Lead Time与Last updated by的配置入口一致——在 Data Manager 的列设置中即可开启。审查流返回导航回到上一个任务2.2.0 在审查流Review Stream中引入了返回go-back功能通过图标审查者可以导航回审查流中的上一个任务。在实际审查工作中审查者常常需要在前后任务之间反复对照——例如验证某一类标注错误是否在其他任务中同样存在或回看刚修正过的任务确认修改效果。此前的审查流只支持单向前进本版本补上了回退能力使审查过程可以双向流动减少重复定位任务的成本。该功能属于审查工作流Label Studio Optimized / review stream的一部分相关的任务流转与状态管理逻辑可在 fsm 应用有限状态机与 tasks 应用中进一步探索。版本功能速查表功能类别适用角色关键入口SCIM 2.0 身份供给身份与访问管理组织管理员Organization → SCIMOkta / Entra ID Provisioning旋转边界框两点/三点点击图像标注标注者编辑器矩形工具Last updated by 列数据管理标注者 / 审查者 / 管理员Data Manager 列设置Lead Time 列数据管理标注者 / 审查者 / 管理员Data Manager 列设置审查流返回导航审查工作流审查者Review Stream延伸阅读SCIM 配置完整指南Okta 与 Microsoft Entra ID 的逐步配置文档SCIM 工作流说明SCIM 在 Label Studio Enterprise 中的供给生命周期SSO 配置指南SCIM 集成的前置条件访问令牌文档Legacy Token 的获取方式Data Manager 使用指南 与 manage_data.md数据列、筛选与排序能力Label Studio Enterprise 版本说明索引查看其他版本的更新记录【免费下载链接】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),仅供参考
返回列表