跳到主要内容

安全环境变量

信息

通过文件配置

可以为单个变量添加 _FILE 后缀,通过单独的文件提供配置。更多信息请参阅将敏感数据保存在单独的文件中。

变量类型默认值说明
N8N_BLOCK_ENV_ACCESS_IN_NODEBooleanfalse是否允许用户在表达式和 Code 节点中访问环境变量,false 表示允许,true 表示不允许。
N8N_BLOCK_FILE_ACCESS_TO_N8N_FILESBooleantrue设为 true,禁止访问 .n8n 目录中的所有文件及用户自定义配置文件。
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONSBooleanfalse设为 true,尝试将设置文件权限设为 0600,仅允许所有者读写。
N8N_RESTRICT_FILE_ACCESS_TOString将文件访问限制在这些目录中。多个文件以分号分隔,即“;”。
N8N_SECURITY_AUDIT_DAYS_ABANDONED_WORKFLOWNumber90工作流未执行多少天后被视为闲置。
N8N_CONTENT_SECURITY_POLICYStringscript-src <nonce> 'strict-dynamic' 'unsafe-eval'; object-src 'none'; base-uri 'none'n8n 在自身页面提供的 Content-Security-Policy。接受策略字符串,例如 frame-ancestors http://localhost:3000,或 helmet.js 指令对象。使用 <nonce> 标记 n8n 插入每请求 nonce 的位置。设为 default 使用 n8n 策略,设为 {} 则不发送该响应头。
N8N_CONTENT_SECURITY_POLICY_REPORT_ONLYStringn8n 通过 Content-Security-Policy-Report-Only 提供的策略,格式与 N8N_CONTENT_SECURITY_POLICY 相同。浏览器会报告违规但不阻止,可先试用策略,再强制实施。
N8N_SECURE_COOKIEBooleantrue确保 Cookie 仅通过 HTTPS 发送,以提高安全性。
N8N_SAMESITE_COOKIE枚举字符串: strict, lax, nonelax控制跨站 Cookie 行为(了解更多):
  • strict:仅对第一方请求发送。
  • lax,默认值:随顶层导航请求发送。
  • none:在所有上下文中发送,需要 HTTPS。
N8N_GIT_NODE_DISABLE_BARE_REPOSBooleanfalse设为 true,禁止 Git 节点操作裸仓库,以提高安全性。
N8N_GIT_NODE_ENABLE_HOOKSBooleanfalse设为 true,允许 Git 节点执行 Git 钩子。
N8N_POSTMESSAGE_ALLOWED_ORIGINSString将编辑器嵌入其他页面时,允许与其交换 postMessage 命令的源。仅在能够嵌入编辑器时适用,例如以 N8N_PREVIEW_MODE=true 运行。多个源以逗号分隔,例如 https://n8n.io,https://app.example.com。默认留空时,编辑器接受任意源的消息。

通过环境变量管理安全策略 ​

将 N8N_SECURITY_POLICY_MANAGED_BY_ENV 设为 true,通过环境变量管理安全策略。启用机制请参阅通过环境变量管理实例设置。

变量类型默认值说明
N8N_SECURITY_POLICY_MANAGED_BY_ENVBooleanfalse设为 true,通过环境变量管理安全策略。当值为 true 时,n8n 会在每次启动时应用安全策略变量,并锁定对应的界面控件。
N8N_MFA_ENFORCED_ENABLEDBooleanfalse是否强制所有用户使用双因素身份验证:true 表示强制,false 表示不强制。
N8N_PERSONAL_SPACE_PUBLISHING_ENABLEDBooleantrue是否允许用户从个人空间发布:true 表示允许,false 表示不允许。
N8N_PERSONAL_SPACE_SHARING_ENABLEDBooleantrue是否允许用户从个人空间共享资源:true 表示允许,false 表示不允许。

相关资源 ​

本文为社区中文翻译。查看对应英文原文