← Назад до блогу

Змінні середовища та облікові дані n8n: чекліст для спільного інстансу

Чекліст перенесення робочого процесу на спільний інстанс n8n: ключ шифрування, облікові дані, спільний доступ, проєкти та змінні середовища.

Ключ передається від ноутбука до спільної серверної шафи — ключ шифрування n8n переходить на спільний інстанс

Перевірено за документацією n8n .

Перед початком: що переноситься, а що ні

Імовірно, ви зібрали навчальний робочий процес на своєму ноутбуці, а тепер команда хоче мати його на спільному або self-hosted інстансі n8n. Цей чекліст охоплює найважливіші перевірки для такого перенесення: ключ шифрування, облікові дані n8n, спільний доступ і переміщення між проєктами, а також змінні середовища n8n, що керують доступом. Він написаний для технічних лідів і команд, які використовують n8n у компанії.

Обсяг обмежений. Чекліст не охоплює функцію Variables у n8n, зовнішні сховища секретів чи експорт та імпорт між інстансами. Він стосується конфігурації інстансу та переміщень між проєктами в межах одного інстансу. Сторінки n8n Docs, на які він спирається, не мають номерів версій, тож звіряйте значення за замовчуванням і доступність у планах із релізом, який ви використовуєте.

Редакційна порада: перш ніж щось переносити, складіть перелік усіх облікових даних, які використовує робочий процес.

Більшість пунктів нижче — редакційні поради. Документація формулює як вимоги лише два з них, і розділи про ключ шифрування та облікові дані позначають кожну з них там, де вона застосовується.

Sources: Set a custom encryption key | Deploy | n8n Docs, Credentials | Deploy | n8n Docs

Перевірки ключа шифрування

Згідно з n8n Docs, n8n створює випадковий ключ шифрування під час першого запуску. Він зберігає ключ у теці ~/.n8n і використовує його, щоб шифрувати облікові дані перед збереженням. Ви можете задати власний ключ через змінну середовища N8N_ENCRYPTION_KEY, але лише якщо у файлі налаштувань ще немає ключа. У режимі черги (queue mode) цю змінну має бути задано на кожному воркері.

Документація не описує ротацію ключа, відновлення після його втрати чи перехід на новий ключ. Тому корисно визначитися з ключем до першого запуску.

Серед налаштувань безпеки є N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS, що за замовчуванням має значення false. Якщо встановити true, n8n намагається задати права 0600 для файлу налаштувань, де зберігається ключ. У документації сказано, що n8n саме намагається, тож результат не гарантований. Це налаштування стосується лише self-hosted інстансів.

Чутливі змінні можуть мати суфікс _FILE — тоді n8n читає значення з окремого файлу. Документація не перелічує всі змінні, що підтримують цей суфікс, тому перевірте таблицю в документації для змінної ключа, перш ніж на це покладатися.

Sources: Set a custom encryption key | Deploy | n8n Docs, Credentials | Deploy | n8n Docs, Security | Deploy | n8n Docs

Перевірки облікових даних n8n

Якщо ви використовуєте перевизначення облікових даних (credential overwrites), перевірте CREDENTIALS_OVERWRITE_PERSISTENCE. За замовчуванням воно має значення false. Згідно з n8n Docs, воно потрібне в багатоінстансному режимі або режимі черги, щоб перевизначення доходили до воркерів. Якщо перевизначення не використовуєте, цей пункт можна пропустити.

Коли робочий процес уже на спільному інстансі, радимо створити там кожен обліковий запис заново. Дайте кожному зрозумілу назву, щоб колеги бачили, до якого сервісу й якого акаунта він підключається. Правило іменування — редакційна порада, а не вимога документації.

Sources: Credentials | Deploy | n8n Docs

Перевірки спільного доступу та проєктів

Картки облікових даних переміщуються між теками проєктів із перерізаними нитками спільного доступу — переміщення між проєктами в n8n
Концептуальна діаграма: облікові дані переміщуються між теками проєктів.

Перш ніж покладатися на спільний доступ, переконайтеся, що ваш план його підтримує. Доступність у планах може змінюватися, тому перевірте її для своєї редакції.

Доступність функцій за редакціями згідно з n8n Docs
Функціяn8n CloudSelf-hosted
Спільний доступ до облікових данихУсі планиBusiness, Enterprise
Проєкти та RBACУсі планиRegistered Community, Business, Enterprise
Ліміти проєктів і ролейЗалежать від плану; числа не задокументованіЗалежать від плану; числа не задокументовані

Тут важливі кілька правил з n8n Docs. Користувачі можуть ділитися обліковими даними, якими володіють. Обліковими даними, що належать проєкту, можуть ділитися лише адміністратори проєкту. Власники та адміністратори інстансу можуть переглядати всі облікові дані й ділитися ними. Користувач, який отримав спільні облікові дані, не може переглядати чи редагувати їхні деталі. Редакційна порада: нехай облікові дані належать проєкту, а не одній людині.

Переміщення робочого процесу чи облікових даних скасовує весь наявний спільний доступ до них. Робочий процес також може перестати працювати, якщо потрібні йому облікові дані недоступні в цільовому проєкті.

Рекомендований порядок переміщення між проєктами

  1. Перевірте план: Переконайтеся, що ваша редакція підтримує проєкти та спільний доступ.
  2. Розмістіть облікові дані: Переконайтеся, що цільовий проєкт може використовувати потрібні робочому процесу облікові дані.
  3. Перемістіть: Перемістіть робочий процес у цільовий проєкт.
  4. Поділіться знову: Знову надайте спільний доступ до робочого процесу та облікових даних.
  5. Запустіть знову: Запустіть робочий процес один раз, щоб переконатися, що він працює.

Sources: Share credentials securely | Administer | n8n Docs, Organize work in projects | Administer | n8n Docs

Захист доступу до змінних середовища та файлів

Планшет із чеклістом поруч із замкненою шафою — захист доступу до змінних середовища n8n
Концептуальна ілюстрація перевірок захисту.

У чинній документації n8n Docs N8N_BLOCK_ENV_ACCESS_IN_NODE за замовчуванням має значення false. За такого значення користувачі можуть читати змінні середовища n8n у виразах і у вузлі Code. На спільному інстансі можна встановити true, щоб користувачі не могли їх читати. Чи блокувати цей доступ — редакційний вибір.

Якщо блокуєте доступ, протестуйте кожен робочий процес, що використовує $env, перш ніж оголошувати запуск. Будь-який робочий процес, що читає змінні середовища n8n через $env, перестає отримувати ці значення після блокування.

Sources: Security | Deploy | n8n Docs

Як виглядає завершення та усунення проблем

Розділ завершено, коли ви позначили всі пункти його чекліста, а робочий процес працює на спільному інстансі в запланованому проєкті. Якщо після переміщення робочий процес перестав працювати, пройдіться по причинах у цій таблиці. Це підказки, куди подивитися спершу, а не повна діагностика.

Куди дивитися спершу, якщо робочий процес збоїть після переміщення
СимптомЧекліст, до якого варто повернутися
Робочий процес перестав працювати після переміщення між проєктамиПеревірки спільного доступу та проєктів: розміщення облікових даних
Колеги втратили доступПеревірки спільного доступу та проєктів: крок повторного надання доступу
Воркери не можуть використати облікові дані в режимі чергиПеревірки ключа шифрування: ключ на кожному воркері
Воркери ігнорують перевизначенняПеревірки облікових даних n8n: збереження перевизначень
Вирази чи вузли Code не можуть прочитати значення envЗахист доступу до змінних середовища та файлів

Sources: Set a custom encryption key | Deploy | n8n Docs, Credentials | Deploy | n8n Docs, Security | Deploy | n8n Docs, Organize work in projects | Administer | n8n Docs

Спробуйте на практиці

Практичні завдання з n8n

Оберіть завдання й створіть робочий воркфлоу у власному середовищі n8n – до кожного завдання є п’ять поступових підказок.

Спробувати практичне завдання

Для вашої команди

Програми навчання n8n для однієї команди чи відділу – на вашому власному екземплярі n8n, з вашими інструментами й даними.

Навчання для вашої команди