Utilisation du protocole SFTP sur Azure Blob Storage

Le support natif du protocole SFTP (SSH File Transfer Protocol) par Azure Blob Storage permet de combiner la robustesse du stockage objet avec les méthodes de transfert de fichiers traditionnelles. Contrairement à un serveur Linux classique, l'authentification repose sur une structure d'identifiant spécifique.
1. Architecture de l'identifiant utilisateur
C'est le point le plus critique de la configuration. Azure utilise un système de noms d'utilisateurs composés pour router la session SSH vers la bonne instance de stockage.
La structure "Dot-Notation"
L'identifiant n'est pas simplement le nom créé dans le portail, mais une concaténation :
[NomDuCompteStockage].[NomUtilisateurLocal]
Nom du compte de stockage : Votre ressource Azure (ex:
starkindustries).Nom de l'utilisateur local : L'entité créée dans l'onglet "SFTP" du compte de stockage (ex:
jarvis).Résultat :
starkindustries.jarvis
Cas du ciblage par conteneur
Si vous n'avez pas défini de "Home Directory" (répertoire personnel) pour l'utilisateur, ou si vous voulez forcer la connexion à un conteneur spécifique, le format devient : nomducompte.nomconteneur.nomutilisateur
2. Prérequis et Limitations Techniques
Avant de tenter une connexion, assurez-vous que les paramètres suivants sont respectés :
Espace de noms hiérarchique (HNS) : La fonctionnalité SFTP nécessite que l'option "Enable hierarchical namespace" soit activée sur le compte de stockage.
Point de terminaison : L'adresse de connexion est toujours le point de terminaison Blob :
nomducompte.blob.core.windows.net.Authentification : Azure supporte les mots de passe générés ou les clés publiques SSH.
3. Matrice de Connexion (Tableau de référence)
Voici comment remplir les champs dans un client comme FileZilla ou WinSCP :
Champ | Valeur |
Protocole | SFTP (Port 22) |
Hôte | |
Utilisateur |
|
Authentification | Clé SSH (.ppk/.pem) ou Mot de passe |
4. Exemple de connexion via CLI (OpenSSH)
Pour les administrateurs utilisant le terminal, la commande doit être formatée ainsi (attention aux guillemets si des caractères spéciaux sont présents) :
sftp monstockage.monutilisateur@monstockage.blob.core.windows.net
5. Pourquoi ne peut-on pas omettre le nom du compte ?
Il est crucial de comprendre qu'Azure n'héberge pas un serveur SFTP dédié par client, mais une passerelle massivement multi-entités.
Si vous envoyez juste
monutilisateur, la passerelle Azure ne sait pas vers quel compte de stockage (parmi les millions existants) diriger la requête.Le préfixe
nomducompte.sert de sélecteur de routage au niveau de la couche réseau d'Azure.
6. Bonnes pratiques de sécurité
Désactiver l'accès public : Utilisez des points de terminaison privés (Private Endpoints) ou restreignez l'accès aux adresses IP de votre entreprise via le pare-feu du compte de stockage.
Privilégier les clés SSH : Le mot de passe généré par Azure est complexe, mais la clé SSH reste la norme industrielle pour l'automatisation.
Permissions granulaires : Lors de la création de l'utilisateur local, limitez ses droits (Lecture, Écriture, Liste, Suppression) au strict nécessaire pour chaque conteneur.
Liens utiles :
Voici les ressources officielles de Microsoft pour approfondir et voir des exemples concrets :
Documentation principale : Support du protocole SFTP pour Azure Blob Storage
Guide de connexion : Se connecter à Azure Blob Storage à l'aide d'un client SFTP (Contient des exemples pour OpenSSH et PowerShell).
Gestion des utilisateurs : Autoriser l'accès aux clients SFTP (Utilisateurs locaux)





