Az Azure Content Delivery Network-eszközök biztonságossá tétele jogkivonat-hitelesítéssel
Fontos
Ez csak az Edgio-ból származó Azure CDN Premium szolgáltatása, és a Microsofttól származó Azure CDN-szabályok konfigurálásához használja a Standard szabálymotort. A speciális szabályok nem érhetők el az Azure CDN-hez az Akamai-ból. A CDN-funkciók teljes összehasonlítása az Azure CDN termékfunkcióiban található.
Áttekintés
A jogkivonat-hitelesítés egy olyan mechanizmus, amellyel megakadályozhatja, hogy az Azure tartalomkézbesítési hálózat az eszközöket jogosulatlan ügyfeleknek kiszolgálja. A jogkivonat-hitelesítés általában a tartalom gyakori összekapcsolásának megakadályozása érdekében történik, amelyben egy másik webhely, például egy üzenettábla engedély nélkül használja az eszközeit. A hotlinking hatással lehet a tartalomkézbesítés költségeire. Ha engedélyezi a jogkivonat-hitelesítést a tartalomkézbesítési hálózaton, a kéréseket a tartalomkézbesítési hálózat peremhálózati kiszolgálója hitelesíti, mielőtt a tartalomkézbesítési hálózat kézbesítené a tartalmat.
Működés
A jogkivonat-hitelesítés ellenőrzi, hogy a kéréseket megbízható hely hozza-e létre azáltal, hogy a kérések olyan jogkivonat-értéket tartalmaznak, amely a kérelmezőre vonatkozó kódolt információkat tartalmazza. A rendszer csak akkor kézbesíti a tartalmat a kérelmezőnek, ha a kódolt információ megfelel a követelményeknek; ellenkező esetben a kérések megtagadva lesznek. A követelményeket az alábbi paraméterek valamelyikével állíthatja be:
- Ország/régió: Az ország/régió kódja által meghatározott országokból/régiókból származó kérelmek engedélyezése vagy elutasítása.
- URL-cím: Csak a megadott objektumnak vagy elérési útnak megfelelő kérések engedélyezése.
- Gazdagép: A kérelem fejlécében megadott gazdagépeket használó kérések engedélyezése vagy elutasítása.
- Hivatkozó: A megadott hivatkozó kérésének engedélyezése vagy elutasítása.
- IP-cím: Csak adott IP-címről vagy IP-alhálózatról származó kérések engedélyezése.
- Protokoll: A tartalom kéréséhez használt protokollon alapuló kérések engedélyezése vagy elutasítása.
- Lejárati idő: Rendeljen hozzá egy dátumot és egy időtartamot, hogy a hivatkozás csak korlátozott ideig legyen érvényes.
További információkért tekintse meg az egyes paraméterek részletes konfigurációs példáit a jogkivonat-hitelesítés beállításában.
Fontos
Ha a jogkivonat-engedélyezés engedélyezve van a fiók bármely elérési útjának esetében, a standard gyorsítótáras mód az egyetlen mód, amely a lekérdezési sztring gyorsítótárazásához használható. További információ: Az Azure Content Delivery Network gyorsítótárazási viselkedésének szabályozása lekérdezési sztringekkel.
Referenciaarchitektúra
Az alábbi munkafolyamat-diagram bemutatja, hogy a tartalomkézbesítési hálózat hogyan használja a jogkivonat-hitelesítést a webalkalmazás használatához.
Jogkivonat-érvényesítési logika a tartalomkézbesítési hálózati végponton
Az alábbi folyamatábra bemutatja, hogyan ellenőrzi az Azure Content Delivery Network az ügyfélkérést, ha a jogkivonat-hitelesítés konfigurálva van a tartalomkézbesítési hálózati végponton.
Jogkivonat-hitelesítés beállítása
Az Azure Portalon keresse meg a tartalomkézbesítési hálózati profilt, majd válassza a Kezelés lehetőséget a kiegészítő portál elindításához.
Mutasson a HTTP Large fölé, majd válassza a Token Auth (Token Auth ) lehetőséget az úszó panelen. Ezután az alábbiak szerint állíthatja be a titkosítási kulcsot és a titkosítási paramétereket:
Hozzon létre egy vagy több titkosítási kulcsot. A titkosítási kulcsok megkülönböztetik a kis- és nagybetűk megkülönböztetéseit, és alfanumerikus karakterek tetszőleges kombinációját tartalmazhatják. Más típusú karakterek, beleértve a szóközöket is, nem engedélyezettek. A maximális hossz 250 karakter. Annak érdekében, hogy a titkosítási kulcsok véletlenszerűek legyenek, javasoljuk, hogy az OpenSSL eszközzel hozza létre őket.
Az OpenSSL eszköz szintaxisa a következő:
rand -hex <key length>
Példa:
OpenSSL> rand -hex 32
Az állásidő elkerülése érdekében hozzon létre egy elsődleges és egy biztonsági mentési kulcsot is. A biztonsági mentési kulcs folyamatos hozzáférést biztosít a tartalomhoz az elsődleges kulcs frissítésekor.
Adjon meg egy egyedi titkosítási kulcsot az Elsődleges kulcs mezőben, és opcionálisan írjon be egy biztonsági mentési kulcsot a Biztonsági mentési kulcs mezőbe.
Válassza ki az egyes kulcsok minimális titkosítási verzióját a Minimális titkosítási verzió listából, majd válassza a Frissítés lehetőséget:
- V2: Azt jelzi, hogy a kulcs használható a 2.0-s és a 3.0-s verziójú jogkivonatok létrehozásához. Ezt a lehetőséget csak akkor használja, ha egy régi 2.0-s titkosítási kulcsról 3.0-s verzióra vált.
- V3: (Ajánlott) Azt jelzi, hogy a kulcs csak a 3.0-s verziójú jogkivonatok létrehozásához használható.
A titkosítási eszköz használatával állítsa be a titkosítási paramétereket, és hozzon létre egy jogkivonatot. A titkosítási eszközzel engedélyezheti vagy megtagadhatja a kérelmeket a lejárati idő, az ország/régió, a hivatkozó, a protokoll és az ügyfél IP-címe alapján (bármilyen kombinációban). Bár a token létrehozásához kombinálható paraméterek számának és kombinációjának nincs korlátja, a jogkivonat teljes hossza legfeljebb 512 karakter lehet.
Adja meg az alábbi titkosítási paraméterek egy vagy több értékét a Titkosítási eszköz szakaszban:
Paraméter neve Leírás ec_expire Lejárati időt rendel hozzá egy jogkivonathoz, amely után a jogkivonat lejár. A lejárati idő után elküldött kérelmeket a rendszer megtagadja. Ez a paraméter Unix-időbélyeget használ, amely az "1970.01.01. 00:00:00 GMT" standard Unix-korszak óta eltelt másodpercek számán alapul. (Online eszközökkel válthat a standard idő és a Unix idő között.) Ha például azt szeretné, hogy a jogkivonat lejárjon
12/31/2016 12:00:00 GMT
, adja meg a Unix időbélyeg értékét.1483185600
ec_url_allow Lehetővé teszi a jogkivonatok egy adott eszközhöz vagy elérési úthoz való igazítását. Korlátozza a hozzáférést azokhoz a kérelmekhez, amelyek URL-címe egy adott relatív elérési úttal kezdődik. Az URL-címek megkülönböztetik a kis- és nagybetűket. Adjon meg több elérési utat úgy, hogy vesszővel elválasztja az egyes elérési utakat; ne adjon hozzá szóközöket. A követelményektől függően különböző értékeket állíthat be, hogy különböző szintű hozzáférést biztosítson. Az URL-cím
http://www.mydomain.com/pictures/city/strasbourg.png
esetében például ezek a kérések a következő bemeneti értékek esetében engedélyezettek:- Bemeneti érték: "/": Minden kérés engedélyezve van.
- A bemeneti érték "/képek", a következő kérések engedélyezettek:
- 'http://www.mydomain.com/pictures.png'
- 'http://www.mydomain.com/pictures/city/strasbourg.png'
- 'http://www.mydomain.com/picturesnew/city/strasbourgh.png'
- "/pictures/" bemeneti érték: Csak a "/pictures/" elérési utat tartalmazó kérések engedélyezettek. Például: ""http://www.mydomain.com/pictures/city/strasbourg.png.
- Bemeneti érték :'/pictures/city/strasbourg.png': Csak az adott útvonalra és objektumra vonatkozó kérések engedélyezettek.
ec_country_allow Csak egy vagy több megadott országból/régióból származó kérelmeket engedélyez. Az összes többi országból/régióból származó kérelmeket a rendszer megtagadja. Használjon kétbetűs [ISO 3166 country/region code](/previous-versions/azure/mt761717(v=azure.100)) betűt minden országhoz/régióhoz, és különítse el mindegyiket vesszővel; ne adjon hozzá szóközt. Ha például csak a Egyesült Államok és Franciaország felől szeretné engedélyezni a hozzáférést, írja be az "USA,FR" kifejezést. ec_country_deny Egy vagy több megadott országból/régióból származó kérelmeket tagad meg. Az összes többi országból/régióból származó kérések engedélyezettek. A megvalósítás megegyezik a ec_country_allow paraméterével. Ha a ec_country_allow és ec_country_deny paraméterekben is szerepel ország-/régiókód, akkor a ec_country_allow paraméter elsőbbséget élvez. ec_ref_allow Csak a megadott hivatkozó kéréseit engedélyezi. A hivatkozó azonosítja a kért erőforráshoz csatolt weblap URL-címét. Ne vegye fel a protokollt a paraméterértékbe. A következő típusú bemenetek engedélyezettek:
- Állomásnév vagy állomásnév és elérési út.
- Több hivatkozó. Több hivatkozó hozzáadásához minden egyes hivatkozót vesszővel kell elválasztani; ne adjon hozzá szóközt. Ha hivatkozó értéket ad meg, de a rendszer nem küldi el a hivatkozó adatokat a kérésben a böngésző konfigurációja miatt, a kérés alapértelmezés szerint megtagadva lesz.
- Hiányzó vagy üres hivatkozó adatokat tartalmazó kérések. Alapértelmezés szerint a ec_ref_allow paraméter blokkolja az ilyen típusú kéréseket. A kérések engedélyezéséhez írja be a szöveget, a "hiányzó" szöveget, vagy írjon be egy üres értéket (záró vesszővel).
- Aldomain. Az altartományok engedélyezéséhez adjon meg egy csillagot (\*). Ha például engedélyezni szeretné a "contoso.com" összes altartományát, írja be a "*.contoso.com" értéket.
Ha például engedélyezni szeretné a hozzáférést az összes altartományból
contoso2.com
érkezőwww.contoso.com
kérésekhez, valamint az üres vagy hiányzó hivatkozó kérésekhez, írja be a következőtwww.contoso.com,*.contoso.com,missing
: .ec_ref_deny Letiltja a megadott hivatkozótól érkező kéréseket. A megvalósítás megegyezik a ec_ref_allow paraméterével. Ha a ec_ref_allow és ec_ref_deny paraméterekben is van hivatkozó, a ec_ref_allow paraméter elsőbbséget élvez. ec_proto_allow Csak a megadott protokollból érkező kéréseket engedélyezi. Az érvényes értékek a "http", a "https" vagy a "http,https". ec_proto_deny Letiltja a kéréseket a megadott protokollból. A megvalósítás megegyezik a ec_proto_allow paraméterével. Ha a protokoll a ec_proto_allow és ec_proto_deny paraméterekben is jelen van, a ec_proto_allow paraméter elsőbbséget élvez. ec_clientip Korlátozza a hozzáférést a megadott kérelmező IP-címéhez. Az Internet Protocol 4-es (IPv4) és az Internet Protocol 6-os (IPv6) verziója egyaránt támogatott. Megadhat egyetlen kérelem IP-címét vagy egy adott alhálózathoz társított IP-címeket. A "11.22.33.0/22" például lehetővé teszi a 11.22.32.1 IP-címről a 11.22.35.254-be irányuló kéréseket. Miután befejezte a titkosítási paraméterek értékeinek megadását, válasszon ki egy titkosítandó kulcsot (ha elsődleges és biztonsági mentési kulcsot is létrehozott) a Kulcs titkosítása listából.
Válasszon egy titkosítási verziót a Titkosítási verzió listából: V2 a 2-es vagy a 3-es verzióhoz (ajánlott).
Válassza a Titkosítás lehetőséget a jogkivonat létrehozásához.
A jogkivonat létrehozása után megjelenik a Létrehozott jogkivonat mezőben. A jogkivonat használatához fűzze hozzá lekérdezési sztringként a fájl végéhez az URL-elérési úton. Például:
http://www.domain.com/content.mov?a4fbc3710fd3449a7c99986b
.Ha szeretné, tesztelje a jogkivonatot a visszafejtési eszközzel, hogy megtekinthesse a jogkivonat paramétereit. Illessze be a jogkivonat értékét a Token to Decrypt mezőbe. Válassza ki a használni kívánt titkosítási kulcsot a Kulcs visszafejtése listából, majd válassza a Visszafejtés lehetőséget.
A jogkivonat visszafejtése után a paraméterek megjelennek az Eredeti paraméterek mezőben.
Igény szerint testre szabhatja a kérés megtagadásakor visszaadott válaszkód típusát. Válassza az Engedélyezve lehetőséget, majd válassza ki a válaszkódot a Válaszkód listából. A fejléc neve automatikusan Hely értékre van állítva. Válassza a Mentés lehetőséget az új válaszkód implementálásához. Bizonyos válaszkódok esetén a hibaoldal URL-címét is be kell írnia a Fejlécérték mezőbe. Alapértelmezés szerint a 403 válaszkód (Tiltott) van kiválasztva.
A HTTP Nagy területen válassza a Szabálymotor lehetőséget. A szabálymotor használatával meghatározhatja a funkció alkalmazásának elérési útjait, engedélyezheti a jogkivonat-hitelesítési funkciót, és további jogkivonat-hitelesítéssel kapcsolatos képességeket engedélyezhet. További információ: Szabálymotor referenciája.
Válasszon ki egy meglévő szabályt, vagy hozzon létre egy új szabályt annak az objektumnak vagy elérési útnak a meghatározásához, amelyhez jogkivonat-hitelesítést kíván alkalmazni.
Ha engedélyezni szeretné a jogkivonat-hitelesítést egy szabályon, válassza a Token Auth (Jogkivonat hitelesítése) lehetőséget a Szolgáltatások listában, majd válassza az Engedélyezve lehetőséget. Válassza a Frissítés lehetőséget, ha szabályt frissít, vagy ha szabályt hoz létre, a Hozzáadás lehetőséget.
A szabálymotorban további jogkivonat-hitelesítéssel kapcsolatos funkciókat is engedélyezhet. Az alábbi funkciók engedélyezéséhez jelölje ki a Szolgáltatások listában, majd válassza az Engedélyezve lehetőséget.
Jogkivonat hitelesítési megtagadási kódja: Meghatározza, hogy a rendszer milyen típusú választ ad vissza a felhasználónak, ha a kérés megtagadva van. Az itt beállított szabályok felülbírálják a jogkivonatalapú hitelesítési oldal Egyéni megtagadás kezelése szakaszában beállított válaszkódot.
Jogkivonat hitelesítése – URL-eset figyelmen kívül hagyása: Meghatározza, hogy a jogkivonat ellenőrzéséhez használt URL-cím megkülönbözteti-e a kis- és nagybetűket.
Jogkivonat hitelesítési paramétere: Átnevezi a kért URL-címben megjelenő jogkivonat-hitelesítési lekérdezési sztring paramétert.
A jogkivonat testre szabható a GitHub forráskódjához való hozzáféréssel. Az elérhető nyelvek a következők:
- C
- C#
- PHP
- Perl
- Java
- Python
Az Azure Content Delivery Network szolgáltatásai és a szolgáltató díjszabása
A funkciókról további információt az Azure Content Delivery Network termékfunkcióiban talál. A díjszabással kapcsolatos információkért tekintse meg a Content Delivery Network díjszabását.