本文主要介绍了如何在Dify中增加工作空间(租户),大概思路是在tenants
、tenant_account_joins
和accounts
数据表中新增相应记录,然后生成生成私钥和公钥,更新租户数据表中的公钥,最后把私钥放入指定位置。
一.新增tenants和tenant_account_joins记录
insert into tenants(name, plan, status, created_at, updated_at) values();
insert into tenant_account_joins(tenant_id, account_id, role, created_at, updated_at) values()
1.tenants数据表结构

2.tenant_account_joins数据表结构

3.account_id获取
account_id
是uuid_generate_v4()
函数生成 UUID
,长度为128位(二进制),对应36个字符(字符串表示),格式为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
。

4.租户账号角色
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
5.账号状态
这些状态用于跟踪系统中用户账号的生命周期和当前可用性。
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
二.生成私钥和公钥
1.生成私钥
sudo openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048Copy
该命令的作用是以 RSA 算法生成一把 2048 位私钥,并保存为 private.pem:
命令 | 作用 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
2.生成公钥
sudo openssl rsa -pubout -in private.pem -out public.pem
该命令的作用是根据现有 RSA私钥private.pem
导出对应的公钥,并保存为public.pem
:
|
|
---|---|
sudo |
|
openssl |
|
rsa |
genpkey 的”生成”功能相对)。 |
-pubout |
|
-in private.pem |
private.pem ,里面应是PEM编码的RSA私钥;若私钥加密,执行时会提示输入口令。 |
-out public.pem |
public.pem (PEM 格式,文件头为 -----BEGIN PUBLIC KEY----- )。 |
三.更新租户数据表中的公钥
更新租户数据表中的公钥,如下所示:
update tenants set encrypt_public_key='' where id='';
四.私钥放入指定位置
私钥放入dify/api/privkeys/{tenant_id}
,文件名为private.pem
。
参考文献
[0] 在Dify中增加工作空间(租户):https://z0yrmerhgi8.feishu.cn/wiki/Kk5ywxSpqiXJN8knOK9c2Zl5ned
[1] 本地部署相关问题:https://docs.dify.ai/zh-hans/learn-more/faq/install-faq
知识星球:Dify源码剖析及答疑,Dify扩展系统源码,AI书籍课程|AI报告论文,公众号付费资料。加微信buxingtianxia21
进NLP工程化资料群,以及Dify交流群。
(文:NLP工程化)