Se connecter au Stockage Blob Azure à l’aide du protocole SFTP SSH

Cet article explique comment vous connecter en toute sécurité au point de terminaison Stockage Blob d’un compte stockage Azure à l’aide d’un client SFTP. Après vous être connecté, vous pouvez ensuite charger et télécharger des fichiers, ainsi que modifier des listes de contrôle d’accès (ACL) sur des fichiers et des dossiers.

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

Connecter un client SFTP

Vous pouvez utiliser n’importe quel client SFTP pour vous connecter et transférer des fichiers en toute sécurité. L’exemple suivant montre une session Windows PowerShell qui utilise Open SSH.

PS C:\Users\temp> sftp contoso4.contosouser@contoso4.blob.core.windows.net

Le nom d’utilisateur SFTP est storage_account_name.username. Dans l’exemple précédent, le storage_account_name est « contoso4 » et le username est « contosouser ». Le nom d’utilisateur combiné devient « contoso4.contosouser ». Le point de terminaison du service blob est « contoso4.blob.core.windows.net ».

Pour terminer la connexion, vous devrez peut-être répondre à une ou plusieurs invites. Par exemple, si vous configurez l’utilisateur local avec une authentification par mot de passe, on vous demande de saisir ce mot de passe. Vous pouvez également être invité à approuver une clé hôte. Les clés d’hôte valides sont publiées ici.

Remarque

SFTP fonctionne sur l’extrémité Stockage Blob (blob.core.windows.net) et non sur l’extrémité Data Lake Storage (dfs.core.windows.net). Par conséquent, les points de terminaison Data Lake Storage tels que contoso4.contosouser@contoso4.dfs.core.windows.net ne sont pas pris en charge.

Se connecter à l’aide d’un domaine personnalisé

Pour se connecter au point de terminaison du service blob en utilisant un domaine personnalisé, utilisez la chaîne de connexion myaccount.myuser@customdomain.com. Si vous ne spécifiez pas le répertoire personnel pour l'utilisateur, utilisez la chaîne de connexion myaccount.mycontainer.myuser@customdomain.com.

Important

Assurez-vous que votre fournisseur DNS ne proxy pas les requêtes, car cette action pourrait entraîner une expiration temporelle de la tentative de connexion.

Pour savoir comment mapper un domaine personnalisé à un point de terminaison de service de stockage d'objets blob, consultez Mapper un domaine personnalisé à un point de terminaison de stockage d'objets blob Azure.

Se connecter en utilisant un point de terminaison privé

Pour se connecter au point de terminaison du service blob en utilisant un point de terminaison privé, utilisez la chaîne de connexion myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Si vous ne spécifiez pas le répertoire personnel pour l’utilisateur, utilisez myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.

Remarque

Assurez-vous de changer la configuration réseau en Activé à partir des réseaux virtuels et adresses IP sélectionnés, puis sélectionnez votre point de terminaison privé. Sinon, le point de terminaison du service blob reste accessible au public.

Se connecter à l’aide du routage Internet

Pour se connecter au point de terminaison du service blob en utilisant le routage internet, utilisez la chaîne de connexion myaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Si vous ne spécifiez pas le répertoire personnel pour l’utilisateur, utilisez myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net.

Transfert de données

Une fois connecté, vous pouvez charger et télécharger des fichiers. L’exemple suivant charge un fichier nommé logfile.txt à l’aide d’une session Open SSH active.

sftp> put logfile.txt
Uploading logfile.txt to /mydirectory/logfile.txt
logfile.txt
        100%    19    0.2kb/S    00.00

Une fois le transfert terminé, vous pouvez afficher et gérer le fichier dans le portail Azure.

Capture d’écran du fichier chargé qui apparaît dans le compte de stockage.

Remarque

Le portail Azure utilise l’API REST Blob et l’API REST Data Lake Storage. 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.

Reprendre le chargement

La fonctionnalité de chargement reprenable pour SFTP d’Stockage Blob Azure est désormais disponible de manière générale. Cette fonctionnalité vous permet de reprendre les téléchargements de fichiers depuis le point de défaillance en cas de défaillance partielle de transfert, ce qui vous fait gagner du temps et réduire l’utilisation de bande passante réseau. Les modes de transfert SFTP suivants sont pris en charge par Stockage Blob Azure SFTP :

  • Écriture : ce mode permet au client de poursuivre un chargement en ajoutant des données à un fichier existant à partir d’un point spécifique sans créer de fichier.
  • Écriture + Création : ce mode permet au client de reprendre un chargement en ajoutant à un fichier existant ou en créant un nouveau fichier s’il n’existe pas, ce qui offre une flexibilité lorsque le fichier n’est peut-être pas présent initialement.
  • Ajout : ce mode ajoute des données à la fin d’un fichier existant sans remplacer son contenu actuel. Auparavant, cette fonctionnalité ne supportait que le mode ajout pendant l’aperçu, ce qui limitait la reprise de l’envoi avec les clients SFTP qui ne prenaient pas en charge le mode ajoutant. Avec la disponibilité générale, Stockage Blob Azure SFTP prend désormais en charge les modes écriture et écriture + création, ce qui profite aux utilisateurs utilisant des clients SFTP sans mode annexe.

Remarque

Le chargement pouvant être repris est pris en charge uniquement pour les objets blob créés avec le protocole SFTP. Vous ne pouvez pas reprendre un chargement pour les objets blob existants qui ont été créés avec un protocole autre que SFTP, tel que REST.

Modifier l'ACL d'un fichier ou d'un répertoire

Vous pouvez modifier le niveau d'autorisation de l'utilisateur propriétaire, du groupe propriétaire et de tous les autres utilisateurs d'une ACL à l'aide d'un client SFTP. Vous pouvez également modifier l’utilisateur propriétaire et le groupe propriétaire. Pour en savoir plus sur la prise en charge des ACL par les clients SFTP, consultez ACLs.

Remarque

Les utilisateurs propriétaires peuvent désormais également modifier le groupe propriétaire et les autorisations d’un objet blob ou d’un répertoire sans autorisations de conteneur. Cette amélioration de fonctionnalité a été ajoutée pendant la phase de disponibilité générale des ACL pour les utilisateurs locaux. Pour tout utilisateur qui n’est pas propriétaire, les permissions de conteneur restent nécessaires.

Modifier les autorisations

Pour modifier le niveau d'autorisation de l'utilisateur propriétaire, du groupe propriétaire ou de tous les autres utilisateurs d'une ACL, l'utilisateur local doit disposer de l'autorisation Modify Permission. Consultez Accorder l’autorisation aux conteneurs.

L'exemple suivant imprime l'ACL d'un répertoire sur la console. Il utilise ensuite la chmod commande pour définir l’ACL à 777. Chaque 7 est la forme numérique de rwx (lecture, écriture et exécution). Par conséquent, 777 donne l’autorisation de lecture, d’écriture et d’exécution à l’utilisateur propriétaire, au groupe propriétaire et à tous les autres utilisateurs. Cet exemple imprime ensuite l'ACL mise à jour sur la console. Pour en savoir plus sur les formes numériques et courtes d'une ACL, consultez Formes courtes pour les autorisations ..

sftp> ls -l
drwxr-x---     1234     5678                0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chmod 777 dir1
Changing mode on /dir1
sftp> ls -l
drwxrwxrwx     1234     5678                0 Mon, 08 Jan 2024 16:54:06 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2

Remarque

L’ajout ou la modification des entrées ACL pour les utilisateurs nommés, les groupes nommés et les principes de sécurité nommés n’est pas encore prise en charge.

Modifier l’utilisateur propriétaire

Pour modifier l’utilisateur propriétaire d’un répertoire ou d’un objet blob, l’utilisateur local doit avoir Modify Ownership autorisation. Consultez Accorder l’autorisation aux conteneurs.

L'exemple suivant imprime l'ACL d'un répertoire sur la console. L’ID de l’utilisateur propriétaire est 0. Cet exemple utilise la commande chown pour définir l’ID de l’utilisateur propriétaire sur 1234 et imprime la modification dans la console.

sftp> ls -l
drwxr-x---        0        0                0 Mon, 08 Jan 2024 16:00:12 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chown 1234 dir1
Changing owner on /dir1
sftp> ls -l
drwxr-x---     1234        0                0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp>

Modifier le groupe propriétaire

Pour modifier le groupe propriétaire d’un répertoire ou d’un objet blob, l’utilisateur local doit disposer d’une autorisation Modify Ownership. Consultez Accorder l’autorisation aux conteneurs.

L'exemple suivant imprime l'ACL d'un répertoire sur la console. L’ID du groupe propriétaire est 0. Cet exemple utilise la commande chgrp pour définir l’ID du groupe propriétaire sur 5678 et imprime la modification dans la console.

sftp> ls -l
drwxr-x---     1234        0                0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chgrp 5678 dir1
Changing group on /dir1
sftp> ls -l
drwxr-x---     1234     5678                0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x---        0        0                0 Mon, 16 Oct 2023 12:18:08 GMT dir2