Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Jest to funkcja usługi Azure CDN Premium tylko z usługi Edgio , aby skonfigurować reguły w usłudze Azure CDN firmy Microsoft , użyj aparatu reguł standardowych. Zaawansowane reguły nie są dostępne dla usługi Azure CDN z usługi Akamai. Aby zapoznać się z pełnym porównaniem funkcji usługi CDN, zobacz Funkcje produktów Azure CDN.
Przegląd
Uwierzytelnianie tokenów to mechanizm, który umożliwia uniemożliwienie sieci dostarczania zawartości platformy Azure obsługi zasobów nieautoryzowanym klientom. Uwierzytelnianie tokenów jest zwykle wykonywane, aby zapobiec hotlinkowaniu treści, gdy inna witryna, taka jak forum internetowe, używa twoich zasobów bez zgody. Hotlinkowanie może mieć wpływ na koszty dostarczania treści. Po włączeniu uwierzytelniania tokenu w sieci dostarczania zawartości żądania są uwierzytelniane przez serwer brzegowy sieci dostarczania zawartości, zanim sieć dostarczania zawartości dostarczy zawartość.
Jak to działa
Uwierzytelnianie tokenu sprawdza, czy żądania są generowane przez zaufaną witrynę, wymagając od żądań zawierających wartość tokenu, która przechowuje zakodowane informacje o żądaniu. Zawartość jest dostarczana żądającemu tylko wtedy, gdy zakodowane informacje spełniają wymagania; w przeciwnym razie żądania są odrzucane. Wymagania można skonfigurować przy użyciu co najmniej jednego z następujących parametrów:
- Kraj/region: Zezwalaj lub odrzucaj żądania pochodzące z krajów/regionów określonych przez kod kraju/regionu.
- Adres URL: Zezwalaj tylko na żądania zgodne z określonym zasobem lub ścieżką.
- Host: zezwalaj na żądania używające określonych hostów w nagłówku żądania lub odmawiaj ich.
- Referrer: Zezwalaj lub odrzucaj żądania od określonego referrera (domeny rejestrującej).
- Adres IP: zezwalaj tylko na żądania pochodzące z określonego adresu IP lub podsieci IP.
- Protokół: Zezwalaj na żądania lub odrzucaj je na podstawie protokołu używanego do żądania zawartości.
- Czas wygaśnięcia: przypisz okres daty i godziny, aby upewnić się, że łącze pozostaje prawidłowe tylko przez ograniczony czas.
Aby uzyskać więcej informacji, zobacz szczegółowe przykłady konfiguracji dla każdego parametru w temacie Konfigurowanie uwierzytelniania tokenu.
Ważne
Jeśli autoryzacja tokenu jest włączona dla dowolnej ścieżki na tym koncie, tryb standardowej pamięci podręcznej jest jedynym trybem, który może być używany do buforowania ciągów zapytania. Aby uzyskać więcej informacji, zobacz Control Azure Content Delivery Network caching behavior with query strings (Kontrolowanie zachowania buforowania usługi Azure Content Delivery Network za pomocą ciągów zapytań).
Architektura odwołań
Na poniższym diagramie przepływu pracy opisano, jak sieć dostarczania zawartości używa uwierzytelniania tokenu do pracy z aplikacją internetową.
Logika walidacji tokenu w punkcie końcowym sieci dostarczania zawartości
W poniższym schemacie blokowym opisano, jak usługa Azure Content Delivery Network weryfikuje żądanie klienta po skonfigurowaniu uwierzytelniania tokenu w punkcie końcowym sieci dostarczania zawartości.
Konfigurowanie uwierzytelniania tokenu
W witrynie Azure Portal przejdź do profilu sieci dostarczania zawartości, a następnie wybierz pozycję Zarządzaj , aby uruchomić portal uzupełniający.
Najedź kursorem na HTTP Large, a następnie wybierz pozycję Uwierzytelnianie tokenu w oknie wysuwanym. Następnie można skonfigurować klucz szyfrowania i parametry szyfrowania w następujący sposób:
Utwórz co najmniej jeden klucz szyfrowania. Klucz szyfrowania uwzględnia wielkość liter i może zawierać dowolną kombinację znaków alfanumerycznych. Wszelkie inne typy znaków, w tym spacje, nie są dozwolone. Maksymalna długość to 250 znaków. Aby upewnić się, że klucze szyfrowania są losowe, zaleca się ich utworzenie przy użyciu narzędzia OpenSSL.
Narzędzie OpenSSL ma następującą składnię:
rand -hex <key length>Przykład:
OpenSSL> rand -hex 32Aby uniknąć przestojów, utwórz zarówno klucz podstawowy, jak i klucz kopii zapasowej. Klucz kopii zapasowej zapewnia nieprzerwany dostęp do zawartości podczas aktualizowania klucza podstawowego.
Wprowadź unikatowy klucz szyfrowania w polu Klucz podstawowy i opcjonalnie wprowadź klucz kopii zapasowej w polu Klucz kopii zapasowej .
Wybierz minimalną wersję szyfrowania dla każdego klucza z listy Minimalna wersja szyfrowania , a następnie wybierz pozycję Aktualizuj:
- Wersja 2: Wskazuje, że klucz może służyć do generowania tokenów w wersji 2.0 i 3.0. Użyj tej opcji tylko wtedy, gdy przechodzisz ze starszej wersji klucza szyfrowania w wersji 2.0 do klucza w wersji 3.0.
- Wersja 3: (Zalecane) Wskazuje, że klucz może służyć tylko do generowania tokenów w wersji 3.0.
Użyj narzędzia szyfrowania, aby skonfigurować parametry szyfrowania i wygenerować token. Za pomocą narzędzia szyfrowania można zezwalać na żądania lub odrzucać je na podstawie czasu wygaśnięcia, kraju/regionu, odwołania, protokołu i adresu IP klienta (w dowolnej kombinacji). Chociaż nie ma limitu liczby i kombinacji parametrów, które można połączyć w celu utworzenia tokenu, łączna długość tokenu jest ograniczona do 512 znaków.
Wprowadź wartości dla co najmniej jednego z następujących parametrów szyfrowania w sekcji Narzędzie szyfrowania :
Nazwa parametru Opis ec_expire Przypisuje czas wygaśnięcia do tokenu, po upływie którego token wygasa. Żądania przesłane po upływie czasu wygaśnięcia są odrzucane. Ten parametr używa znacznika czasu systemu Unix, który jest oparty na liczbie sekund od standardowej epoki unix '1/1/1/1970 00:00:00 GMT'. (Narzędzia online umożliwiają konwertowanie między czasem standardowym a czasem unix). Jeśli na przykład chcesz, aby token wygasł o godzinie
12/31/2016 12:00:00 GMT, wprowadź wartość znacznika czasu systemu Unix1483185600.ec_url_allow Umożliwia dostosowanie tokenów do określonego zasobu lub ścieżki. Ogranicza dostęp do żądań, których adres URL zaczyna się od określonej ścieżki względnej. W adresach URL jest rozróżniana wielkość liter. Wprowadź wiele ścieżek, oddzielając każdą ścieżkę przecinkami; nie dodawaj spacji. W zależności od wymagań można skonfigurować różne wartości, aby zapewnić inny poziom dostępu. Na przykład dla adresu URL
http://www.mydomain.com/pictures/city/strasbourg.pngte żądania są dozwolone dla następujących wartości wejściowych:- Wartość wejściowa "/": Wszystkie żądania są dozwolone.
- Wartość wejściowa "/pictures", dozwolone są następujące żądania:
- "http://www.mydomain.com/pictures.png"
- "http://www.mydomain.com/pictures/city/strasbourg.png"
- "http://www.mydomain.com/picturesnew/city/strasbourgh.png"
- Wartość wejściowa "/pictures/": dozwolone są tylko żądania zawierające ścieżkę "/pictures/". Na przykład 'http://www.mydomain.com/pictures/city/strasbourg.png'.
- Wartość wejściowa "/pictures/city/strasbourg.png": Dozwolone są tylko żądania dotyczące tej konkretnej ścieżki i zasobu.
ec_country_allow Zezwala tylko na żądania pochodzące z co najmniej jednego określonego kraju/regionów. Żądania pochodzące ze wszystkich innych krajów/regionów są odrzucane. Użyj dwuliterowej litery [kod kraju/regionu ISO 3166](/previous-versions/azure/mt761717(v=azure.100)) dla każdego kraju/regionu i rozdziel każdy z nich przecinkiem; nie dodawaj spacji. Jeśli na przykład chcesz zezwolić na dostęp tylko z Stany Zjednoczone i Francji, wprowadź wartość "US,FR". ec_country_deny Odrzuca żądania pochodzące z co najmniej jednego określonego kraju/regionu. Żądania pochodzące ze wszystkich innych krajów/regionów są dozwolone. Implementacja jest taka sama jak parametr ec_country_allow . Jeśli kod kraju/regionu znajduje się zarówno w parametrach ec_country_allow , jak i ec_country_deny , parametr ec_country_allow ma pierwszeństwo. ec_ref_allow Zezwala tylko na żądania z określonego odsyłacza. Pole odsyłacza identyfikuje adres URL strony internetowej, która jest połączona z żądanym zasobem. Nie dołączaj protokołu do wartości parametru. Dozwolone są następujące typy danych wejściowych:
- Nazwa hosta lub nazwa hosta i ścieżka.
- Wiele odsyłaczy. Aby dodać wiele odwołań, oddziel poszczególne odwołania przecinkami; nie dodawaj spacji. Jeśli określisz wartość odwołania, ale informacje dotyczące odwołania nie zostaną wysłane w żądaniu ze względu na konfigurację przeglądarki, żądanie zostanie domyślnie odrzucone.
- Żądania z brakującymi lub pustymi informacjami referencyjnymi. Domyślnie parametr ec_ref_allow blokuje te typy żądań. Aby zezwolić na te żądania, wprowadź tekst "missing" lub wprowadź pustą wartość (przy użyciu końcowego przecinka).
- Poddomen. Aby zezwolić na poddomeny, wprowadź gwiazdkę (\*). Aby na przykład zezwolić na wszystkie poddomeny "contoso.com", wprowadź "*.contoso.com".
Aby na przykład zezwolić na dostęp do żądań z
www.contoso.com, wszystkie poddomeny w obszarzecontoso2.comi żądania z pustymi lub brakującymi odwołaniami, wprowadź .www.contoso.com,*.contoso.com,missingec_ref_deny Odrzuca żądania od określonego odwołania. Implementacja jest taka sama jak parametr ec_ref_allow . Jeśli odwołanie znajduje się zarówno w parametrach ec_ref_allow, jak i ec_ref_deny , parametr ec_ref_allow ma pierwszeństwo. ec_proto_allow Zezwala tylko na żądania z określonego protokołu. Prawidłowe wartości to "http", "https" lub "http,https". ec_proto_deny Odrzuca żądania z określonego protokołu. Implementacja jest taka sama jak parametr ec_proto_allow . Jeśli protokół występuje zarówno w parametrach ec_proto_allow, jak i ec_proto_deny , parametr ec_proto_allow ma pierwszeństwo. ec_clientip Ogranicza dostęp do adresu IP określonego osoby żądającego. Obsługiwane są oba protokoły internetowe w wersji 4 (IPv4) i protokół internetowy w wersji 6 (IPv6). Można określić pojedynczy adres IP żądania lub adresy IP skojarzone z określoną podsiecią. Na przykład "11.22.33.0/22" zezwala na żądania z adresów IP 11.22.32.1 do 11.22.35.254. Po zakończeniu wprowadzania wartości parametrów szyfrowania wybierz klucz do szyfrowania (jeśli utworzono zarówno klucz podstawowy, jak i klucz kopii zapasowej) z listy Klucz do szyfrowania .
Wybierz wersję szyfrowania z listy Wersja szyfrowania : wersja V2 dla wersji 2 lub 3 dla wersji 3 (zalecane).
Wybierz pozycję Szyfruj , aby wygenerować token.
Po wygenerowaniu tokenu zostanie wyświetlony w polu Wygenerowany token . Aby użyć tokenu, dołącz go jako ciąg zapytania na końcu pliku w ścieżce adresu URL. Na przykład
http://www.domain.com/content.mov?a4fbc3710fd3449a7c99986b.Opcjonalnie przetestuj token za pomocą narzędzia odszyfrowywania, aby wyświetlić parametry tokenu. Wklej wartość tokenu w polu Token to Decrypt. Wybierz klucz szyfrowania do użycia z listy Klucz do odszyfrowywania , a następnie wybierz pozycję Odszyfruj.
Po odszyfrowaniu tokenu jego parametry są wyświetlane w polu Oryginalne parametry .
Opcjonalnie dostosuj typ kodu odpowiedzi zwracanego po odmowie żądania. Wybierz pozycję Włączone, a następnie wybierz kod odpowiedzi z listy Kod odpowiedzi . Nazwa nagłówka jest automatycznie ustawiana na Lokalizacja. Wybierz pozycję Zapisz , aby zaimplementować nowy kod odpowiedzi. W przypadku niektórych kodów odpowiedzi należy wprowadzić także adres URL strony błędu w polu "Wartość nagłówka". Kod odpowiedzi 403 (Zabronione) jest domyślnie wybierany.
W obszarze HTTP Large wybierz pozycję Rules Engine. Aparat reguł służy do definiowania ścieżek w celu wdrażania funkcji, włączania funkcji uwierzytelniania tokenu oraz dodatkowych możliwości związanych z uwierzytelnianiem tokenów. Aby uzyskać więcej informacji, zobacz Dokumentacja aparatu reguł.
- Wybierz istniejącą regułę lub utwórz nową regułę, aby zdefiniować zasób lub ścieżkę, dla której chcesz zastosować uwierzytelnianie tokenu.
- Aby włączyć uwierzytelnianie tokenu w regule, wybierz pozycję Uwierzytelnianie tokenu z listy Funkcje , a następnie wybierz pozycję Włączone. Wybierz pozycję Aktualizuj , jeśli aktualizujesz regułę lub Dodaj , jeśli tworzysz regułę.
W silniku reguł można także włączyć dodatkowe funkcje związane z uwierzytelnianiem tokenów. Aby włączyć dowolną z następujących funkcji, wybierz ją z listy Funkcje , a następnie wybierz pozycję Włączone.
Kod odmowy uwierzytelniania tokenu: Określa typ odpowiedzi zwracanej do użytkownika po odmowie żądania. Reguły ustawione tutaj zastępują kod odpowiedzi ustawiony w sekcji Niestandardowa obsługa odmowy na stronie uwierzytelniania opartego na tokenach.
Przypadek ignorowania adresu URL uwierzytelniania tokenu: Określa, czy adres URL używany do sprawdzania poprawności tokenu uwzględnia wielkość liter.
Parametr uwierzytelniania tokenu: Zmienia nazwę parametru ciągu zapytania uwierzytelniania tokenu wyświetlanego w żądanym adresie URL.
Token można dostosować, korzystając z kodu źródłowego w usłudze GitHub. Dostępne języki to:
- C
- C#
- PHP
- Perl
- Jawa
- Pyton
Azure Content Delivery Network features and provider pricing (Funkcje i cennik dostawcy usługi Azure Content Delivery Network)
Aby uzyskać informacje o funkcjach, zobacz Funkcje produktu Azure Content Delivery Network. Aby uzyskać informacje o cenach, zobacz Cennik usługi Content Delivery Network.