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

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?

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