ARTICLE DETAIL

资讯详情

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

NocoBase 如何用变量和密钥集中管理环境变量与敏感信息

NocoBase 如何用变量和密钥集中管理环境变量与敏感信息 NocoBase 如何用变量和密钥集中管理环境变量与敏感信息【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobaseNocoBase 提供「变量和密钥」功能用于集中配置和管理环境变量与密钥。当你的工作流多处需要同一套 SMTP 邮件配置、外部数据源要填数据库账号密码、或者开发/生产环境各有一份不同的文件存储配置时把这些信息以环境变量的形式存放在「变量和密钥」里就能在各插件配置中重复引用而不是到处明文粘贴。该功能是内置插件包名nocobase/plugin-environment-variables无需单独安装。前提是 NocoBase 已安装并可正常访问管理界面。先分清动态环境变量和.env文件是两套机制NocoBase 中「环境变量」有两个来源文档对它们的区别有明确说明特性.env文件动态配置的环境变量和密钥存储位置项目根目录的.env文件数据库environmentVariables表加载方式通过dotenv等工具在应用启动时加载到process.env动态读取在应用启动时加载到app.environment修改方式直接编辑文件修改后需重启应用才生效支持运行时修改修改后重载应用配置即可环境隔离每个环境单独维护.env文件每个环境单独维护environmentVariables表的数据适用场景固定的静态配置如应用主数据库信息需要频繁调整或与业务逻辑绑定的动态配置如外部数据库、文件存储等信息也就是说应用主数据库连接DB_HOST、DB_PASSWORD等这类启动期固定的配置走 .env 环境变量文档而外部数据源凭证、云存储密钥、SMTP 参数这类会随业务和环境变动的配置走本文的「变量和密钥」。添加环境变量单个、批量、明文或加密进入「变量和密钥」的环境变量管理界面后支持两种添加方式和两种存储形式单个添加逐条填写变量名和值批量添加一次录入多条支持明文和加密敏感值密码、密钥类选择加密存储。文档中给出的典型用途示例是工作流多个地方需要邮件节点、都需要配置 SMTP 时把通用 SMTP 配置存到环境变量里各处直接引用外部数据库连接信息、云文件存储密钥等也属于「敏感数据存储」的适用场景。在插件配置中引用这些变量「变量和密钥」配置好后支持该功能的插件配置项可以引用环境变量而不是手动填明文。以邮件场景为例工作流的「邮件发送」节点中各选项均可使用流程上下文中的变量敏感信息也可以使用全局变量与密钥参见 工作流节点 - 邮件发送。文档列出的目前支持环境变量的插件包括操作类Action: Custom request认证类Auth: CAS、DingTalk、LDAP、OIDC、SAML、WeCom数据源类External MariaDB、External MySQL、External Oracle、External PostgreSQL、External SQL Server、KingbaseES、REST API文件存储类Local、Aliyun OSS、Amazon S3、Tencent COS地图AMap、Google其他Notification: Email、Public forms、System settings、Verification: Aliyun SMS / Tencent SMS、Workflow其中File storage: S3 Pro和Email settings两项文档标注为「未适配」这两处暂不能引用环境变量需按原有方式填写。「环境配置隔离」的用法是不同环境各自维护一份数据。文档示例中文件存储服务的开发环境与生产环境分别配置# 开发环境 FILE_STORAGE_OSS_BASE_URLdev-storage.nocobase.com FILE_STORAGE_OSS_BUCKETdev-storage # 生产环境 FILE_STORAGE_OSS_BASE_URLprod-storage.nocobase.com FILE_STORAGE_OSS_BUCKETprod-storage修改后如何生效重启应用修改或删除环境变量之后界面顶部会出现重启应用的提示重启之后变更的环境变量才会生效。这是本文操作链路上的必经步骤添加/修改变量 → 等待并确认顶部重启提示 → 重启应用 → 再验证依赖该变量的插件如工作流邮件节点行为是否符合预期。与.env方式的生效方式可对照Git 源码或create-nocobase-app安装方式下修改.env后需要 kill 应用进程并重新启动Docker 方式下修改docker-compose.yml的environment参数或env_file后需要重建容器docker compose up -d app加密密钥文件的保管备份与迁移的关键约束选择加密存储的环境变量其数据使用 AES 对称加密加解密用的 PRIVATE KEY 存放在 storage 目录./storage/environment-variables/app-name/aes_key.dat其中app-name为实际应用名对应实际部署中的 storage 目录。文档对此的警示是该密钥文件丢失或重写加密的数据将无法解密。因此在做数据备份或迁移时environmentVariables表数据和这个aes_key.dat密钥文件必须一并保存并恢复到同一部署中缺少任何一个加密环境变量都取不回明文。边界与限制.env里配置的应用级静态变量如APP_KEY、主库DB_*不通过「变量和密钥」界面管理两套机制不要混用。变量变更需要重启应用生效不是保存即生效。File storage: S3 Pro 与 Email settings 尚未适配环境变量。加密值的安全性依赖aes_key.dat密钥文件的安全等级至少应与数据库备份一致。完整功能说明见 变量和密钥插件元信息见 plugin-environment-variables。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表