You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EKS部署的Node-RED多用户项目隔离配置方案问询

Node-RED多用户工作区隔离与Git同步方案

一、实现用户会话隔离的配置步骤

1. 配置基于用户的独立工作目录

Node-RED默认使用全局共享工作目录,要实现隔离,需为每个用户分配专属目录。修改settings.js,通过动态逻辑指定用户专属的工作目录和项目根路径:

module.exports = {
  // 动态映射用户专属工作目录,关联EFS上的独立子目录
  userDir: function(user) {
    if (user) {
      return `/data/node-red/users/${user.username}`;
    }
    return '/data/node-red/default';
  },
  projects: {
    enabled: true,
    workflow: {
      mode: "manual"
    },
    // 关闭全局项目展示,仅显示当前用户的私有项目
    globalProjects: false,
    // 指定每个用户的项目存储根路径
    userProjectsRoot: function(user) {
      return `/data/node-red/users/${user.username}/projects`;
    }
  },
  adminAuth: {
    type: "credentials",
    users: [{
      username: "admin",
      password: "$2b$08$hashedPassword1",
      permissions: "*"
    },
    {
      username: "test",
      password: "$2b$08$hashedPassword2",
      permissions: "*"
    }]
  },
  functionGlobalContext: {
    fs: require('fs'),
    path: require('path')
  }
}

2. 配置EFS目录权限

在EFS挂载的根目录下,提前创建用户专属目录并设置Node-RED进程可读写的权限(Node-RED默认以uid 1000运行):

# 登录Node-RED Pod或EFS挂载节点执行
mkdir -p /data/node-red/users/admin /data/node-red/users/test
chown -R 1000:1000 /data/node-red/users

3. 验证隔离效果

重启Node-RED实例后,admin与test用户登录后将仅能查看、操作自己目录下的项目,彼此的流与项目完全独立。

二、团队环境结合Git同步的隔离方案

方案1:独立Git仓库隔离(完全隔离)

  • 为每个用户在Bitbucket创建独立仓库,用户创建Node-RED项目时,关联自己的Bitbucket仓库地址。
  • 依托Bitbucket的仓库权限体系,控制不同用户的仓库访问权限,比如admin的仓库仅对admin开放,test的仓库仅对test开放。
  • 优势:完全隔离,权限边界清晰,避免误操作他人代码。

方案2:同一仓库分支隔离(半共享场景)

  • 若团队需要共享基础流模板,可使用同一Bitbucket仓库,为每个用户分配专属开发分支。
  • 用户拉取主分支的基础代码后,在自己的分支上开发,提交至专属分支;合并主分支需管理员审批。
  • 配合Bitbucket的分支权限规则,限制用户仅能操作自己的分支,主分支仅允许管理员合并。

方案3:自定义权限过滤(进阶)

  • 若需要更细粒度的项目访问控制,可扩展adminAuth的onAuth回调函数,根据用户名过滤可见项目。示例:
adminAuth: {
  type: "credentials",
  users: [...],
  onAuth: function(user) {
    return {
      permissions: user.permissions,
      projects: {
        filter: function(project) {
          // 仅允许用户访问名称包含自身用户名的项目
          return project.name.includes(user.username);
        }
      }
    };
  }
}
  • 此方案需自定义开发,适合有特定权限需求的场景。

内容的提问来源于stack exchange,提问作者Shuaib Shaikh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:13:12