Cómo usar un Azure Storage como SFTP
¿Necesitás que un proveedor, un sistema legado o un socio suban archivos por SFTP, pero no querés mantener un servidor con sshd? Azure Blob Storage soporta SFTP de forma nativa: obtenés un endpoint SFTP estándar respaldado por almacenamiento en la nube, sin máquinas virtuales que parchar. En esta guía lo configurás paso a paso.
Cómo funciona
Azure expone el protocolo SFTP directamente sobre una cuenta de almacenamiento. Los clientes se conectan con cualquier cliente SFTP (FileZilla, WinSCP, el comando sftp) y los archivos quedan como blobs en tus contenedores. La autenticación es con usuarios locales propios del storage (no Azure AD), cada uno con su directorio y permisos.
Requisitos
- Una cuenta de almacenamiento StorageV2 (general purpose v2) o BlockBlobStorage.
- Espacio de nombres jerárquico (hierarchical namespace / Data Lake Gen2) habilitado — es obligatorio para SFTP y se define al crear la cuenta (no se puede activar después fácilmente).
- Un contenedor que servirá de directorio raíz para el usuario.
Paso 1 — Crear la cuenta con SFTP y namespace jerárquico
# Crea la cuenta con hierarchical namespace + SFTP en un solo comando
az storage account create
--name MIACCOUNT
--resource-group MIGRUPO
--location eastus2
--sku Standard_LRS
--kind StorageV2
--enable-hierarchical-namespace true
--enable-sftp true
# (Si la cuenta ya existe y tiene namespace jerárquico, solo activá SFTP:)
az storage account update -n MIACCOUNT -g MIGRUPO --enable-sftp true
Creá también el contenedor que será el “home” del usuario, por ejemplo uploads.
Paso 2 — Crear un usuario local
Cada usuario SFTP es un “usuario local” del storage, con un directorio raíz y permisos sobre un contenedor. Los permisos se expresan con letras: r leer, c crear, w escribir, d borrar, l listar.
az storage account local-user create
--account-name MIACCOUNT
--resource-group MIGRUPO
--name proveedor1
--home-directory uploads
--permission-scope permissions=rcwdl service=blob resource-name=uploads
--has-ssh-password true
Para autenticación con llave SSH (más seguro que contraseña), usá --has-ssh-key true --ssh-authorized-key key="ssh-rsa AAAA..." en lugar de la contraseña. Si usás contraseña, generala con:
az storage account local-user regenerate-password
--account-name MIACCOUNT -g MIGRUPO --name proveedor1
Paso 3 — Conectarse
El usuario para SFTP tiene el formato cuenta.usuariolocal y el host es cuenta.blob.core.windows.net (puerto 22):
sftp MIACCOUNT.proveedor1@MIACCOUNT.blob.core.windows.net
# luego: put archivo.csv / ls / get reporte.xlsx
En FileZilla/WinSCP usás el mismo host, usuario MIACCOUNT.proveedor1 y la contraseña o la llave privada correspondiente.
Consideraciones importantes
- Costo: tener SFTP habilitado tiene un cargo por hora (aprox. US$0.30/h), esté o no en uso — son cientos de dólares al mes si lo dejás siempre encendido. Si el SFTP es esporádico (cargas mensuales), conviene activarlo y desactivarlo con
az storage account update --enable-sftpalrededor del proceso. - Seguridad: preferí llaves SSH sobre contraseñas; restringí el acceso con reglas de firewall de la cuenta (IPs permitidas); dá a cada usuario solo los permisos y el contenedor que necesita.
- Namespace jerárquico: recordá que debe activarse al crear la cuenta. Si tu cuenta no lo tiene, hay que crear una nueva y migrar los datos.
- Limitaciones: SFTP en Blob no soporta todos los comandos del protocolo (por ejemplo, algunas operaciones de renombrado/symlink) y no reemplaza a FTPS; revisá la compatibilidad de tu cliente.
Conclusión
Azure Blob Storage como SFTP te da un endpoint familiar para socios y sistemas legados sin administrar servidores — pagás por almacenamiento y por el tiempo que SFTP esté activo. Para cargas recurrentes, automatizá el encendido/apagado y vigilá el costo.
En Grupo TANDEM diseñamos e implementamos infraestructura en Azure de forma segura y a tu medida. Si necesitás montar intercambio de archivos o cualquier servicio cloud, conversemos.
¿Necesitas ayuda con esto?
En Grupo TANDEM lo implementamos por ti. Conversemos sobre tu caso.
Contactar a un asesor