Udostępnianie obiektu za pomocą tymczasowego adresu
Wprowadzenie
OpenStack Swift umożliwia przechowywanie dużej liczby plików. Aby zarządzać plikami, zaloguj się za pomocą tokena oddzielnie dla każdego zapytania wysyłanego do API. W ten sposób potwierdzisz Twoje uwierzytelnienia w OpenStack Swift w trybie odczytu i zapisu. Token pochodzi z systemu uwierzytelniania i używa Twojego loginu i hasła.
Jeśli chcesz współdzielić plik z innym użytkownikiem, ze zrozumiałych względów nie chcesz dzielić się danymi do logowania. Skorzystaj zatem z tymczasowych plików (tempurl).
Dowiedz się, jak udostępnić obiekt za pomocą tymczasowego adresu.
Wymagania początkowe
- Przygotowanie środowiska do korzystania z API OpenStack.
- Pobranie zmiennych środowiskowych OpenStack.
- Python zainstalowany na stacji roboczej.
W praktyce
Zasada działania
Adres tymczasowy (tempurl) jest funkcją, która umożliwia kontrolowanie plików, które chcesz współdzielić. Wykorzystywane są do tego następujące elementy:
- adres punktu dostępu, np. https://storage.sbg1.cloud.ovh.net;
- ścieżka do obiektu zawierającego Twój projekt, kontener i nazwę obiektu, np.
v1/AUTH_tenant/default/file; - parametr tempurlsign, który został wygenerowany zgodnie z kluczem, metodą HTTP, ścieżką do pliku i datą wygaśnięcia;
- parametr url_expires, który odpowiada dacie wygaśnięcia Twojego tymczasowego adresu.
Generowanie tymczasowego adresu (tempurl)
1. Generowanie klucza
W pierwszym kroku wygeneruj klucz. Będzie on ważny dla wszystkich plików Twojego projektu. Wystarczy zatem tylko raz wygenerować klucz dla wszystkich Twoich tymczasowych adresów.
Zalecamy wybór długiego, bezpiecznego klucza, zawierającego co najmniej 20 znaków. Pamiętaj, że w dowolnym momencie możesz wygenerować nowy klucz.
W celu wygenerowania klucza możesz użyć jednej z dostępnych metod, takich jak wiersze poleceń sha512sum lub sha256sum. Zalecamy użycie metody najlepiej dostosowanej do Twojej sytuacji i zgodnie z poziomem szyfrowania, który chcesz zastosować. Na przykład, od najmniej do najbardziej skutecznego szyfrowania:
- date +%s | sha512sum
- date +%s | sha256sum
- date +%s | md5sum
Po wygenerowania klucza możesz go skonfigurować w Twoim projekcie za pomocą klienta Swift. Pamiętaj, aby zastąpić ciąg “12345” Twoim kluczem:
Lub przy użyciu curl:
Pełna nazwa nagłówka to X-Account-Meta-Temp-Url-Key, ale klient Swift używa Temp-Url-Key, ponieważ automatycznie dodaje X-Account-Meta.
Kiedy klucz jest już skonfigurowany na koncie, sprawdź, czy nagłówek został poprawnie zastosowany przy użyciu klienta Swift za pomocą następującego wiersza poleceń:
Lub za pomocą curl:
2. Generowanie URL
Następujące zadania mogą być wykonywane offline. Poniżej pokazujemy, jak wygenerować tymczasowy adres URL za pomocą wiersza poleceń. Spersonalizuj go, używając Twoich danych.
Na przykład dla poniższych elementów:
- GET: metoda HTTP.
- 60: link dostępny przez 60 sekund (możesz dopasować tę wartość do Twoich potrzeb).
- /v1/AUTH_tenant/default/file: ścieżka do Twojego pliku. Na tym etapie procedury nie jest konieczne dodawanie punktu dostępowego.
- 12345: zastąp Twoim kluczem.
W polu AUTH_tenant zastąp tenant swoim OS_TENANT_ID lub OS_TENANT_NAME.
Otrzymasz tempURL, który umożliwia wyświetlenie ścieżki do pliku, podpisu i daty ważności, jak wyjaśniono powyżej.
Aby URL działał poprawnie, dodaj adres punktu dostępowego przed tempURL:
Powyższy przykład pokazuje, że adres tymczasowy pozwala pobrać plik file do domyślnego kontenera w ciągu 60 sekund, bez uwierzytelniania. Po upływie 60 sekund URL już nie zadziała.
Zaawansowani użytkownicy, którzy chcą generować tymczasowe adresy bez skryptu swift-temp-url, mogą uzyskać więcej informacji bezpośrednio w oficjalnej dokumentacji OpenStack.
Sprawdź również
Przyłącz się do społeczności naszych użytkowników na stronie https://community.ovh.com/en/.