为ComfyUI项目开启多租模式

更新时间:
复制为 MD 格式

概述

ComfyUI 多租户隔离是指在 FunArt 平台上,通过集成的认证鉴权与资源管控机制,为每位用户构建独立、安全的 ComfyUI 操作环境。 开启该功能后,系统将从工作流(Workflows)、输入上传文件(Input)及输出生成结果(Output)三个维度实现严格的逻辑隔离。不同用户之间数据互不可见、操作互不干扰,有效解决了原生 ComfyUI 仅支持单用户的局限性,确保了业务数据的隐私与安全。 本文档旨在指导您如何通过 FunArt 为 ComfyUI 线上服务配置并开启这一多租户能力。

使用流程概览:

  1. 准备:创建 ComfyUI 项目并绑定自定义域名

  2. 配置:选择并配置适合的认证方式(BasicAuth 或 JWT)

  3. 验证:使用不同用户账号验证资源隔离

  4. 使用:用户通过认证后访问各自独立环境

核心原理

多租户模式通过 HTTP 请求头中的用户标识区分不同用户。网关层识别身份后,会将请求路由至对应的隔离空间。

认证方式

隔离标识来源

机制说明

BasicAuth

用户名(Username)

直接使用 BasicAuth 的用户名作为资源隔离标识。

JWT

指定Claim字段

解析 JWT Token 中的特定字段(如 sub),经网关转换为 X-FunArt-Comfy-UserId 请求头。

前提条件

说明

注意:多租户依赖定制化插件。存量项目如需多租支持,请联系 FunArt 团队安装插件。

步骤一:选择认证方式

线上服务 > 配置管理 > 访问地址中,根据安全需求选择一种认证方式并开启多租户模式。

方案 A:BasicAuth(基础认证)

适用场景:内部测试或对安全性要求相对简单的场景,通过用户名和密码控制访问。

  1. 在认证方式中选择 BASIC 认证

  2. 打开多租户模式开关。

  3. USER 列表中添加用户名和密码。

  4. 隔离机制:客户端在请求头中发送 Base64 编码的用户名:密码。系统将提取BasicAuth用户名作为该用户的资源隔离唯一标识。

image

方案 B:JWT(JSON Web Token 认证)

适用场景:生产环境,支持无状态令牌认证,安全性更高。

1. 工作原理

在选择 JWT 认证前,可以参考下图了解从身份准入到业务调用的全流程。

image

2. 配置步骤

  • 在认证方式中选择JWT 认证

  • 打开多租户模式开关。

  • 配置 JWKS:填入用于验证 Token 的公钥信息。

  • 配置 JWT Claim 转换(关键):

    • 映射参数位置:选择 HEADER

    • 映射参数名称:填写 X-FunArt-Comfy-UserId

    • Claim 名称:填写 JWT 中代表用户唯一 ID 的字段(例如 sub 或 user_id)。

  • 隔离机制:网关解析 Token 后,将指定的 Claim 转换为内部识别码,实现资源隔离。

image

步骤二:保存并部署

  1. 完成上述任一认证方式配置后,点击保存并部署

  2. 等待部署生效。

验证结果

通过自定义域名访问 ComfyUI WebUI,使用不同用户身份(BasicAuth 不同用户名,或 JWT 中不同用户标识)分别编辑、执行工作流,确认:

  • 各用户的工作流与输入输出文件互不可见

  • 同一用户多次访问看到的是自己的数据

即表示多租户隔离已生效。

后续步骤

  • 需要更细粒度权限时,可结合业务在应用层再做权限控制。

  • 生产环境建议使用 JWT 认证,并定期轮换密钥。