Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Łą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 poprzednim przykładzie element storage_account_name to „contoso4”, a element username to „contosouser”. Połączona nazwa użytkownika ma postać „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. Na przykład, jeśli skonfigurowałeś lokalnego użytkownika z uwierzytelnianiem hasła, zostaniesz poproszony o wpisanie tego hasła. Może zostać również wyświetlony monit o zaufanie do klucza hosta. Prawidłowe klucze hosta są publikowane tutaj.
Uwaga
SFTP działa nad Blob Storage endpointem (blob.core.windows.net), a nie nad Data Lake Storage endpointem (dfs.core.windows.net). W związku z tym punkty końcowe usługi Data Lake Storage, takie jak contoso4.contosouser@contoso4.dfs.core.windows.net nie są obsługiwane.
Nawiązywanie połączenia przy użyciu domeny niestandardowej
Aby połączyć się z punktem końcowym usługi Blob przy użyciu domeny niestandardowej, użyj parametrów połączenia myaccount.myuser@customdomain.com. Jeśli nie określisz katalogu domowego dla użytkownika, użyj parametry połączenia myaccount.mycontainer.myuser@customdomain.com.
Ważne
Upewnij się, że Twój dostawca DNS nie wysyła żądań proxy, ponieważ taka akcja może spowodować wygaśnięcie czasu próby 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.
Nawiązywanie połączenia przy użyciu prywatnego punktu końcowego
Aby połączyć się z punktem końcowym usługi Blob przy użyciu prywatnego punktu końcowego, użyj parametrów połączenia myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Jeśli nie określisz katalogu domowego dla użytkownika, użyj myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.
Uwaga
Upewnij się, że zmieniasz konfigurację sieci na Włączoną dla wybranych sieci wirtualnych i adresów IP, a następnie wybierz swój prywatny punkt końcowy. W przeciwnym razie punkt końcowy usługi blob pozostaje publicznie dostępny.
Nawiązywanie połączenia przy użyciu routingu internetowego
Aby połączyć się z punktem końcowym usługi Blob za pomocą routingu internetowego, użyj parametrów połączenia myaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Jeśli nie określisz katalogu domowego dla użytkownika, użyj myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net.
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
Portal Azure korzysta z interfejsu API REST Blob oraz interfejsu API REST Data Lake Storage. Możliwość interakcji z przesłanym plikiem w Portalu Azure 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.
Wznów przesyłanie
Funkcja ponownego przekazywania dla usługi Azure Blob Storage SFTP jest teraz ogólnie dostępna. Ta funkcja pozwala wznowić przesyłanie plików od momentu awarii w przypadku częściowych awarii transferu, co oszczędza czas i zmniejsza zużycie przepustowości sieci. Azure Blob Storage SFTP obsługuje następujące tryby transferu SFTP:
- Zapis: ten tryb umożliwia klientowi kontynuowanie przekazywania przez dodanie danych do istniejącego pliku z określonego punktu bez tworzenia nowego pliku.
- Pisanie i tworzenie: ten tryb umożliwia klientowi wznowienie przesyłania, dodając do istniejącego pliku lub tworząc nowy, jeśli nie istnieje, zapewniając elastyczność, gdy plik nie jest początkowo obecny.
- Dołączanie: ten tryb dodaje dane na końcu istniejącego pliku bez zastępowania bieżącej zawartości. Wcześniej ta funkcja obsługiwała w wersji zapoznawczej tylko tryb dołączania, co ograniczało możliwość wznawiania przesyłania w klientach SFTP, które nie obsługują trybu dołączania. Wraz z wprowadzeniem do ogólnej dostępności usługa Azure Blob Storage SFTP obsługuje teraz tryby write oraz write + create, co jest korzystne dla użytkowników korzystających z klientów SFTP bez trybu dołączania.
Uwaga
Wznawialne przesyłanie jest obsługiwane tylko w przypadku obiektów blob utworzonych przy użyciu protokołu SFTP. Nie można wznowić przekazywania istniejących obiektów blob utworzonych przy użyciu protokołu innego niż SFTP, takiego jak REST.
Modyfikowanie listy ACL pliku lub katalogu
Możesz zmodyfikować poziom uprawnień właściciela użytkownika, grupy właściciela i wszystkich innych użytkowników listy kontroli dostępu za pomocą klienta SFTP. Możesz również zmienić użytkownika i grupę będącą właścicielem. Aby dowiedzieć się więcej na temat obsługi ACL dla klientów SFTP, zobacz ACLs.
Uwaga
Użytkownicy będący właścicielami mogą teraz również modyfikować właściciela grupy i uprawnienia obiektu blob lub katalogu bez posiadania uprawnień do kontenera. To ulepszenie zostało dodane podczas fazy ogólnej dostępności ACL dla użytkowników lokalnych. Dla każdego użytkownika, który nie jest właścicielem, uprawnienia kontenera nadal są wymagane.
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 Udostępnij uprawnienia dla kontenerów.
W poniższym przykładzie ACL katalogu jest wyświetlana na konsolę. Następnie używa polecenia, chmod aby ustawić ACL na .777 Każdy 7 jest formą liczbową rwx (czytanie, pisanie 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 zaktualizowana lista ACL jest wyświetlana na konsoli. Aby dowiedzieć się więcej na temat liczbowych i krótkich form ACL, zobacz Krótkie formy 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 ACL dla użytkowników o nazwie, grup o nazwie i nazwanych zasad bezpieczeństwa nie jest jeszcze obsługiwane.
Zmień użytkownika właściciela
Aby zmienić użytkownika będącego właścicielem katalogu lub obiektu blob, użytkownik lokalny musi mieć uprawnienia Modify Ownership. Zobacz Udostępnij uprawnienia dla kontenerów.
W poniższym przykładzie ACL katalogu jest wyświetlana na konsolę. Identyfikator właściciela to 0. W tym przykładzie polecenie chown używane jest do ustawienia identyfikatora użytkownika będącego właścicielem na 1234 oraz do wyświetlenia tej zmiany 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ścicielskiej
Aby zmienić grupę będącą właścicielem katalogu lub obiektu blob, użytkownik lokalny musi mieć Modify Ownership uprawnienia. Zobacz Udostępnij uprawnienia dla kontenerów.
W poniższym przykładzie ACL katalogu jest wyświetlana na konsolę. Identyfikator grupy właścicieli to 0. W tym przykładzie użyto polecenia chgrp, aby ustawić identyfikator grupy właściciela na 5678 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
- Włączenie kluczy hosta dla protokołu SSH File Transfer Protocol (SFTP) w usłudze Azure Blob Storage
- Zagadnienia dotyczące wydajności protokołu SSH File Transfer Protocol (SFTP) w usłudze Azure Blob Storage