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.

  1. Dans le Portail Azure, accédez à votre compte de stockage.

  2. 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.

  3. Sélectionnez Activer SFTP.

    Enable SFTP button

    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.

  1. Dans le Portail Azure, accédez à votre compte de stockage.

  2. Sous Paramètres, sélectionnez SFTP.

  3. Sélectionnez Désactiver le protocole SFTP.

    Screenshot of the disable SFTP button.

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.

  1. Dans le Portail Azure, accédez à votre compte de stockage.

  2. Sous Paramètres, sélectionnez SFTP, puis Ajouter un utilisateur local.

    Add local users button

  3. 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é.

    Local user configuration pane

    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 que ssh-keygen peut être utilisé pour la convertir au format OpenSSH.

  4. Sélectionnez Suivant pour ouvrir l’onglet Autorisations du conteneur du volet de configuration.

  5. 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.

    Container permissions tab

    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.

  6. 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.

  7. 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.

Connect with Open SSH

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.

Uploaded file appears in storage account

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