Dela via


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 exemplet ovan storage_account_name är "contoso4" och username är "contosouser". Det kombinerade 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. Om du till exempel har konfigurerat den lokala användaren med lösenordsautentisering uppmanas du att ange lösenordet. Du kan också uppmanas att lita på en värdnyckel. Giltiga värdnycklar publiceras här.

Kommentar

SFTP fungerar via Blob Storage-slutpunkten (blob.core.windows.net) och INTE Data Lake Storage-slutpunkten (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

Om du vill ansluta till blobtjänstens slutpunkt med hjälp av en anpassad domän, är anslutningssträngen myaccount.myuser@customdomain.com. Om startkatalogen inte är specificerad för användaren är anslutningssträngen myaccount.mycontainer.myuser@customdomain.com.

Viktigt!

Kontrollera att DNS-providern inte proxybegäranden eftersom detta kan leda till att anslutningsförsöket överskrider tidsgränsen.

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

Om du vill ansluta till blobtjänstens slutpunkt med hjälp av en privat slutpunkt är anslutningssträngen myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Om hemkatalogen inte har angetts för användaren är den 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 slutpunkt. Annars är blobtjänstens slutpunkt fortfarande offentligt tillgänglig.

Ansluta med internetroutning

Om du vill ansluta till blobtjänstens slutpunkt med internetroutning, är anslutningssträngen myaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Om hemkatalogen inte har angetts för användaren är den 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. Med den här funktionen kan användare återuppta filuppladdningar från felpunkten i händelse av partiella överföringsfel, vilket sparar tid och minskar användningen av nätverksbandbredd. De SFTP-överföringslägen som Stöds av Azure Blob Storage SFTP finns nedan.

  • 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 den här funktionen endast tilläggsläge i offentlig förhandsversion, vilket begränsade återupptagandet av uppladdning med SFTP-klienter som saknade stöd för tilläggsläge. Med den allmänna tillgänglighetens intåg stöder vi nu skriv- och skriv + skapa-lägen, vilket gynnar användare som använder SFTP-klienter utan möjlighet till tilläggslä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. Det här är en ny funktionsförbättring som lagts till under fasen Allmän tillgänglighet för ACL:er för lokala användare. För alla användare som inte är ägande användaren 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. Sedan använder den chmod kommandot för att ange 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

Det finns ännu inte stöd för att lägga till eller ändra ACL-poster för namngivna användare, namngivna grupper och namngivna säkerhetsobjekt.

Ä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