Połączenie do usługi Azure Blob Storage przy użyciu protokołu SSH File Transfer Protocol (SFTP)
W tym artykule pokazano, jak bezpiecznie nawiązać połączenie z punktem końcowym usługi Blob Storage konta usługi Azure Storage przy użyciu klienta SFTP. Po nawiązaniu połączenia można przekazywać i pobierać pliki, a także modyfikować listy kontroli dostępu (ACL) w plikach i folderach.
Aby dowiedzieć się więcej o obsłudze protokołu SFTP dla usługi Azure Blob Storage, zobacz Protokół SSH File Transfer Protocol (SFTP) w usłudze Azure Blob Storage.
Wymagania wstępne
Włącz obsługę protokołu SFTP dla usługi Azure Blob Storage. Zobacz Włączanie lub wyłączanie obsługi sfTP.
Autoryzowanie dostępu do klientów SFTP. Zobacz Autoryzowanie dostępu do klientów.
Jeśli łączysz się z sieci lokalnej, upewnij się, że klient zezwala na komunikację wychodzącą za pośrednictwem portu 22 używanego przez protokół SFTP.
Połączenie klienta SFTP
Aby bezpiecznie nawiązać połączenie, a następnie przesłać pliki, możesz użyć dowolnego klienta SFTP. W poniższym przykładzie pokazano sesję programu Windows PowerShell korzystającą z protokołu Open SSH.
PS C:\Users\temp> sftp contoso4.contosouser@contoso4.blob.core.windows.net
Nazwa użytkownika SFTP to storage_account_name
.username
. W powyższym przykładzie storage_account_name
wartość to "contoso4", a element username
to "contosouser". Połączona nazwa użytkownika staje się "contoso4.contosouser". Punkt końcowy usługi blob to "contoso4.blob.core.windows.net".
Aby ukończyć połączenie, może być konieczne odpowiadanie na co najmniej jeden monit. Jeśli na przykład skonfigurowano użytkownika lokalnego z uwierzytelnianiem haseł, zostanie wyświetlony monit o wprowadzenie tego hasła. Może zostać również wyświetlony monit o zaufanie do klucza hosta. Prawidłowe klucze hosta są publikowane tutaj.
Połączenie przy użyciu domeny niestandardowej
Jeśli chcesz nawiązać połączenie z punktem końcowym usługi obiektów blob przy użyciu domeny niestandardowej, parametry połączenia to myaccount.myuser@customdomain.com
. Jeśli katalog główny nie jest określony dla użytkownika, parametry połączenia to myaccount.mycontainer.myuser@customdomain.com
.
Ważne
Upewnij się, że dostawca DNS nie żąda żądań serwera proxy, ponieważ może to spowodować przekroczenie limitu czasu połączenia.
Aby dowiedzieć się, jak zamapować domenę niestandardową na punkt końcowy usługi blob, zobacz Mapowanie domeny niestandardowej na punkt końcowy usługi Azure Blob Storage.
Połączenie przy użyciu prywatnego punktu końcowego
Jeśli chcesz nawiązać połączenie z punktem końcowym usługi obiektów blob przy użyciu prywatnego punktu końcowego, parametry połączenia to myaccount.myuser@myaccount.privatelink.blob.core.windows.net
. Jeśli katalog macierzystowy nie jest określony dla użytkownika, jest myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net
to .
Uwaga
Upewnij się, że zmieniono konfigurację sieci na "Włączone z wybranych sieci wirtualnych i adresów IP", a następnie wybierz prywatny punkt końcowy. W przeciwnym razie punkt końcowy usługi blob będzie nadal publicznie dostępny.
Połączenie przy użyciu routingu internetowego
Jeśli chcesz nawiązać połączenie z punktem końcowym usługi blob przy użyciu routingu internetowego, parametry połączenia to myaccount.myuser@myaccount-internetrouting.blob.core.windows.net
. Jeśli katalog macierzystowy nie jest określony dla użytkownika, jest myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net
to .
Transfer danych
Po nawiązaniu połączenia możesz przekazywać i pobierać pliki. Poniższy przykład przekazuje plik o nazwie logfile.txt
przy użyciu aktywnej sesji Open SSH.
sftp> put logfile.txt
Uploading logfile.txt to /mydirectory/logfile.txt
logfile.txt
100% 19 0.2kb/S 00.00
Po zakończeniu transferu możesz wyświetlić plik i zarządzać nim w witrynie Azure Portal.
Uwaga
Witryna Azure Portal używa interfejsu API REST obiektów blob i interfejsu API REST usługi Data Lake Storage Gen2. Możliwość interakcji z przekazanym plikiem w witrynie Azure Portal pokazuje współdziałanie między sfTP i REST.
Zapoznaj się z dokumentacją klienta SFTP, aby uzyskać wskazówki dotyczące nawiązywania połączeń i transferowania plików.
Modyfikowanie listy ACL pliku lub katalogu
Możesz zmodyfikować poziom uprawnień użytkownika, właściciela grupy i wszystkich innych użytkowników listy ACL przy użyciu klienta SFTP. Możesz również zmienić identyfikator użytkownika będącego właścicielem i grupę będącą właścicielem. Aby dowiedzieć się więcej na temat obsługi listy ACL dla klientów SFTP, zobacz Listy ACL.
Modyfikuj uprawnienia
Aby zmienić poziom uprawnień użytkownika, właściciela grupy lub wszystkich innych użytkowników listy ACL, użytkownik lokalny musi mieć Modify Permission
uprawnienia. Zobacz Przyznawanie uprawnień do kontenerów.
W poniższym przykładzie lista ACL katalogu jest drukowana w konsoli programu . Następnie użyj polecenia chmod
, aby ustawić listę ACL na 777
. Każda 7
z nich jest postacią liczbową rwx
(odczyt, zapis i wykonywanie). Daje więc 777
uprawnienia do odczytu, zapisu i wykonywania dla użytkownika, właściciela grupy i wszystkich innych użytkowników. W tym przykładzie zaktualizowano listę ACL do konsoli. Aby dowiedzieć się więcej na temat liczbowych i krótkich formularzy listy ACL, zobacz Krótkie formularze dotyczące uprawnień.
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
Uwaga
Dodawanie lub modyfikowanie wpisów listy ACL dla nazwanych użytkowników, nazwanych grup i nazwanych podmiotów zabezpieczeń nie jest jeszcze obsługiwane.
Zmienianie użytkownika będącego właścicielem
Aby zmienić użytkownika właściciela katalogu lub obiektu blob, użytkownik lokalny musi mieć Modify Ownership
uprawnienia. Zobacz Przyznawanie uprawnień do kontenerów.
W poniższym przykładzie lista ACL katalogu jest drukowana w konsoli programu . Identyfikator użytkownika, który jest właścicielem, to 0
. W tym przykładzie chown
użyto polecenia , aby ustawić identyfikator użytkownika 1234
będącego właścicielem i wyświetli zmianę w konsoli.
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>
Zmienianie grupy właścicieli
Aby zmienić grupę będącą właścicielem katalogu lub obiektu blob, użytkownik lokalny musi mieć Modify Ownership
uprawnienia. Zobacz Przyznawanie uprawnień do kontenerów.
W poniższym przykładzie lista ACL katalogu jest drukowana w konsoli programu . Identyfikator grupy właścicieli to 0
. W tym przykładzie chgrp
użyto polecenia , aby ustawić identyfikator grupy 5678
właścicieli na i wyświetlić zmianę w konsoli.
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
Powiązana zawartość
- Obsługa protokołu SSH File Transfer Protocol (SFTP) dla usługi Azure Blob Storage
- Włączanie lub wyłączanie obsługi protokołu SSH File Transfer Protocol (SFTP) w usłudze Azure Blob Storage
- Autoryzowanie dostępu do usługi Azure Blob Storage z poziomu klienta protokołu SSH File Transfer Protocol (SFTP)
- Ograniczenia i znane problemy z obsługą protokołu SSH File Transfer Protocol (SFTP) dla usługi Azure Blob Storage
- Obsługa kluczy hosta dla protokołu SSH File Transfer Protocol (SFTP) dla usługi Azure Blob Storage
- Zagadnienia dotyczące wydajności protokołu SSH File Transfer Protocol (SFTP) w usłudze Azure Blob Storage