Guide

Gestire le Credenziali in n8n: Una Guida alla Sicurezza

Le automazioni sono utili solo finché sono sicure: una configurazione sbagliata delle credenziali può esporre API key, token OAuth2 e segreti aziendali. In questa guida pratica, pensata per marketer e team no‑code che vogliono aumentare la produttività senza rischi, vedrai come progettare e mantenere credenziali n8n in modo professionale. Partiremo dai fondamenti (come n8n memorizza e usa le credenziali), passeremo alla cifratura delle credenziali e alla chiave di crittografia n8n, quindi a variabili d’ambiente e segreti (incluso External Secrets), gestione OAuth2 sicura, condivisione delle credenziali tra utenti e controllo accessi e ruoli in n8n. Troverai procedure per rotazione token API, audit e log di sicurezza, import/export delle credenziali e opzioni Docker/Kubernetes secrets per n8n. Oltre a best practice per protezione dei segreti nei workflow, includiamo step‑by‑step, snippet ed esempi per attuare subito un hardening concreto dei tuoi automatismi.

📚 Nuovo a n8n? Parti dalla guida completa: cos’è n8n e come funziona.

[IMG: Panoramica n8n: sezione Credentials con filtri per progetto e stato di condivisione]


Fondamenti: come funzionano le credenziali in n8n

In n8n le credenziali sono entità dedicate, separate dai workflow, che i nodi referenziano per autenticarsi verso servizi esterni. In pratica:

  • Crei le “Credentials” nell’Editor (ad esempio “Slack OAuth2”, “Google Sheets OAuth2”, “OpenAI API”).
  • Nei nodi, selezioni la credenziale dal menu “Credential to connect with”.
  • I workflow salvano solo il riferimento (nome/ID) alla credenziale; i segreti restano nel vault interno dell’istanza.

Vantaggi per la sicurezza delle integrazioni n8n:

  • Separazione dei segreti dai workflow JSON: riduce il rischio di condivisioni involontarie.
  • Riutilizzo sicuro: più nodi e più workflow possono usare la stessa credenziale con policy di accesso controllate.
  • Governance: puoi gestire chi crea, vede e usa le credenziali per progetto/ruolo.

Suggerimenti operativi:

  • Naming coerente (es. “HubSpot OAuth2 – Prod”): aiuta a distinguere ambienti e privilegi.
  • Evita di includere dati sensibili nel nome della credenziale (è riportato nei JSON di export dei workflow).
  • Rivedi periodicamente l’inventario delle credenziali in n8n per rimuovere quelle inutilizzate.

Keywords utili: credenziali in n8n, best practice per automazione sicura.


Cifratura delle credenziali: N8NENCRYPTIONKEY e persistenza

n8n cifra le credenziali nel database. Alla prima esecuzione, genera una chiave di crittografia e la salva nella cartella dati dell’app (per Docker: /home/node/.n8n). Puoi e dovresti impostare una chiave custom per avere controllo e portabilità.

Passi consigliati

  1. Imposta la chiave di crittografia n8n
  • Variabile d’ambiente: N8NENCRYPTIONKEY
  • Usa un valore lungo e casuale (almeno 32 caratteri)

Esempio .env (Docker)

N8N_ENCRYPTION_KEY=una-chiave-molto-lunga-super-segreta
  1. PERSISTI la cartella dati dell’app
  • Monta /home/node/.n8n su un volume/persistent volume, perché contiene dati essenziali, inclusa la chiave generata.
  • Se la chiave cambia, le credenziali esistenti diventano illeggibili: mantieni costante la chiave tra aggiornamenti/migrazioni.
  1. Evita passaggi in chiaro
  • Preferisci variabili d’ambiente fornite da file (pattern “_FILE”) quando possibile e Docker/Kubernetes secrets per n8n (vedi sezione dedicata).

Attenzione alla rotazione

  • Ruota regolarmente i token dei provider (API/ OAuth2) e non la chiave di cifratura di n8n, a meno di una procedura di re‑encrypt pianificata. Cambiare N8NENCRYPTIONKEY senza migrazione comporta la perdita di accesso ai segreti cifrati.

Keywords: cifratura delle credenziali, chiave di crittografia n8n.

[IMG: Impostazioni Docker con volume su /home/node/.n8n e N8NENCRYPTIONKEY nel file .env]


Variabili d’ambiente, External Secrets e gestione dei segreti

Oltre al vault interno, n8n supporta pratiche moderne di secret management.

Opzione A — Environment variables

  • Vantaggi: semplicità, multi‑ambiente.
  • Rischi: le env non sono cifrate per natura; proteggile a livello di orchestratore e non committarle in Git.
  • Suggerimento: dove supportato, usa suffisso “_FILE” per caricare valori da file (integrazione con Docker/K8s secrets).

Opzione B — External Secrets (consigliato)

  • Feature: Settings > External Secrets
  • Scopo: archiviare i segreti in un vault esterno (es. AWS Secrets Manager) e farli caricare a runtime da n8n.
  • Requisiti: nomi segreti alfanumerici/underscore; valori plaintext (non JSON annidati).
  • Benefici: centralizzazione, audit, rotazione al di fuori dell’istanza n8n.

Esempio setup sintetico

  1. In n8n: Settings > External Secrets > Set Up (seleziona provider)

  2. Inserisci le credenziali del provider dei segreti

  3. Riferisci i segreti nelle credenziali n8n (mappando i campi alla sorgente esterna)

Opzione C — Docker/Kubernetes secrets

  • Docker: usa _FILE per variabili supportate e monta file secret nel container.
  • Kubernetes: archivia i segreti in “Secret” e inietta come file/env; per segreti sensibili (chiavi cloud) considera integrazione con un vault (es. AWS/GCP/Azure).

Keywords: variabili d’ambiente e segreti, Docker/Kubernetes secrets per n8n.

[IMG: Schermata “External Secrets” con provider configurato e mapping dei campi credenziali]


Gestione OAuth2 sicura: scope minimi, ambienti e manutenzione

Molte integrazioni richiedono OAuth2. Per salvaguardare i dati:

  • Principle of least privilege: richiedi solo gli scope necessari.
  • Ambienti separati: crea credenziali “Dev/Stage/Prod” con app OAuth distinte, client ID/secret differenti e redirect URLs coerenti.
  • Rotazione: programma un ciclo di rinnovo dei refresh token/documenta le scadenze.
  • Revoca: quando un utente lascia il team o un progetto termina, revoca sia lato provider sia in n8n.

Procedura tipica (UI n8n)

  1. Crea una nuova credenziale “OAuth2” del servizio target

  2. Inserisci Client ID/Client Secret

  3. Imposta Redirect URL (quello indicato da n8n nella credenziale)

  4. Esegui l’autorizzazione: verifica che gli scope siano corretti

  5. Test: lancia un nodo con quella credenziale per confermare

Consiglio pratico

  • Etichetta chiaramente le credenziali con ambiente e ambito (es. “HubSpot OAuth2 — Prod — Leads Only”).
  • Protezione dei segreti nei workflow: non hardcodare Client Secret/Token in nodi Code; mantieni tutto nella credenziale.

Keywords: gestione OAuth2 sicura, protezione dei segreti nei workflow.

[IMG: Creazione credenziale OAuth2 con Redirect URL e scope minimi selezionati]


Condivisione, accessi e ruoli: collaborazione senza esporre segreti

n8n consente la condivisione di credenziali in sicurezza:

  • Credential sharing
  • Disponibile su tutti i piani Cloud e su Enterprise self‑hosted.
  • Puoi condividere una credenziale con singoli utenti oppure dentro un progetto.
  • Gli utenti che usano una credenziale condivisa non possono visualizzarne o modificarne i dettagli sensibili.
  • Ruoli e progetti
  • In contesti “Projects”, il ruolo dell’utente definisce cosa può fare su workflow e credenziali del progetto.
  • I Project Admin possono condividere le credenziali del progetto.
  • Instance Owners/Admins possono vedere e condividere tutte le credenziali sull’istanza.

Procedura (UI)

  1. Vai in Credentials

  2. Seleziona una credenziale > tab “Sharing”

  3. “Share with projects or users” > scegli destinatari > “Save”

  4. Per revocare: “Remove access” sullo stesso pannello

Beneficio per i marketer

  • Condivisione controllata: il team può usare integrazioni critiche senza conoscere i segreti. Meno attrito, più sicurezza.

Keywords: condivisione delle credenziali tra utenti, controllo accessi e ruoli in n8n.

[IMG: Tab “Sharing” di una credenziale con elenco utenti/progetti e pulsante Save]


Rotazione token API, audit e log: mantenere l’igiene delle integrazioni

Rotazione token API

  • Pianifica la rotazione periodica dei token (mensile/trimestrale in base al servizio).
  • Preferisci token short‑lived con refresh quando possibile.
  • Automazione: crea promemoria con Schedule Trigger per segnalare scadenze imminenti.

Audit e log di sicurezza

  • Esecuzioni: usa gli execution logs per tracciare chi ha usato cosa e quando.
  • Cambi credenziali: registra internamente chi crea/condivide/ritira accessi; nelle edizioni avanzate, integra con audit centralizzato della piattaforma.
  • Alert: notifica su Slack/Email se falliscono chiamate per 401/403 (possibile token scaduto/revocato).

Checklist operativa

  • Inventario trimestrale delle credenziali in n8n.
  • Scope review (riduci privilegi) e revoche per progetti chiusi.
  • Playbook incident: cosa fare se un token è esposto (revoca immediata lato provider, ruota chiavi, verifica accessi).

Keywords: rotazione token API, audit e log di sicurezza.


Import/Export e automazione del provisioning

Workflow e credenziali possono essere migrati tra istanze in modo sicuro.

Export/Import workflow (UI)

  • Menu: Export and import workflows
  • Nota: i JSON dei workflow includono nomi/ID di credenziali, non i segreti. Evita nomi “parlanti” che rivelano info sensibili.

CLI per import/export delle credenziali

  • Esempio (Docker)
# Copia file nel container
docker cp exported-credentials.json n8n_container:/home/node/exported-credentials.json
docker cp exported-workflows.json   n8n_container:/home/node/exported-workflows.json

# Importa credenziali e workflow
docker exec -u node -it n8n_container n8n import:credentials --input=exported-credentials.json
docker exec -u node -it n8n_container n8n import:workflow     --input=exported-workflows.json

Suggerimenti

  • Esegui import in ambienti di test prima della produzione.
  • Se usi External Secrets, l’automazione principale avviene via API del secrets manager (non in n8n), mantenendo i workflow indipendenti da valori sensibili.

Keywords: import/export delle credenziali, API REST per gestione credenziali (tramite provider esterno).

[IMG: Terminale con comandi n8n import:credentials e import:workflow]


Docker/Kubernetes: deployment sicuro e gestione chiavi

Docker

  • Usa un .env con N8NENCRYPTIONKEY, N8N_HOST/PORT/PROTOCOL, ecc.
  • Evita credenziali in chiaro: sfrutta variabili con suffisso “_FILE” per leggere da file montati (Docker secrets).
  • Monta il volume /home/node/.n8n (contiene chiave e dati utente).
  • HTTPS: termina TLS a livello di proxy o usa N8NSSLKEY / N8NSSLCERT.

Kubernetes

  • Archivia i segreti in Kubernetes Secrets o integra un vault esterno.
  • Monta un PersistentVolume per /home/node/.n8n così da non perdere la chiave e le credenziali.
  • Separa ambienti (dev/stage/prod) con namespace e regole RBAC adeguate.

Esempio values (estratto)

env:
  - name: N8N_ENCRYPTION_KEY
    valueFrom:
      secretKeyRef:
        name: n8n-secrets
        key: encryptionKey
volumeMounts:
  - name: n8n-data
    mountPath: /home/node/.n8n

Keywords: Docker/Kubernetes secrets per n8n, best practice per automazione sicura.

[IMG: Manifests K8s con Secret e PersistentVolume per n8n]


Sicurezza nei workflow: cosa fare (e non fare)

Da fare

  • Mantieni i segreti nelle “Credentials” o in External Secrets.
  • Usa “Expression” per leggere valori da credenziali, non da variabili hardcodate.
  • Isola i permessi: crea più credenziali con scope minimi per casi d’uso diversi.

Da evitare

  • Inserire token/API key direttamente in Code node o campi “Text”.
  • Esportare e condividere workflow con riferimenti sensibili nel nome credenziale.
  • Riutilizzare la stessa credenziale per dev e prod.

Pattern consigliati

  • Wrapper di chiamate: un sub‑workflow che legge la credenziale e applica retry/backoff/logging uniforme.
  • Gate di accesso: prima dell’uso, verifica lo stato della credenziale (scadenza, permessi minimi).

Keywords: protezione dei segreti nei workflow, sicurezza delle integrazioni n8n.

[IMG: Sub‑workflow “HTTP Secure Call” con credenziale e retry integrati]


Quick Takeaways

  • Imposta N8NENCRYPTIONKEY e persisti /home/node/.n8n per proteggere e mantenere le credenziali.
  • Usa External Secrets o Docker/K8s secrets per gestire i segreti fuori dall’app.
  • Applica scope minimi, ambienti separati e rotazione regolare dei token.
  • Condividi credenziali via “Credential sharing” con progetti/utenti: chi usa non vede i segreti.
  • Evita hardcoding nei nodi: usa sempre le “Credentials”.
  • Migra in sicurezza con import/export e testa prima in staging.

Conclusione

Mettere in sicurezza le credenziali n8n non è un dettaglio tecnico, ma un abilitatore di crescita: ti consente di scalare le automazioni con fiducia, rispettando policy aziendali e riducendo il rischio di incidenti. Con una chiave di cifratura stabile (N8NENCRYPTIONKEY) e la persistenza di /home/node/.n8n garantisci la continuità. Con External Secrets e i secrets di Docker/Kubernetes centralizzi il controllo, mentre la gestione OAuth2 sicura (scope minimi, ambienti separati, rotazione) tiene sotto controllo l’accesso ai dati. La condivisione controllata e i ruoli proteggono i segreti pur abilitando il lavoro del team, e i processi di import/export ti consentono migrazioni ordinate. Infine, seguendo le best practice sui workflow (no hardcoding, sub‑workflow sicuri, audit e logging) trasformi la sicurezza in abitudine operativa. Se sei un/una marketer che vuole imparare ad usare n8n per migliorare la produttività, inizia oggi: crea il tuo vault di segreti, rivedi le credenziali esistenti, e adotta i pattern proposti per un’automazione veramente sicura e scalabile.


FAQ

  1. Dove vengono memorizzate le credenziali in n8n?

Le credenziali in n8n sono cifrate nel database e la chiave è salvata nella cartella dati dell’app. Imposta N8NENCRYPTIONKEY e persisti /home/node/.n8n per garantire che le credenziali restino leggibili dopo update o migrazioni. Parole chiave: credenziali in n8n, cifratura delle credenziali.

  1. Come proteggo i segreti in ambienti Docker/Kubernetes?

Usa Docker/Kubernetes secrets per n8n e, dove possibile, variabili con suffisso “_FILE”. Monta un volume persistente per /home/node/.n8n. Valuta External Secrets per caricare i segreti da un vault esterno. Parole chiave: variabili d’ambiente e segreti, best practice per automazione sicura.

  1. È sicuro condividere le credenziali tra utenti?

Sì, tramite “Credential sharing”: puoi condividere con progetti o utenti senza esporre i dettagli sensibili. Il controllo accessi e ruoli in n8n assicura che chi usa una credenziale non possa leggerla o modificarla. Parole chiave: condivisione delle credenziali tra utenti.

  1. Come gestire in sicurezza OAuth2?

Crea credenziali separate per ambiente, richiedi solo gli scope minimi, monitora scadenze e ruota i refresh token. Evita di hardcodare client secret o token nei nodi; mantieni tutto nella credenziale. Parole chiave: gestione OAuth2 sicura, protezione dei segreti nei workflow.

  1. Posso automatizzare import/export delle credenziali?

Sì. Usa i comandi CLI per import/export delle credenziali e dei workflow. Conserva i file in ambienti sicuri e testa prima in staging. Per automazione avanzata, preferisci External Secrets e la relativa API del provider. Parole chiave: import/export delle credenziali, API REST per gestione credenziali (via provider esterno).


Ci dai una mano?

Questa guida ti è stata utile? Raccontaci nei commenti quali pratiche adotti per la sicurezza delle credenziali n8n e condividila con il tuo team. Qual è il prossimo passo che implementerai: External Secrets, rotazione token o hardening di Docker/K8s?

Articoli correlati

Vuoi automazioni AI su misura per la tua azienda?
Scopri la consulenza →

Partiamo da un processo che oggi vi costa ore

Su WhatsApp risponde una persona, di solito in giornata. Se preferisci scrivere con calma, c’è il modulo qui sotto.

Scrivici su WhatsApp

Raccontaci cosa vuoi automatizzare

Ti rispondiamo noi, di solito in giornata.

Raccontaci cosa vi fa perdere tempo

Due righe bastano. Vi diciamo se si automatizza, come, e quanto costa. Se non conviene, lo diciamo.