Ir al contenido

Autenticación y RBAC en Node-RED

Node-RED vanilla solo tiene 2 niveles de permiso: * (acceso completo) y read (solo lectura). Puedes tener tantos usuarios nombrados como quieras, pero cada uno es “puede hacer todo” o “puede mirar pero no tocar”. No hay restricción por flujo, jerarquía de roles, ni granularidad de funciones más allá de ese binario.

Para RBAC completo con múltiples roles, consulta la guía de FlowFuse.


El bloque adminAuth en settings.js asegura el editor de flujos y la Admin API. No asegura el dashboard /ui — ese necesita un httpNodeAuth separado.

Valor de permissions¿Puede editar flujos?¿Puede hacer deploy?¿Puede instalar nodos?
*
read

Node-RED rechaza contraseñas en texto plano — debes usar bcrypt:

Ventana de terminal
docker exec -it node-red npx node-red-admin hash-pw
# Te pedirá la contraseña y genera: $2b$08$...

Genera un hash por cada usuario que quieras crear.

Ventana de terminal
docker cp node-red:/data/settings.js ./settings.js

Abre settings.js y busca (o agrega) el bloque adminAuth:

adminAuth: {
type: "credentials",
users: [
{
username: "admin",
password: "$2b$08$PEGA_TU_HASH_BCRYPT_AQUI",
permissions: "*" // acceso completo
},
{
username: "operador",
password: "$2b$08$PEGA_HASH_DEL_OPERADOR",
permissions: "read" // solo lectura
}
],
sessionExpiryTime: 86400, // 1 día en segundos
},
// También protege el endpoint /dashboard:
httpNodeAuth: {
user: "viewer",
pass: "$2b$08$PEGA_HASH_DEL_VIEWER"
},
// Nota: httpNodeAuth es UNA credencial compartida para todos los que accedan al dashboard

Agrega el volumen en docker-compose.yml:

# En el servicio node-red:
volumes:
- nodered-data:/data
- ./settings.js:/data/settings.js # ← monta tu archivo local

Reinicia y verifica:

Ventana de terminal
docker compose restart node-red
# Debe retornar 401 (no autorizado):
curl -s -o /dev/null -w "%{http_code}" http://localhost:1880

Funciónsettings.js (vanilla)FlowFuse CE (gratis)FlowFuse Enterprise
Login con contraseña al editor
Múltiples usuarios nombrados✓ (archivo)✓ (UI web)
Niveles de permiso⚠ Solo 2✓ 4 roles✓ 4 roles + nivel de app
Rol Dashboard Only✗ (1 cred. compartida)
Modo Protección de Instancia
Log de auditoría
SSO / SAML
UI de gestión de usuarios✗ (editar archivo)
Infraestructura extraNinguna+2 contenedores+2 contenedores
PrecioGratisGratis (autoalojado)De pago
¿Trabajas solo o con 1 persona?
└─ Sí → settings.js vanilla es suficiente
¿Equipo de 2–10 personas?
└─ Sí → FlowFuse CE
¿Necesitas rol "solo dashboard" para algunos usuarios?
└─ Sí → FlowFuse CE
¿Necesitas logs de auditoría o separación prod/dev?
└─ Sí → FlowFuse CE + Protection Mode
¿Necesitas SSO corporativo / SAML?
└─ Sí → FlowFuse Enterprise

Continúa con la guía de FlowFuse para ver la configuración completa con RBAC de 4 roles.