Connettersi ad Archiviazione BLOB di Azure usando il protocollo SSH File Transfer Protocol (SFTP)

Questo articolo illustra come connettersi in modo sicuro all'endpoint di archiviazione BLOB di un account Archiviazione di Azure usando un client SFTP. Dopo la connessione, è possibile caricare e scaricare file, nonché modificare gli elenchi di controllo di accesso (ACL) nei file e nelle cartelle.

Per altre informazioni sul supporto SFTP per Archiviazione BLOB di Azure, vedere SSH File Transfer Protocol (SFTP) in Archiviazione BLOB di Azure.

Prerequisiti

Connettere un client SFTP

È possibile usare qualsiasi client SFTP per connettersi in modo sicuro e quindi trasferire i file. L'esempio seguente illustra una sessione di Windows PowerShell che usa Open SSH.

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

Il nome utente SFTP è storage_account_name.username. Nell'esempio precedente storage_account_name è "contoso4" e è username "contosouser". Il nome utente combinato diventa "contoso4.contosouser". L'endpoint del servizio BLOB è "contoso4.blob.core.windows.net".

Per completare la connessione, potrebbe essere necessario rispondere a una o più richieste. Ad esempio, se l'utente locale è stato configurato con l'autenticazione della password, viene richiesto di immettere tale password. Potrebbe anche essere richiesto di considerare attendibile una chiave host. Le chiavi host valide vengono pubblicate qui.

Connettersi usando un dominio personalizzato

Se si vuole connettersi all'endpoint del servizio BLOB usando un dominio personalizzato, il stringa di connessione è myaccount.myuser@customdomain.com. Se la home directory non è specificata per l'utente, il stringa di connessione è myaccount.mycontainer.myuser@customdomain.com.

Importante

Assicurarsi che il provider DNS non richieda richieste proxy perché questo potrebbe causare il timeout del tentativo di connessione.

Per informazioni su come eseguire il mapping di un dominio personalizzato a un endpoint del servizio BLOB, vedere Eseguire il mapping di un dominio personalizzato a un endpoint Archiviazione BLOB di Azure.

Connettersi usando un endpoint privato

Se si vuole connettersi all'endpoint del servizio BLOB usando un endpoint privato, il stringa di connessione è myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Se la home directory non è specificata per l'utente, è myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.

Nota

Assicurarsi di modificare la configurazione di rete in "Abilitato da reti virtuali e indirizzi IP selezionati" e quindi selezionare l'endpoint privato. In caso contrario, l'endpoint del servizio BLOB sarà comunque accessibile pubblicamente.

Connettersi con il routing Internet

Se si vuole connettersi all'endpoint del servizio BLOB usando il routing Internet, il stringa di connessione è myaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Se la home directory non è specificata per l'utente, è myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net.

Trasferire i dati

Dopo la connessione, è possibile caricare e scaricare file. L'esempio seguente carica un file denominato logfile.txt usando una sessione OPEN SSH attiva.

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

Al termine del trasferimento, è possibile visualizzare e gestire il file nel portale di Azure.

Screenshot del file caricato visualizzato nell'account di archiviazione.

Nota

Il portale di Azure usa l'API REST BLOB e l'API REST di Data Lake Storage. La possibilità di interagire con un file caricato nel portale di Azure dimostra l'interoperabilità tra SFTP e REST.

Per indicazioni su come connettersi e trasferire file, vedere la documentazione del client SFTP.

Modificare l'ACL di un file o di una directory

È possibile modificare il livello di autorizzazione dell'utente proprietario, del gruppo proprietario e di tutti gli altri utenti di un ACL usando un client SFTP. È anche possibile modificare l'ID dell'utente proprietario e del gruppo proprietario. Per altre informazioni sul supporto ACL per i client SFTP, vedere ACL.

Modify permissions

Per modificare il livello di autorizzazione dell'utente proprietario, del gruppo proprietario o di tutti gli altri utenti di un elenco di controllo di accesso, l'utente locale deve disporre Modify Permission dell'autorizzazione. Vedere Concedere l'autorizzazione ai contenitori.

Nell'esempio seguente viene stampato l'elenco di controllo di accesso di una directory nella console di . Usa quindi il chmod comando per impostare l'ACL su 777. Ogni 7 è la forma numerica di rwx (lettura, scrittura ed esecuzione). Concede quindi 777 l'autorizzazione di lettura, scrittura ed esecuzione per l'utente proprietario, il gruppo proprietario e tutti gli altri utenti. In questo esempio viene quindi stampato l'ACL aggiornato nella console. Per altre informazioni sui formati numerici e brevi di un elenco di controllo di accesso, vedere Moduli brevi per le autorizzazioni.

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

Nota

L'aggiunta o la modifica di voci ACL per utenti denominati, gruppi denominati e entità di sicurezza denominate non sono ancora supportate.

Modificare l'utente proprietario

Per modificare l'utente proprietario di una directory o di un BLOB, l'utente locale deve disporre Modify Ownership dell'autorizzazione. Vedere Concedere l'autorizzazione ai contenitori.

Nell'esempio seguente viene stampato l'elenco di controllo di accesso di una directory nella console di . L'ID dell'utente proprietario è 0. Questo esempio usa il chown comando per impostare l'ID dell'utente 1234 proprietario su e stampa la modifica nella 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>

Modificare il gruppo proprietario

Per modificare il gruppo proprietario di una directory o di un BLOB, l'utente locale deve disporre Modify Ownership dell'autorizzazione. Vedere Concedere l'autorizzazione ai contenitori.

Nell'esempio seguente viene stampato l'elenco di controllo di accesso di una directory nella console di . L'ID del gruppo proprietario è 0. Questo esempio usa il chgrp comando per impostare l'ID del gruppo 5678 proprietario su e stampa la modifica nella 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