Sdílet prostřednictvím


Zabezpečení prostředků Azure Content Delivery Network s využitím ověřování tokenů

Důležité

Toto je funkce Azure CDN Premium pouze z Edgio, která konfiguruje pravidla v Azure CDN od Microsoftu, použijte modul pravidel Standard. Rozšířená pravidla nejsou pro Azure CDN z Akamai dostupná. Úplné porovnání funkcí CDN najdete v produktových funkcích Azure CDN.

Přehled

Ověřování tokenů je mechanismus, který umožňuje zabránit službě Azure Content Delivery Network obsluhovat prostředky neoprávněným klientům. Ověřování tokenů se obvykle provádí, aby se zabránilo opětovnému propojení obsahu, ve kterém jiný web, například panel zpráv, používá vaše prostředky bez oprávnění. Horké odkazy můžou mít vliv na náklady na doručování obsahu. Když povolíte ověřování tokenů v síti pro doručování obsahu, budou požadavky ověřeny hraničním serverem sítě pro doručování obsahu předtím, než síť pro doručování obsahu obsah doručí.

Jak to funguje

Ověřování tokenů ověřuje, že požadavky generované důvěryhodným webem vyžadují, aby požadavky obsahovaly hodnotu tokenu, která obsahuje kódované informace o žadateli. Obsah se žadateli obsluhuje pouze v případě, že kódované informace splňují požadavky; v opačném případě jsou požadavky odepřeny. Požadavky můžete nastavit pomocí jednoho nebo několika následujících parametrů:

  • Země/oblast: Povolí nebo odepře žádosti, které pocházejí ze zemí/oblastí určených kódem země/oblasti.
  • Adresa URL: Povolí pouze požadavky, které odpovídají zadanému prostředku nebo cestě.
  • Hostitel: Povolí nebo zamítá požadavky, které používají zadané hostitele v hlavičce požadavku.
  • Referrer: Povolí nebo odmítne požadavek od zadaného referreru.
  • IP adresa: Povolí pouze požadavky, které pocházejí z konkrétní IP adresy nebo podsítě IP.
  • Protokol: Povolí nebo zamítá požadavky na základě protokolu použitého k vyžádání obsahu.
  • Čas vypršení platnosti: Přiřaďte datum a časové období, abyste zajistili, že odkaz zůstane platný pouze po omezenou dobu.

Další informace najdete v podrobných příkladech konfigurace jednotlivých parametrů v části Nastavení ověřování tokenu.

Důležité

Pokud je u tohoto účtu povolená autorizace tokenu, je režim standardní mezipaměti jediným režimem, který lze použít pro ukládání řetězců dotazů do mezipaměti. Další informace najdete v tématu Řízení chování služby Azure Content Delivery Network při ukládání do mezipaměti pomocí řetězců dotazů.

Referenční architektura

Následující diagram pracovního postupu popisuje, jak síť pro doručování obsahu používá ověřování tokenů pro práci s webovou aplikací.

Snímek obrazovky s pracovním postupem ověřování tokenu sítě pro doručování obsahu

Logika ověřování tokenů v koncovém bodu sítě pro doručování obsahu

Následující vývojový diagram popisuje, jak Azure Content Delivery Network ověřuje požadavek klienta při konfiguraci ověřování tokenu v koncovém bodu sítě pro doručování obsahu.

Snímek obrazovky logiky ověření tokenu sítě pro doručování obsahu

Nastavení ověřování tokenů

  1. Na webu Azure Portal přejděte do profilu sítě pro doručování obsahu a pak výběrem možnosti Spravovat spusťte doplňkový portál.

    Snímek obrazovky s tlačítkem Správa profilu sítě pro doručování obsahu

  2. Najeďte myší na http Large a v informačním rámečku vyberte Ověřování tokenů. Šifrovací klíč a parametry šifrování pak můžete nastavit takto:

    1. Vytvořte jeden nebo více šifrovacích klíčů. Šifrovací klíč rozlišují malá a velká písmena a může obsahovat libovolnou kombinaci alfanumerických znaků. Žádné jiné typy znaků, včetně mezer, nejsou povolené. Maximální délka je 250 znaků. Abyste měli jistotu, že jsou šifrovací klíče náhodné, doporučujeme je vytvořit pomocí nástroje OpenSSL.

      Nástroj OpenSSL má následující syntaxi:

      rand -hex <key length>

      Příklad:

      OpenSSL> rand -hex 32

      Abyste se vyhnuli výpadkům, vytvořte primární i záložní klíč. Záložní klíč poskytuje nepřerušovaný přístup k vašemu obsahu při aktualizaci primárního klíče.

    2. Do pole Primární klíč zadejte jedinečný šifrovací klíč a volitelně do pole Záložní klíč zadejte záložní klíč.

    3. V seznamu minimální verze šifrování vyberte minimální verzi šifrování pro každý klíč a pak vyberte Aktualizovat:

      • V2: Označuje, že klíč lze použít ke generování tokenů verze 2.0 a 3.0. Tuto možnost použijte jenom v případě, že přecházíte ze starší verze šifrovacího klíče 2.0 na klíč verze 3.0.
      • V3: (doporučeno) Označuje, že klíč lze použít pouze k vygenerování tokenů verze 3.0.

      Snímek obrazovky s klíčem pro nastavení ověřovacího klíče tokenu sítě pro doručování obsahu

    4. Pomocí nástroje encrypt nastavte parametry šifrování a vygenerujte token. Pomocí nástroje šifrování můžete povolit nebo odepřít požadavky na základě doby vypršení platnosti, země/oblasti, referreru, protokolu a IP adresy klienta (v libovolné kombinaci). I když neexistuje žádný limit počtu a kombinace parametrů, které lze zkombinovat a vytvořit token, celková délka tokenu je omezená na 512 znaků.

      Snímek obrazovky s nástrojem pro šifrování sítě pro doručování obsahu

      Do části Šifrovat nástroj zadejte hodnoty pro jeden nebo více následujících parametrů šifrování:

      Název parametru Popis
      ec_expire Přiřadí tokenu čas vypršení platnosti, po kterém platnost tokenu vyprší. Požadavky odeslané po vypršení platnosti se zamítnou. Tento parametr používá časové razítko unixu, které je založeno na počtu sekund od standardního unixového epochy 1/1/1970 00:00:00 GMT. (K převodu mezi standardním časem a unixovými časy můžete použít online nástroje.)

      Pokud například chcete, aby platnost tokenu vypršela 12/31/2016 12:00:00 GMT, zadejte hodnotu časového razítka unixu, 1483185600.

      ec_url_allow Umožňuje přizpůsobit tokeny konkrétnímu prostředku nebo cestě. Omezuje přístup k žádostem, jejichž adresa URL začíná konkrétní relativní cestou. U adres URL se rozlišují malá a velká písmena. Vstup více cest oddělením každé cesty čárkou; nepřidávejte mezery. V závislosti na vašich požadavcích můžete nastavit různé hodnoty tak, aby poskytovaly různé úrovně přístupu.

      Například pro adresu URL http://www.mydomain.com/pictures/city/strasbourg.pngjsou tyto požadavky povoleny pro následující vstupní hodnoty:

      • Vstupní hodnota /: Všechny požadavky jsou povolené.
      • Vstupní hodnota /pictures, jsou povoleny následující požadavky:
        • 'http://www.mydomain.com/pictures.png'
        • 'http://www.mydomain.com/pictures/city/strasbourg.png'
        • 'http://www.mydomain.com/picturesnew/city/strasbourgh.png'
      • Vstupní hodnota /pictures/: Jsou povoleny pouze požadavky obsahující cestu /pictures/. Například 'http://www.mydomain.com/pictures/city/strasbourg.png'.
      • Vstupní hodnota /pictures/city/strasbourg.png: Jsou povoleny pouze požadavky na tuto konkrétní cestu a prostředek.
      ec_country_allow Povoluje pouze požadavky pocházející z jedné nebo více zadaných zemí nebo oblastí. Žádosti pocházející ze všech ostatních zemí nebo oblastí jsou odepřeny. Pro každou zemi/oblast použijte dvoumísmenné písmeno [kód země/oblasti ISO](/previous-versions/azure/mt761717(v=azure.100)) pro každou zemi/oblast a oddělte je čárkou; nepřidávejte mezeru. Pokud například chcete povolit přístup pouze z USA a Francie, zadejte "USA,FR".
      ec_country_deny Odmítne žádosti, které pocházejí z jedné nebo více zadaných zemí nebo oblastí. Žádosti pocházející ze všech ostatních zemí nebo oblastí jsou povolené. Implementace je stejná jako parametr ec_country_allow . Pokud se kód země/oblasti nachází v parametrech ec_country_allow i ec_country_deny , má přednost parametr ec_country_allow .
      ec_ref_allow Povoluje pouze požadavky od zadaného referreru. Referrer identifikuje adresu URL webové stránky, která je propojená s požadovaným prostředkem. Nezahrnujte protokol do hodnoty parametru.

      Jsou povoleny následující typy vstupu:

      • Název hostitele nebo název hostitele a cesta.
      • Více refererů. Chcete-li přidat více refererů, oddělte každý referer čárkou; nepřidávejte mezeru. Pokud zadáte hodnotu refereru, ale informace o referreru se v požadavku neodesílají kvůli konfiguraci prohlížeče, požadavek se ve výchozím nastavení odmítne.
      • Požadavky s chybějícími nebo prázdnými informacemi o referreru Ve výchozím nastavení ec_ref_allow parametr blokuje tyto typy požadavků. Pokud chcete tyto požadavky povolit, zadejte buď text, chybí, nebo zadejte prázdnou hodnotu (pomocí koncové čárky).
      • Subdomény. Pokud chcete povolit subdomény, zadejte hvězdičku (\*). Pokud chcete například povolit všechny subdomény contoso.com, zadejte *.contoso.com.

      Pokud chcete například povolit přístup k žádostem z www.contoso.com, všechny subdomény v části contoso2.coma požadavky s prázdnými nebo chybějícími odkazujícími, zadejte www.contoso.com,*.contoso.com,missing.

      ec_ref_deny Odmítne žádosti od zadaného refereru. Implementace je stejná jako parametr ec_ref_allow . Pokud je v parametrech ec_ref_allow i ec_ref_deny přítomen referrer, má přednost parametr ec_ref_allow.
      ec_proto_allow Povoluje pouze požadavky ze zadaného protokolu. Platné hodnoty jsou http, https nebo http, https.
      ec_proto_deny Odmítne požadavky ze zadaného protokolu. Implementace je stejná jako parametr ec_proto_allow . Pokud se protokol nachází v parametrech ec_proto_allow i ec_proto_deny , má přednost parametr ec_proto_allow .
      ec_clientip Omezuje přístup k IP adrese zadaného žadatele. Podporují se protokoly IPv4 (Internet Protocol verze 4) i protokol IPv6 (Internet Protocol verze 6). Můžete zadat jednu IP adresu požadavku nebo IP adresy přidružené ke konkrétní podsíti. Například 11.22.33.0/22 umožňuje požadavky z IP adres 11.22.32.1 na 11.22.35.254.
    5. Po zadání hodnot šifrovacích parametrů vyberte klíč, který chcete zašifrovat (pokud jste vytvořili primární i záložní klíč) ze seznamu Klíč k šifrování .

    6. V seznamu verze šifrování vyberte verzi šifrování: V2 pro verzi 2 nebo V3 pro verzi 3 (doporučeno).

    7. Výběrem možnosti Encrypt (Šifrovat ) token vygenerujte.

      Po vygenerování tokenu se zobrazí v poli Vygenerovaný token . Pokud chcete token použít, připojte ho jako řetězec dotazu na konec souboru v cestě URL. Například http://www.domain.com/content.mov?a4fbc3710fd3449a7c99986b.

    8. Volitelně můžete token otestovat pomocí nástroje pro dešifrování, abyste mohli zobrazit parametry tokenu. Do pole Dešifrování vložte hodnotu tokenu. Vyberte šifrovací klíč, který chcete použít ze seznamu Klíč k dešifrování, a pak vyberte Dešifrovat.

      Po dešifrování tokenu se jeho parametry zobrazí v poli Původní parametry .

    9. Volitelně můžete přizpůsobit typ kódu odpovědi, který se vrátí při odepření požadavku. Vyberte Povoleno a pak v seznamu Kód odpovědi vyberte kód odpovědi. Název záhlaví se automaticky nastaví na umístění. Vyberte Uložit a implementujte nový kód odpovědi. Pro určité kódy odpovědí musíte také zadat adresu URL chybové stránky do pole Hodnota záhlaví. Ve výchozím nastavení je vybraný kód odpovědi 403 (Zakázáno).

  3. V části Http Large vyberte Modul pravidel. Modul pravidel slouží k definování cest pro použití této funkce, povolení funkce ověřování tokenů a povolení dalších funkcí souvisejících s ověřováním tokenů. Další informace naleznete v tématu Referenční informace k modulu pravidel.

    1. Vyberte existující pravidlo nebo vytvořte nové pravidlo pro definování prostředku nebo cesty, pro které chcete použít ověřování tokenu.

    2. Pokud chcete u pravidla povolit ověřování tokenů, vyberte v seznamu Funkce možnost Ověřování tokenů a pak vyberte Povoleno. Vyberte Možnost Aktualizovat , pokud aktualizujete pravidlo, nebo pokud vytváříte pravidlo, přidejte .

      Snímek obrazovky s ukázkou povolení ověřování tokenů stroje pravidel sítě pro doručování obsahu

  4. V modulu pravidel můžete také povolit více funkcí souvisejících s ověřováním tokenů. Pokud chcete povolit některou z následujících funkcí, vyberte ji v seznamu Funkce a pak vyberte Povoleno.

    • Ověřovací kód ověřování tokenu: Určuje typ odpovědi, která se vrátí uživateli při odepření požadavku. Pravidla nastavená zde přepíší kód odpovědi nastavený v části Vlastní zpracování odepření na stránce ověřování na základě tokenu.

    • Případ ignorování adresy URL pomocí ověřovacího tokenu: Určuje, jestli se u adresy URL použité k ověření tokenu rozlišují malá a velká písmena.

    • Parametr ověření tokenu: Přejmenuje parametr řetězce dotazu ověření tokenu, který se zobrazí v požadované adrese URL.

      Snímek obrazovky s příkladem nastavení ověřování tokenů tokenů pro doručování obsahu

  5. Token můžete přizpůsobit přístupem ke zdrojovému kódu na GitHubu. Mezi dostupné jazyky patří:

    • C
    • C#
    • PHP
    • Perl
    • Java
    • Python

Funkce služby Azure Content Delivery Network a ceny poskytovatelů

Informace o funkcích najdete v tématu Funkce produktu Azure Content Delivery Network. Informace o cenách najdete v tématu Ceny služby Content Delivery Network.