¿Cómo usar SFTP con Blob Storage?

Publicado por

Para muchas empresas es imprescindible realizar transferencia de archivos para dar solución a diferentes procedimientos. Muchas de ellas usan SFTP (Secure File Transfer Protocol) para transportar sus datos de forma segura entre dos puntos de comunicación.

Recientemente Microsoft Azure adicionó la compatibilidad de SFTP para Azure Blob Storage, actualmente (21 de diciembre de 2021), esta opción se encuentra disponible en versión preliminar para algunas regiones.

En este post realizaremos un demo para explicar cómo habilitar esta nueva característica y como conectarse de forma segura a cuentas Blob Storage a través de SFTP.

Habilitar el soporte de SFTP para Azure Blob Storage

En la suscripción, se debe dar clic en la opción “Preview features“, posteriormente buscar “SFTP support for Azure Blob Storage” y dar clic en “Register“.

Habilitar soporte de SFTP para Azure Blob Storage
Imagen 1: Habilitar soporte de SFTP para Azure Blob Storage

Posteriormente, el estado de la característica “SFTP support for Azure Blob Storage” cambiará a “Registered“.

Característica “SFTP support for Azure Blob Storage” registrada
Imagen 2: Característica “SFTP support for Azure Blob Storage” registrada

Crear una cuenta de almacenamiento en Microsoft Azure

Para crear una cuenta de almacenamiento, en el Marketplace de Azure buscamos “Storage account” y damos clic en “Create“.

Crear cuenta de almacenamiento
Imagen 3: Crear cuenta de almacenamiento

En la configuración, se tendrán en cuenta algunas consideraciones necesarias al momento de escribir este post.

Usaremos la región (US) East US 2 que es una de las regiones dónde se puede usar la nueva característica SFTP.

Se elige “Performance Standard” y “Redundancy LRS” por ser las opciones actualmente soportadas en la versión preliminar de soporte de SFTP en Azure Blob Storage.

Configuración cuenta de almacenamiento
Imagen 4: Configuración cuenta de almacenamiento

Para utilizar la característica SFTP se requiere crear un Data Lake Generación 2 en Azure (lo cual sólo se puede hacer cuando se crea la cuenta de almacenamiento). Puedes aprender más del tema en el post ¿Cómo crear un Data Lake Generación 2 en Azure?.

También es necesario habilitar la característica “SSH File Transfer Protocol (SFTP)“. Actualmente una cuenta habilitada para SFTP no admitirá otros protocolos.

Configuración avanzada cuenta de almacenamiento
Imagen 5: Configuración avanzada cuenta de almacenamiento

Para este ejercicio, las demás opciones de configuración se dejan con los valores por defecto y se da clic en el botón “Create“.

Imagen 6: Resumen configuración cuenta de almacenamiento

Cuando Azure informa que ha completado el proceso, se da clic en “Go to resource” para ir a la cuenta de almacenamiento creada.

Imagen 7: Cuenta de almacenamiento creada

Luego, en la cuenta de almacenamiento se selecciona la opción “Containers” y se adiciona un nuevo contenedor, en este caso se llama ftpfiles.

Imagen 8: Crear nuevo contenedor

Ingresamos al contenedor y creamos una carpeta que posteriormente se usará como directorio de inicio para el usuario del servicio SFTP.

Imagen 9: Crear directorio de inicio para el usuario del servicio SFTP

Agregar usuarios para el servicio SFTP

En el panel izquierdo la cuenta de almacenamiento se debe elegir la opción “SFTP” y dar clic en “Add local user“.

Imagen 10: Crear usuario

Para crear un usuario para el servicio SFTP, se indica el nombre de usuario, el método de autenticación preferido y se da clic en “Next“.

Imagen 11: Datos de autenticación para el usuario

Se elige el contenedor, los permisos deseados, se especifica el directorio de inicio para el usuario (carpeta creada anteriormente en el contenedor) y se da clic en “Add“.

Imagen 12: Configuración usuario SFTP

Es importante guardar la contraseña que aparece una vez termina la configuración para el usuario SFTP. Sin embargo, también puede usar la opción de regenerar contraseña.

Imagen 13: Contraseña usuario SFTP

Prueba de autenticación y acceso SFTP

En la lista de usuarios SFTP hay una columna con cadena de conexión asociada a un usuario. El formato de la cadena conexión es:

<storage account Name>.<user Name>@<storage account Name>.blob.core.windows.net
Imagen 14: Cadena de conexión

Desde un cliente SFTP se usa como servidor el texto que está después de la arroba y como nombre de usuario, el texto que se encuentra antes de la arroba. Se usa la clave generada anteriormente.

Nosotros usaremos el programa FileZilla para probar la conexión SFTP. En FileZila, en el menú “Archivo“, seleccionamos “Gestor de sitios” y después de presionar el botón “Nuevo sitio” ingresamos la configuración como se muestra en la siguiente imagen.

Imagen 15: Configuración cliente SFTP

Con esto, ya es posible realizar la transferencia arrastrando los archivos a la carpeta del sitio remoto.

Imagen 16: Transferencia de archivos

Los archivos enviados quedan en el contenedor en la carpeta de inicio creada para el usuario.

Imagen 17: Archivos enviados al contenedor

Ahora que sabes usar la compatibilidad con SFTP para Azure Blob Storage puedes aprovechar el protocolo sin necesidad de mantener máquinas virtuales para ello.

Sí este artículo fue de agrado, te invitamos a compartirlo en tus redes sociales. Nos vemos en próximas publicaciones.

Deja un comentario

Tu dirección de correo electrónico no será publicada.