Ansluta till Azure Blob Storage med SSH File Transfer Protocol (SFTP)

Den här artikeln visar hur du på ett säkert sätt ansluter till Blob Storage-slutpunkten för ett Azure Storage-konto med hjälp av en SFTP-klient. När du har anslutit kan du ladda upp och ladda ned filer samt ändra åtkomstkontrollistor (ACL) på filer och mappar.

Mer information om SFTP-stöd för Azure Blob Storage finns i SSH File Transfer Protocol (SFTP) i Azure Blob Storage.

Förutsättningar

Ansluta en SFTP-klient

Du kan använda valfri SFTP-klient för att ansluta och sedan överföra filer på ett säkert sätt. I följande exempel visas en Windows PowerShell-session som använder Open SSH.

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

SFTP-användarnamnet är storage_account_name.username. I föregående exempel är " storage_account_name contoso4" och " username contosouser." Det sammanslagna användarnamnet blir "contoso4.contosouser". Slutpunkten för blobtjänsten är "contoso4.blob.core.windows.net".

För att slutföra anslutningen kan du behöva svara på en eller flera frågor. Till exempel, om du konfigurerade den lokala användaren med lösenordsautentisering, blir du ombedd att ange det lösenordet. Du kan också uppmanas att lita på en värdnyckel. Giltiga värdnycklar publiceras här.

Kommentar

SFTP arbetar över den Blob Storage ändpunkten (blob.core.windows.net) och inte över den Data Lake Storage ändpunkten (dfs.core.windows.net). Därför stöds inte Data Lake Storage-slutpunkter som contoso4.contosouser@contoso4.dfs.core.windows.net t.ex.

Ansluta med en anpassad domän

För att ansluta till blob-tjänstens endpoint genom att använda en anpassad domän, använd reťazec pripojenia myaccount.myuser@customdomain.com. Om du inte anger hemkatalogen för användaren, använd reťazec pripojenia myaccount.mycontainer.myuser@customdomain.com.

Viktigt!

Se till att din DNS-leverantör inte proxy-förfrågningar, eftersom denna åtgärd kan göra att anslutningsförsöket går i timeout.

Information om hur du mappar en anpassad domän till en blobtjänstslutpunkt finns i Mappa en anpassad domän till en Azure Blob Storage-slutpunkt.

Ansluta med en privat slutpunkt

För att ansluta till blob-tjänstens slutpunkt genom att använda en privat slutpunkt, använd reťazec pripojenia myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Om du inte anger användarens hemkatalog, använd myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.

Kommentar

Se till att du ändrar nätverkskonfigurationen till Aktiverad från valda virtuella nätverk och IP-adresser, och välj sedan din privata endpoint. Annars förblir blob-tjänständpunkten offentligt tillgänglig.

Ansluta med internetroutning

För att ansluta till blob-tjänstens slutpunkt via internetroutning, använd reťazec pripojenia myaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Om du inte anger användarens hemkatalog, använd myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net.

Överföra data

När du har anslutit kan du ladda upp och ladda ned filer. I följande exempel laddas upp en fil med namnet logfile.txt med hjälp av en aktiv Open SSH-session.

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

När överföringen är klar kan du visa och hantera filen i Azure Portal.

Skärmbild av den uppladdade filen som visas i lagringskontot.

Kommentar

Azure Portal använder REST API:erna för Blob och Data Lake Storage. Att kunna interagera med en uppladdad fil i Azure Portal visar samverkan mellan SFTP och REST.

Mer information om hur du ansluter och överför filer finns i dokumentationen för SFTP-klienten.

Återuppta uppladdning

Den återupptabara uppladdningsfunktionen för Azure Blob Storage SFTP är nu allmänt tillgänglig. Denna funktion gör det möjligt att återuppta filuppladdningar från felpunkten vid partiella överföringsfel, vilket sparar tid och minskar nätverksbandbreddsanvändningen. Följande SFTP-överföringslägen stöds av Azure Blob Storage SFTP:

  • Skriv: Med det här läget kan klienten fortsätta ladda upp genom att lägga till data i en befintlig fil från en viss punkt utan att skapa en ny fil.
  • Skriv + skapa: Med det här läget kan klienten återuppta en uppladdning genom att antingen lägga till en befintlig fil eller skapa en ny om den inte finns, vilket ger flexibilitet när filen kanske inte finns från början.
  • Tillägg: Det här läget lägger till data i slutet av en befintlig fil utan att skriva över dess aktuella innehåll. Tidigare stödde denna funktion endast append-läge under förhandsvisning, vilket begränsade uppladdning med SFTP-klienter som saknade append-läge. Med allmän tillgänglighet stödjer Azure Blob Storage SFTP nu skriv- och skriv+skapa-lägen, vilket gynnar användare som använder SFTP-klienter utan append-läge.

Kommentar

Uppladdning som kan återupptas stöds endast för blobar som skapats med SFTP-protokollet. Du kan inte återuppta en uppladdning för befintliga blobar som har skapats med ett annat protokoll än SFTP, till exempel REST.

Ändra ACL för en fil eller katalog

Du kan ändra behörighetsnivån för den ägande användaren, ägande gruppen och alla andra användare av en ACL med hjälp av en SFTP-klient. Du kan också ändra ägande användare och ägande grupp. Mer information om ACL-stöd för SFTP-klienter finns i ACL:er.

Kommentar

Ägande användare kan nu också ändra ägande grupp och behörigheter för en blob eller katalog utan containerbehörigheter. Denna funktionsförbättring lades till under den allmänna tillgänglighetsfasen för ACL:er för lokala användare. För alla användare som inte är ägare krävs fortfarande containerbehörigheter.

Ändra behörigheter

Om du vill ändra behörighetsnivån för den ägande användaren, ägande gruppen eller alla andra användare av en ACL måste den lokala användaren ha Modify Permission behörighet. Se även Ge behörighet till containrar.

I följande exempel skrivs ACL:en för en katalog ut till konsolen. Den använder sedan kommandot chmod för att ställa in ACL till 777. Varje 7 är den numeriska formen av rwx (läsa, skriva och exekvera). Så 777 ger läs-, skriv- och körningsbehörighet till den ägande användaren, ägande gruppen och alla andra användare. Det här exemplet skriver sedan ut den uppdaterade ACL:en till konsolen. Mer information om numeriska och korta former av en ACL finns i Korta formulär för behörigheter.

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

Kommentar

Att lägga till eller ändra ACL-poster för namngivna användare, namngivna grupper och namngivna säkerhetsprinciper stöds ännu inte.

Ändra ägande användare

Om du vill ändra den ägande användaren av en katalog eller blob måste den lokala användaren ha Modify Ownership behörighet. Se även Ge behörighet till containrar.

I följande exempel skrivs ACL:en för en katalog ut till konsolen. ID:t för den ägande användaren är 0. I det här exemplet används chown-kommandot för att ange ID för den ägare användaren till 1234 och skriver ut ändringen till konsolen.

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>

Ändra ägande grupp

Om du vill ändra ägande grupp för en katalog eller blob måste den lokala användaren ha Modify Ownership behörighet. Se även Ge behörighet till containrar.

I följande exempel skrivs ACL:en för en katalog ut till konsolen. ID:t för den ägande gruppen är 0. I det här exemplet används chgrp-kommandot för att ställa in ID:t för den ägargruppen till 5678 och skriva ut ändringen till konsolen.

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