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.
[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
2) 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.
3) 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.
2) 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.
3) È 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.
4) 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.
5) 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?
Scopri la consulenza →

