Delen via


Verbinding maken met Azure Blob Storage met behulp van het SSH File Transfer Protocol (SFTP)

In dit artikel leest u hoe u veilig verbinding maakt met het Blob Storage-eindpunt van een Azure Storage-account met behulp van een SFTP-client. Nadat u verbinding hebt gemaakt, kunt u vervolgens bestanden uploaden en downloaden en toegangsbeheerlijsten (ACL's) wijzigen in bestanden en mappen.

Zie SSH File Transfer Protocol (SFTP) in Azure Blob Storage voor meer informatie over SFTP-ondersteuning voor Azure Blob Storage.

Vereisten

  • Schakel SFTP-ondersteuning in voor Azure Blob Storage. Zie SFTP-ondersteuning in- of uitschakelen.

  • Toegang verlenen tot SFTP-clients. Zie Toegang tot clients autoriseren.

  • Als u verbinding maakt vanuit een on-premises netwerk, moet u ervoor zorgen dat uw client uitgaande communicatie toestaat via poort 22 die wordt gebruikt door SFTP.

Verbinding maken met een SFTP-client

U kunt elke SFTP-client gebruiken om veilig verbinding te maken en vervolgens bestanden over te dragen. In het volgende voorbeeld ziet u een Windows PowerShell-sessie die gebruikmaakt van Open SSH.

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

De SFTP-gebruikersnaam is storage_account_name.username. In het bovenstaande storage_account_name voorbeeld is 'contoso4' en ' username contosouser'. De gecombineerde gebruikersnaam wordt 'contoso4.contosouser'. Het blob-service-eindpunt is 'contoso4.blob.core.windows.net'.

Als u de verbinding wilt voltooien, moet u mogelijk reageren op een of meer prompts. Als u bijvoorbeeld de lokale gebruiker hebt geconfigureerd met wachtwoordverificatie, wordt u gevraagd dat wachtwoord in te voeren. Mogelijk wordt u ook gevraagd om een hostsleutel te vertrouwen. Geldige hostsleutels worden hier gepubliceerd.

Verbinding maken met behulp van een aangepast domein

Als u verbinding wilt maken met het blob-service-eindpunt met behulp van een aangepast domein, is myaccount.myuser@customdomain.comde verbindingsreeks. Als de basismap niet is opgegeven voor de gebruiker, is myaccount.mycontainer.myuser@customdomain.comde verbindingsreeks .

Belangrijk

Zorg ervoor dat uw DNS-provider geen proxyaanvragen uitvoert, omdat dit ertoe kan leiden dat er een time-out optreedt voor de verbinding.

Zie Een aangepast domein toewijzen aan een Azure Blob Storage-eindpunt voor meer informatie over het toewijzen van een aangepast domein aan een Blob Storage-eindpunt.

Verbinding maken met een privé-eindpunt

Als u verbinding wilt maken met het blob-service-eindpunt met behulp van een privé-eindpunt, is myaccount.myuser@myaccount.privatelink.blob.core.windows.netde verbindingsreeks. Als de basismap niet is opgegeven voor de gebruiker, is myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.netdit .

Notitie

Zorg ervoor dat u de netwerkconfiguratie wijzigt in Ingeschakeld van geselecteerde virtuele netwerken en IP-adressen en selecteer vervolgens uw privé-eindpunt. Anders is het blob-service-eindpunt nog steeds openbaar toegankelijk.

Verbinding maken met behulp van internetroutering

Als u verbinding wilt maken met het blob-service-eindpunt met behulp van internetroutering, is myaccount.myuser@myaccount-internetrouting.blob.core.windows.netde verbindingsreeks. Als de basismap niet is opgegeven voor de gebruiker, is myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.netdit .

Gegevens overdragen

Nadat u verbinding hebt gemaakt, kunt u bestanden uploaden en downloaden. In het volgende voorbeeld wordt een bestand met de naam geüpload logfile.txt met behulp van een actieve Open SSH-sessie.

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

Nadat de overdracht is voltooid, kunt u het bestand bekijken en beheren in Azure Portal.

Schermopname van het geüploade bestand dat wordt weergegeven in het opslagaccount.

Notitie

Azure Portal maakt gebruik van de Blob REST API en Data Lake Storage REST API. Als u kunt communiceren met een geüpload bestand in Azure Portal, ziet u de interoperabiliteit tussen SFTP en REST.

Raadpleeg de documentatie van uw SFTP-client voor hulp bij het verbinden en overdragen van bestanden.

De ACL van een bestand of map wijzigen

U kunt het machtigingsniveau van de eigenaar van de gebruiker, de groep die eigenaar is en alle andere gebruikers van een ACL wijzigen met behulp van een SFTP-client. U kunt ook de id van de gebruiker die eigenaar is en de groep die eigenaar is, wijzigen. Zie ACL's voor meer informatie over ACL-ondersteuning voor SFTP-clients.

Machtigingen wijzigen

Als u het machtigingsniveau van de eigenaar van de gebruiker, de groep die eigenaar is of alle andere gebruikers van een ACL wilt wijzigen, moet de lokale gebruiker machtigingen hebben Modify Permission . Zie Machtigingen verlenen aan containers.

In het volgende voorbeeld wordt de ACL van een map naar de console afgedrukt. Vervolgens wordt de chmod opdracht gebruikt om de ACL in te stellen op 777. Elk 7 is de numerieke vorm van rwx (lezen, schrijven en uitvoeren). Geeft dus 777 lees-, schrijf- en uitvoermachtigingen voor de eigenaar van de gebruiker, de groep die eigenaar is en alle andere gebruikers. In dit voorbeeld wordt de bijgewerkte ACL vervolgens afgedrukt naar de console. Zie Korte formulieren voor machtigingen voor meer informatie over numerieke en korte formulieren van een ACL.

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

Notitie

Het toevoegen of wijzigen van ACL-vermeldingen voor benoemde gebruikers, benoemde groepen en benoemde beveiligingsprinciplen wordt nog niet ondersteund.

De gebruiker die eigenaar is, wijzigen

Als u de eigenaar van een map of blob wilt wijzigen, moet de lokale gebruiker gemachtigd zijn Modify Ownership . Zie Machtigingen verlenen aan containers.

In het volgende voorbeeld wordt de ACL van een map naar de console afgedrukt. De id van de gebruiker die eigenaar is, is 0. In dit voorbeeld wordt de chown opdracht gebruikt om de id van de gebruiker 1234 die eigenaar is in te stellen en de wijziging af te drukken in de 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>

De groep die eigenaar is, wijzigen

Als u de groep die eigenaar is van een map of blob wilt wijzigen, moet de lokale gebruiker gemachtigd zijn Modify Ownership . Zie Machtigingen verlenen aan containers.

In het volgende voorbeeld wordt de ACL van een map naar de console afgedrukt. De id van de groep die eigenaar is 0. In dit voorbeeld wordt de chgrp opdracht gebruikt om de id van de groep 5678 die eigenaar is in te stellen en de wijziging af te drukken in de 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