Connessione a Archiviazione BLOB di Azure usando SSH File Transfer Protocol (SFTP)

È possibile connettersi in modo sicuro all'endpoint Archiviazione BLOB di un account Archiviazione di Azure usando un client SFTP e quindi caricare e scaricare i file. Questo articolo illustra come abilitare SFTP e quindi connettersi al BLOB Archiviazione usando un client SFTP.

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

Prerequisiti

  • Un account di archiviazione BLOB in blocchi Standard v2 o Premium. È anche possibile abilitare SFTP durante la creazione dell'account. Per altre informazioni su questi tipi di account di archiviazione, vedere Archiviazione panoramica dell'account.

  • La funzionalità dello spazio dei nomi gerarchico dell'account deve essere abilitata. Per abilitare la funzionalità dello spazio dei nomi gerarchico, vedere Aggiornare Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Archiviazione Gen2.

  • Se ci si connette da una rete locale, assicurarsi che il client consenta la comunicazione in uscita tramite la porta 22 usata da SFTP.

Abilitare il supporto SFTP

Questa sezione illustra come abilitare il supporto SFTP per un account di archiviazione esistente. Per visualizzare un modello di Azure Resource Manager che abilita il supporto SFTP come parte della creazione dell'account, vedere Creare un account Archiviazione di Azure e un contenitore BLOB accessibile usando il protocollo SFTP in Azure. Per visualizzare le API REST dell'utente locale e i riferimenti .NET, vedere Utenti locali e classe LocalUser.

  1. Nel portale di Azure passare all'account di archiviazione.

  2. In Impostazioni selezionare SFTP.

    Nota

    Questa opzione viene visualizzata solo se la funzionalità dello spazio dei nomi gerarchico dell'account è stata abilitata. Per abilitare la funzionalità dello spazio dei nomi gerarchico, vedere Aggiornare Archiviazione BLOB di Azure con le funzionalità di Azure Data Lake Archiviazione Gen2.

  3. Selezionare Abilita SFTP.

    Enable SFTP button

    Nota

    Se nella pagina di configurazione SFTP non vengono visualizzati utenti locali, è necessario aggiungerne almeno uno. Per aggiungere utenti locali, vedere la sezione successiva.

Disabilitare il supporto SFTP

Questa sezione illustra come disabilitare il supporto SFTP per un account di archiviazione esistente. Poiché il supporto SFTP comporta un costo orario, è consigliabile disabilitare il supporto SFTP quando i client non usano attivamente SFTP per trasferire i dati.

  1. Nel portale di Azure passare all'account di archiviazione.

  2. In Impostazioni selezionare SFTP.

  3. Selezionare Disabilita SFTP.

    Screenshot of the disable SFTP button.

Configura autorizzazioni

Archiviazione di Azure non supporta la firma di accesso condiviso (SAS) o l'autenticazione di Microsoft Entra per l'accesso all'endpoint SFTP. È invece necessario usare un'identità denominata utente locale che può essere protetta con una password generata da Azure o una coppia di chiavi SSH (Secure Shell). Per concedere l'accesso a un client di connessione, l'account di archiviazione deve avere un'identità associata alla password o alla coppia di chiavi. Tale identità è denominata utente locale.

In questa sezione si apprenderà come creare un utente locale, scegliere un metodo di autenticazione e assegnare le autorizzazioni per l'utente locale.

Per altre informazioni sul modello di autorizzazioni SFTP, vedere Modello di autorizzazioni SFTP.

Suggerimento

Questa sezione illustra come configurare gli utenti locali per un account di archiviazione esistente. Per visualizzare un modello di Azure Resource Manager che configura un utente locale come parte della creazione di un account, vedere Creare un account Archiviazione di Azure e un contenitore BLOB accessibile usando il protocollo SFTP in Azure.

  1. Nel portale di Azure passare all'account di archiviazione.

  2. In Impostazioni selezionare SFTP e quindi aggiungi utente locale.

    Add local users button

  3. Nel riquadro Aggiungi configurazione utente locale aggiungere il nome di un utente e quindi selezionare i metodi di autenticazione da associare all'utente locale. È possibile associare una password e/o una chiave SSH.

    Importante

    Sebbene sia possibile abilitare entrambe le forme di autenticazione, i client SFTP possono connettersi usando solo uno di essi. L'autenticazione a più fattori, in cui non è supportata sia una password valida che una coppia di chiavi pubblica e privata valida per l'autenticazione corretta.

    Se si seleziona Password SSH, la password verrà visualizzata al termine di tutti i passaggi nel riquadro Aggiungi configurazione utente locale. Le password SSH vengono generate da Azure e hanno una lunghezza minima di 32 caratteri.

    Se si seleziona Coppia di chiavi SSH, selezionare Origine chiave pubblica per specificare un'origine chiave.

    Local user configuration pane

    La tabella seguente descrive ogni opzione di origine chiave:

    Opzione Indicazioni
    Generare una nuova coppia di chiavi Usare questa opzione per creare una nuova coppia di chiavi pubblica/privata. La chiave pubblica viene archiviata in Azure con il nome della chiave specificato. La chiave privata può essere scaricata dopo che l'utente locale è stato aggiunto correttamente.
    Usare la chiave esistente archiviata in Azure Usare questa opzione se si vuole usare una chiave pubblica già archiviata in Azure. Per trovare chiavi esistenti in Azure, vedere Elencare le chiavi. Quando i client SFTP si connettono a Archiviazione BLOB di Azure, questi client devono fornire la chiave privata associata a questa chiave pubblica.
    Usa chiave pubblica esistente Usare questa opzione se si vuole caricare una chiave pubblica archiviata all'esterno di Azure. Se non si ha una chiave pubblica, ma si vuole generare una chiave esterna ad Azure, vedere Generare chiavi con ssh-keygen.

    Nota

    L'opzione chiave pubblica esistente supporta attualmente solo le chiavi pubbliche formattate openSSH. La chiave specificata deve seguire questo formato: <key type> <key data>. Ad esempio, le chiavi RSA hanno un aspetto simile al seguente: ssh-rsa AAAAB3N.... Se la chiave è in un altro formato, è possibile usare uno strumento come ssh-keygen ad esempio per convertirlo in formato OpenSSH.

  4. Selezionare Avanti per aprire la scheda Autorizzazioni contenitore del riquadro di configurazione.

  5. Nella scheda Autorizzazioni contenitore selezionare i contenitori da rendere disponibili all'utente locale. Selezionare quindi i tipi di operazioni che si desidera consentire all'utente locale di eseguire.

    Container permissions tab

    Importante

    L'utente locale deve avere almeno un'autorizzazione contenitore per il contenitore a cui si connette; in caso contrario, il tentativo di connessione avrà esito negativo.

  6. Nella casella di modifica Home directory digitare il nome del contenitore o il percorso della directory (incluso il nome del contenitore) che sarà il percorso predefinito associato all'utente locale.

    Per altre informazioni sulla home directory, vedere Home directory.

  7. Selezionare il pulsante Aggiungi per aggiungere l'utente locale.

    Se è stata abilitata l'autenticazione password, la password generata da Azure viene visualizzata in una finestra di dialogo dopo l'aggiunta dell'utente locale.

    Importante

    Non sarà possibile recuperare questa password in un secondo momento, quindi assicurarsi di copiarla e archiviarla in una posizione in cui sia possibile trovarla.

    Se si sceglie di generare una nuova coppia di chiavi, verrà richiesto di scaricare la chiave privata della coppia di chiavi dopo l'aggiunta dell'utente locale.

    Nota

    Gli utenti locali hanno una sharedKey proprietà usata solo per l'autenticazione SMB.

Connessione un client SFTP

È possibile usare qualsiasi client SFTP per connettersi in modo sicuro e quindi trasferire i file. Lo screenshot seguente mostra una sessione di Windows PowerShell che usa l'autenticazione Open SSH e password per connettersi e quindi caricare un file denominato logfile.txt.

Connect with Open SSH

Nota

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 per il comando SFTP.

Nota

Potrebbe essere richiesto di considerare attendibile una chiave host. Le chiavi host valide vengono pubblicate qui.

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

Uploaded file appears in storage account

Nota

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

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

Connessione con un dominio personalizzato

Quando si usano domini personalizzati, la stringa di connessione è myaccount.myuser@customdomain.com. Se la home directory non è stata specificata per l'utente, è myaccount.mycontainer.myuser@customdomain.com.

Importante

Assicurarsi che il provider DNS non richieda proxy. Il proxy può causare il timeout del tentativo di connessione.

Connessione l'uso di un endpoint privato

Quando si usa un endpoint privato, il stringa di connessione è myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Se la home directory non è stata 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 selezionare l'endpoint privato. In caso contrario, l'endpoint SFTP normale sarà comunque accessibile pubblicamente.

Considerazioni sulla rete

SFTP è un servizio a livello di piattaforma, quindi la porta 22 verrà aperta anche se l'opzione dell'account è disabilitata. Se l'accesso SFTP non è configurato, tutte le richieste riceveranno una disconnessione dal servizio. Quando si usa SFTP, è possibile limitare l'accesso pubblico tramite la configurazione di un firewall, di una rete virtuale o di un endpoint privato. Queste impostazioni vengono applicate a livello di applicazione, il che significa che non sono specifiche di SFTP e influiranno sulla connettività a tutti gli endpoint Archiviazione di Azure. Per altre informazioni su firewall e configurazione di rete, vedere Configurare Archiviazione di Azure firewall e reti virtuali.

Nota

Gli strumenti di controllo che tentano di determinare il supporto TLS a livello di protocollo possono restituire versioni TLS oltre alla versione minima richiesta quando vengono eseguiti direttamente sull'endpoint dell'account di archiviazione. Per altre informazioni, vedere Applicare una versione minima richiesta di Transport Layer Security (TLS) per le richieste a un account di archiviazione.

Vedi anche