Se connecter au Stockage Blob Azure à l’aide du protocole SFTP SSH
Vous pouvez vous connecter en toute sécurité au point de terminaison Stockage Blob d’un compte Stockage Azure en utilisant un client SFTP, puis charger et télécharger des fichiers. Cet article explique comment activer SFTP, puis comment vous connecter à Stockage Blob à l’aide d’un client SFTP.
Pour en savoir plus sur la prise en charge du protocole SFTP SSH dans Stockage Blob Azure, consultez Protocole SSH SFTP (File Transfer Protocol) dans Stockage Blob Azure.
Prérequis
Un compte de stockage d’objets blobs de blocs Premium ou v2 universel Standard. Vous pouvez également activer SFTP lorsque vous créez le compte. Pour plus d’informations sur ces types de comptes de stockage, consultez Vue d’ensemble des comptes de stockage.
La fonctionnalité d’espace de noms hiérarchique du compte doit être activée. Pour activer la fonctionnalité d’espace de noms hiérarchique, consultez Mettre à niveau Stockage Blob Azure avec les capacités d’Azure Data Lake Storage Gen2.
Si vous vous connectez à partir d’un réseau local, assurez-vous que votre client autorise les communications sortantes via le port 22 utilisé par SFTP.
Activer la prise en charge de SFTP
Cette section vous montre comment activer la prise en charge de SFTP pour un compte de stockage existant. Pour afficher un modèle Azure Resource Manager qui active la prise en charge de SFTP dans le cadre de la création du compte, consultez Créer un compte stockage Azure et un conteneur d’objets blob accessible à l’aide du protocole SFTP sur Azure. Pour afficher les API REST des utilisateurs locaux et les références .NET, consultez Utilisateurs locaux et la classe LocalUser.
Dans le Portail Azure, accédez à votre compte de stockage.
Sous Paramètres, sélectionnez SFTP.
Notes
Cette option s’affiche uniquement si la fonctionnalité d’espace de noms hiérarchique du compte a été activée. Pour activer la fonctionnalité d’espace de noms hiérarchique, consultez Mettre à niveau Stockage Blob Azure avec les capacités d’Azure Data Lake Storage Gen2.
Sélectionnez Activer SFTP.
Remarque
Si aucun utilisateur local n’apparaît dans la page de configuration de SFTP, vous devrez en ajouter au moins un. Pour ajouter des utilisateurs locaux, consultez la section suivante.
Désactiver la prise en charge du protocole SFTP
Cette section vous montre comment désactiver la prise en charge de SFTP pour un compte de stockage existant. La prise en charge du protocole SFTP entraînant un coût horaire, envisagez de la désactiver lorsque les clients n’utilisent pas activement SFTP pour transférer des données.
Dans le Portail Azure, accédez à votre compte de stockage.
Sous Paramètres, sélectionnez SFTP.
Sélectionnez Désactiver le protocole SFTP.
Configurer les autorisations
Stockage Azure ne prend pas en charge la signature d’accès partagé (SAS) ni l’authentification Microsoft Entra pour accéder au point de terminaison SFTP. Au lieu de cela, vous devez utiliser une identité appelée « utilisateur local » qui peut être sécurisée à l’aide d’un mot de passe généré par Azure ou d’une paire de clés Secure Shell (SSH). Pour accorder l’accès à un client de connexion, le compte de stockage doit avoir une identité associée au mot de passe ou à la paire de clés. Cette identité est appelée utilisateur local.
Dans cette section, vous allez apprendre à créer un utilisateur local, à choisir une méthode d’authentification et à attribuer des autorisations pour cet utilisateur local.
Pour en savoir plus sur le modèle d’autorisations SFTP, consultez la section Modèle d’autorisations SFTP.
Conseil
Cette section vous montre comment configurer des utilisateurs locaux pour un compte de stockage existant. Pour afficher un modèle Azure Resource Manager qui configure un utilisateur local dans le cadre de la création d’un compte, consultez Créer un compte stockage Azure et un conteneur d’objets blob accessible à l’aide du protocole SFTP sur Azure.
Dans le Portail Azure, accédez à votre compte de stockage.
Sous Paramètres, sélectionnez SFTP, puis Ajouter un utilisateur local.
Dans le volet de configuration Ajouter un utilisateur local, ajoutez le nom d’un utilisateur, puis sélectionnez les méthodes d’authentification que vous souhaitez associer à cet utilisateur local. Vous pouvez associer un mot de passe ou une clé SSH.
Important
Bien que vous puissiez activer les deux formes d’authentification, les clients SFTP peuvent se connecter en utilisant une seule d’entre elles. L’authentification multifacteur, qui requiert à la fois un mot de passe valide et une paire de clés publique et privée valide pour une authentification réussie, n’est pas prise en charge.
Si vous sélectionnez Mot de passe SSH, votre mot de passe s’affichera lorsque vous aurez effectué toutes les étapes du volet de configuration Ajouter un utilisateur local. Les mots de passe SSH sont générés par Azure et sont de 32 caractères minimum.
Si vous sélectionnez Paire de clés SSH, sélectionnez Source de clé publique pour spécifier une source de clé.
Le tableau suivant décrit chaque option de source de clé :
Option Guidance Générer une nouvelle paire de clés Utilisez cette option pour créer une paire de clés publique-privée. La clé publique est stockée dans Azure avec le nom de clé que vous avez fourni. La clé privée peut être téléchargée une fois que l’utilisateur local a été ajouté. Utiliser la clé existante stockée dans Azure Utilisez cette option si vous souhaitez utiliser une clé publique déjà stockée dans Azure. Pour rechercher les clés existantes dans Azure, consultez Répertorier les clés. Lorsque les clients SFTP se connectent à Stockage Blob Azure, ces clients doivent fournir la clé privée associée à cette clé publique. Utiliser la clé publique existante Utilisez cette option si vous souhaitez charger une clé publique qui est stockée en dehors d’Azure. Si vous n’avez pas de clé publique, mais que vous souhaitez en générer une en dehors d’Azure, consultez Générer des clés avec ssh-keygen. Notes
L’option de clé publique existante prend uniquement en charge les clés publiques au format OpenSSH. La clé fournie doit respecter ce format :
<key type> <key data>
. Par exemple, les clés RSA ressemblent à ceci :ssh-rsa AAAAB3N...
. Si votre clé est dans un autre format, un outil tel quessh-keygen
peut être utilisé pour la convertir au format OpenSSH.Sélectionnez Suivant pour ouvrir l’onglet Autorisations du conteneur du volet de configuration.
Dans l’onglet Autorisations du conteneur, sélectionnez les conteneurs que vous souhaitez mettre à la disposition de cet utilisateur local. Ensuite, sélectionnez les types d’opérations que vous voulez permettre à cet utilisateur local d’effectuer.
Important
L’utilisateur local doit disposer d’au moins une autorisation de conteneur pour le conteneur auquel il se connecte, sinon la tentative de connexion échouera.
Dans la zone d’édition Répertoire de base, saisissez le nom du conteneur ou le chemin d’accès au répertoire (notamment le nom du conteneur) qui sera l’emplacement par défaut associé à cet utilisateur local.
Pour en savoir plus sur le répertoire de base, consultez Répertoire de base.
Sélectionnez le bouton Ajouter pour ajouter l’utilisateur local.
Si vous avez activé l’authentification par mot de passe, le mot de passe généré par Azure s’affiche dans une boîte de dialogue une fois que l’utilisateur local a été ajouté.
Important
Vous ne pouvez pas récupérer ce mot de passe ultérieurement. Veillez donc à le copier, puis à le stocker dans un endroit où vous pouvez le retrouver.
Si vous avez choisi de générer une nouvelle paire de clés, vous êtes invité à télécharger la clé privée de cette paire de clés une fois que l’utilisateur local a été ajouté.
Notes
Les utilisateurs locaux ont une propriété
sharedKey
qui est utilisée uniquement pour l’authentification SMB.
Connecter un client SFTP
Vous pouvez utiliser n’importe quel client SFTP pour vous connecter et transférer des fichiers en toute sécurité. La capture d’écran suivante montre une session Windows PowerShell qui utilise Open SSH et l’authentification par mot de passe pour se connecter, puis charger un fichier nommé logfile.txt
.
Remarque
Le nom d’utilisateur SFTP est storage_account_name
.username
. Dans l’exemple ci-dessus, storage_account_name
est « contoso4 » et username
est « contosouser ». Le nom d’utilisateur combiné devient contoso4.contosouser
pour la commande SFTP.
Notes
Vous pouvez être invité à approuver une clé d’hôte. Les clés d’hôte valides sont publiées ici.
Une fois le transfert terminé, vous pouvez afficher et gérer le fichier dans le portail Azure.
Remarque
Le portail Azure utilise l’API REST Blob et l’API REST Data Lake Storage Gen2. La possibilité d’interagir avec un fichier chargé dans le portail Azure illustre l’interopérabilité entre SFTP et REST.
Consultez la documentation de votre client SFTP pour savoir comment vous connecter et transférer des fichiers.
Se connecter à l’aide d’un domaine personnalisé
Lorsque vous utilisez des domaines personnalisés, la chaîne de connexion est myaccount.myuser@customdomain.com
. Si le répertoire de base n’a pas été spécifié pour l’utilisateur, il s’agit de myaccount.mycontainer.myuser@customdomain.com
.
Important
Vérifiez que votre fournisseur DNS n’effectue pas de requêtes de proxy. Le proxy peut entraîner un dépassement de délai d’attente de la connexion.
Se connecter en utilisant un point de terminaison privé
Lorsque vous utilisez un point de terminaison privé, la chaîne de connexion est myaccount.myuser@myaccount.privatelink.blob.core.windows.net
. Si le répertoire de base n’a pas été spécifié pour l’utilisateur, il s’agit de myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net
.
Remarque
Veillez à définir la configuration réseau sur « Activé à partir de réseaux virtuels et d’adresses IP sélectionnés » et sélectionnez votre point de terminaison privé. Sinon, le point de terminaison SFTP normal sera toujours accessible publiquement.
Mise en réseau - Éléments à prendre en compte
SFTP est un service au niveau de la plateforme. Le port 22 est donc ouvert même si l’option de compte est désactivée. Si l’accès SFTP n’est pas configuré, toutes les demandes reçoivent une déconnexion du service. Lorsque vous utilisez SFTP, vous pouvez limiter l’accès public via la configuration d’un pare-feu, d’un réseau virtuel ou d’un point de terminaison privé. Ces paramètres sont appliqués au niveau de la couche application, ce qui signifie qu’ils ne sont pas spécifiques à SFTP et ont un impact sur la connectivité à tous les points de terminaison stockage Azure. Pour plus d’informations sur les pare-feu et la configuration du réseau, consultez Configurer des pare-feu Stockage Azure et des réseaux virtuels.
Remarque
Les outils d’audit qui tentent de déterminer la prise en charge du protocole TLS au niveau de la couche de protocole peuvent renvoyer les versions du protocole TLS en plus de la version minimale requise quand elles s’exécutent directement sur le point de terminaison du compte de stockage. Pour plus d’informations, consultez Appliquer une version minimale requise du protocole TLS (Transport Layer Security) pour des demandes adressées à un compte de stockage.
Voir aussi
- Prise en charge du protocole SFTP SSH pour Stockage Blob Azure
- Limitations et problèmes connus avec la prise en charge du protocole SSH SFTP (Secure File Transfer Protocol) dans le service Stockage Blob Azure
- Clés d’hôte pour la prise en charge du protocole SSH SFTP (Secure File Transfer Protocol) pour le Stockage Blob Azure
- Considérations relatives aux performances du protocole SFTP (SSH File Transfer Protocol) dans le Stockage Blob Azure