Credentials и API keys в n8n: OAuth, токены, права доступа и безопасное хранение ¶
Обновлено: 2026-05-29
Credentials в n8n — это сохранённые доступы к сервисам: API keys, OAuth-токены, логины/пароли, bearer tokens, service accounts и другие секреты. От того, как вы их храните и выдаёте, зависит не только работа workflow, но и безопасность CRM, таблиц, почты, платёжных систем и внутренних API.
Главное правило
Не вставляйте токены прямо в Code node, HTTP body, sticky notes или видимые поля workflow. Используйте credentials, env-переменные и минимальные права доступа. Workflow JSON может экспортироваться, пересылаться и попадать в чужие руки.
Какие типы доступов встречаются в n8n ¶
| Тип | Где встречается | Что важно |
|---|---|---|
| API key | DaData, OpenRouter, внутренние API | хранить как header/credential, ограничивать права |
| Bearer token | HTTP Request, AI API, CRM | не писать в URL и логах |
| OAuth | Google, amoCRM, Gmail, Drive | следить за scopes и refresh token |
| Webhook URL/token | Битрикс24, Telegram, внутренние сервисы | не публиковать в статьях, скриншотах и JSON |
| Service account | Google Cloud, серверные интеграции | выдавать доступ только к нужным ресурсам |
Минимальные права лучше широких ¶
Если workflow только пишет лиды в CRM, ему не нужны права администратора. Если workflow читает одну таблицу, не давайте доступ ко всему Google Drive. Если Telegram-бот отправляет уведомления, не используйте его как универсальный токен для всех экспериментов. Чем уже credential, тем меньше ущерб при ошибке workflow или утечке.
N8N_ENCRYPTION_KEY и почему он важен ¶
В self-hosted n8n задайте стабильный N8N_ENCRYPTION_KEY до начала работы. Он нужен для шифрования sensitive data, включая credentials. Если потерять этот ключ или запустить новый инстанс с другим ключом, старые credentials могут стать нечитаемыми. Храните ключ в безопасном месте вместе с backup-процедурой.
N8N_ENCRYPTION_KEY=replace_with_long_random_secret
N8N_HOST=n8n.example.ru
N8N_PROTOCOL=https
API key в HTTP Request ¶
Для простого REST API создайте credential или используйте predefined credential type, если он есть. В HTTP Request не пишите секрет прямо в поле header как обычный текст, если есть возможность вынести его в credential. Хороший вариант — отдельный credential для DaData, OpenRouter, внутреннего API или webhook-сервиса.
OAuth: scopes и redirect URL ¶
OAuth чаще всего ломается из-за redirect URL, неверных scopes или истёкшего refresh token. Для Google, amoCRM и других сервисов заранее проверьте:
- какой redirect URL показывает n8n;
- совпадает ли домен с публичным HTTPS-доменом n8n;
- какие scopes действительно нужны;
- кто владелец OAuth-приложения;
- что будет, если сотрудник, создавший доступ, уволится.
Российские сервисы: особенности ¶
| Сервис | Тип доступа | На что обратить внимание |
|---|---|---|
| Битрикс24 | local webhook или OAuth | webhook привязан к порталу и пользователю |
| amoCRM | OAuth | refresh token, redirect URI и права интеграции |
| ЮKassa | shopId/secret key + webhook settings | не путать уведомление и финальную проверку платежа |
| DaData | API key/secret | лимиты и типы подсказок/стандартизации |
| Яндекс Диск | OAuth token | не хранить токен в URL и логах |
Ротация токенов без простоя ¶
Не ждите, пока токен истечёт в пятницу вечером. Для важных интеграций заведите процесс:
- создать новый credential рядом со старым;
- переключить тестовую копию workflow;
- прогнать test payload;
- переключить рабочий workflow;
- оставить старый токен на короткое окно отката;
- удалить старый токен после подтверждения.
Что нельзя хранить в workflow ¶
- боевые API keys в Sticky Note;
- Bearer token в Code node;
- секреты в test payload, который скачивается с сайта;
- пароли в названии credential;
- полный webhook URL платёжной системы в публичной инструкции;
- скриншоты с видимыми токенами.
Частые ошибки доступа ¶
| Ошибка | Что обычно значит | Что проверить |
|---|---|---|
| 401 Unauthorized | токен неверный, истёк или не передан | credential, header Authorization, refresh token |
| 403 Forbidden | доступ есть, но прав не хватает | scopes, роль пользователя, доступ к ресурсу |
| OAuth redirect mismatch | не совпадает redirect URL | домен n8n, HTTPS, WEBHOOK_URL, настройки приложения |
| Cannot decrypt credentials | проблема с encryption key | N8N_ENCRYPTION_KEY и перенос инстанса |
Связанные материалы ¶
- Безопасность self-hosted n8n — базовые настройки инстанса.
- WEBHOOK_URL и HTTPS — почему OAuth и webhooks зависят от публичного URL.
- 401 Unauthorized — диагностика ошибок авторизации.
- amoCRM и OAuth — пример CRM-интеграции.
Практическое применение страницы
Материал «Credentials и API keys в n8n: OAuth, токены, права доступа и безопасное хранение ¶» лучше использовать как точку входа в рабочий маршрут, а не как изолированную справку. Перед внедрением выберите конкретный процесс, источник данных, владельца и ожидаемый результат. Это помогает быстро понять, какая страница базы нужна дальше: рецепт, диагностика, интеграция, нода или production-playbook.
Для любой автоматизации в n8n полезно заранее описать входной item, обязательные поля, внешние сервисы, write-действия и способ отката. Если эти детали не зафиксированы, даже простой workflow может стать неуправляемым: дублирует заявки, теряет часть items, отправляет уведомления не тем людям или ломается при изменении формата API.
Минимальный чеклист
- Определите, что является успешным результатом и кто его подтверждает.
- Проверьте happy path, пустой вход, повтор события и сбой внешнего сервиса.
- Добавьте логирование execution id, source, external id и статуса без секретов.
- Свяжите страницу с ближайшим рецептом, ошибкой или playbook.
Что открыть дальше
- Навигатор — открыть связанный материал для проверки контекста.
- Диагностика — открыть связанный материал для проверки контекста.
- Рецепты — открыть связанный материал для проверки контекста.
- Playbooks — открыть связанный материал для проверки контекста.