Egyszerűsítés hitelesítést wse 3

Mint sok más Microsoft-technológiákat, az első megvalósítását Web-szolgáltatások - az úgynevezett ASMX Web-szolgáltatások - mutatja az utat a rendkívül gyümölcsöző döntéseket, de nem tartalmazzák a legfontosabb szempontok a funkcionalitás szükséges létrehozni egy valóban biztonságos és megbízható megoldásokat. Web Services Extensions 3.0 - egy új változata, amely lehetővé teszi, hogy megbirkózzanak a sok hátránya ASMX web-szolgáltatásokat. Az egyik legfontosabb új funkciók - a képesség, hogy kulcsrakész megoldásokat támogatja a hitelesítést a Web-szolgáltatásokat. Elmondom, hogyan kell ezt csinálni.







Tanulságos összehasonlítani, amit a Microsoft már elérhető, úgyhogy nem volt abban az időben az első kiadása a VS.NET. Persze, a Visual Studio.NET a kezdetektől volt könnyű létrehozni webes szolgáltatásokat. Vegyük például, az alkotás folyamatát ASMX Web-szolgáltatás. Először hozzon létre egy projektet, amely tartalmazni fogja a Web-szolgáltatás. Ezután a WebMethod és WebService attribútumokat, hogy megmutassa az osztályok és módszereket, hogy szeretne élni távolról.

Munkamódszer Web-szolgáltatások meglehetősen egyszerű. Úgy küldeni SOAP-üzenet zárt a szervezetben http-csomagot. A válasz a kiszolgáló által visszaadott, - HTTP-SOAP-csomagot az üzenetet.

Létrehozása Web-service - egy könnyű feladat, és a biztonság - nem. És valószínűleg, akkor kell, hogy biztosítsa a hozzáférést minden olyan webes szolgáltatást, és hajtsák végre a különböző hitelesítési szintek. Itt ASMX Web-szolgáltatások tehetetlen.

A Microsoft módosította, hogy egyszerűsítse a hibakeresési folyamat, mint például a GET vagy POST, és speciális HTTP protokoll használatával a web-szolgáltatásokat. Tökéletesen működik, de most a fejlesztők néhány kritikus kérdések, amelyeket meg kell oldani.

Először is, a Web-szolgáltatások nem függ az átviteli protokollt. Csak meg kell, hogy adja át a SOAP-üzenet, tekintet nélkül a protokollt, és lehetővé teszi a szállítási réteg protokoll, hogy foglalkozik a részleteket, hogy a HTTP, TCP, UDP, MSMQ, vagy akár az SMTP.

A régi ellen, az új megközelítés

Hasznos lehet látni, hogy a fejlesztők már dolgozott együtt a biztonság Web-szolgáltatások mielőtt figyelni rá, ahogy az most. Hogy megvédje ASMX Web-szolgáltatás, akkor végre egy egyéni megoldás adattitkosítás, használjon szolgáltató állam tárolni a felhasználók adatait a kérelmek között, vagy kihasználják a biztonsági szintet a közlekedés, például HTTPS.

Az egyik megoldás részeként az kérheti a titkosítás továbbított tartalmat paraméterek vagy megszerezni szerver SSL-tanúsítvány. Akkor végre egy egyedi hitelesítési rendszer, átadva a kettőskereszt gombot, mint az első paraméter az egyes módszerek hívást. Generál a kettőskereszt gombot a módszer a bejelentkezés és mentse el az adatbázisba. Ha a kulcs az adatbázisban, és a felhasználó a jogot, hogy a módszer, akkor a lekérdezés végrehajtása sikerült. Ez az, amit én az első tervezetét a Web-service, végre a mi csapatunk. Ezután valaki azt mondta, hogy nem szabad összekeverni az állam IIS ülések webes szolgáltatásokat, és mi hiszünk neki. Ez nem volt igaz, de még mindig megtartotta a saját döntéseit. Ahogy emlékszem, töltöttünk egy hetet végrehajtásáról és hibakeresés ezt a döntést, mert azt akarta, hogy a munka egy Web Farm. Elég annyit mondani, hogy az épület a saját megoldás is töltenek jelentős mennyiségű időt kód ellenőrzések, vizsgálatok és ellenőrzés biztonságának a határozatot.

Microsoft aktívan próbálja megoldani ezeket a problémákat, kezdve az első változata a ASMX web-szolgáltatásokat. Például döntéseket a hitelesítési webszolgáltatás tartalmazza a Web Service bővítések (WSE) 1.0. WSE - ezt a kiegészítőt a Visual Studio .NET; A Microsoft weboldalán a legújabb verzióját, WSE 3.0. Az egyik legérdekesebb jellemzője WSE 3.0 - könnyen kezelhető és bővíthető keretrendszer, amely a biztonság és a hitelesítést.

Keretet hozzon létre, hogy a Microsoft által gyűjtött információt a leggyakrabban használt módszer a biztonsági web-szolgáltatásokat. Mi is használjuk az üzenetek felhasználók különböző fórumokon és hírcsoportok, amely leírja a gyakran használt szkripteket. Ezek a forgatókönyvek jelentik a leggyakrabban használt, alapvető módon hajtsák végre a biztonság és a hitelesítés-szolgáltatás Web abban a pillanatban. Ezért nevezik őket Kulcsrakész biztonsági forgatókönyvek - Safety forgatókönyvek „kulcsrakész”.







Dokumentáció WSE 3.0 felhívja ezeket a szkripteket «Kulcsrakész Security állítások», hanem a „forgatókönyv” sokkal elterjedtebb a közösség a web-szolgáltatások fejlesztők, így fogom használni azt. A kész forgatókönyv jó, hogy fel lehet használni deklaratív, amely lehetővé teszi a rendszergazda módosíthatja őket a szolgáltatás során. A deklaratív modell azt is lehetővé teszi, hogy a program bővíteni a meglévő parancsfájlt, vagy akár saját szkripteket. További előny: a hálózati topológia megváltozhat - a szerver nem tud mozogni, hogy egy másik szolgáltató - de nem kell újra telepíteni szolgáltatás.

A projektben használt kész forgatókönyvek vannak felsorolva, amely speciális szakpolitikai fájlt. A politika fájlt, akkor létrehozhat egy megnevezett politika, és adja meg a biztonsági követelményeknek deklaratív. Ha egy egyedi script kész vagy házirendfájlt politika kell tüntetni az osztály a bővítési politika. WSE létrehoz egy példányt ebbe az osztályba tartozó beállítások alapján a házirendben meghatározott fájlban. A minta kódot a WSE dokumentáció bővítményeket használ betölteni osztály a policy fájl lehet feldolgozni megfelelően.

Kezdjük a mester (varázsló)

Kezdjük a használat WSE varázsló lehetővé teszi a használatát web-szolgáltatási politika. Telepítése után WSE 3.0, jobb gombbal a Tulajdonságok, a projekt Web-service és válassza a „Beállítások WSE 3.0” a helyi menüből. Az első lapon meg kell jelölni az „Enable ez a projekt Web Service fejlesztések”, és az „Enable Microsoft Web Services fejlesztések szappan jegyzőkönyv Factory”. A fülre, jelölje az „Enable Policy”, és megmutatja a politikai fájlnevet szeretné használni. Ez a fájl jön létre abban a mappában, mint a web.config fájlt. Kattintson az Add, hogy egy új politika alkalmazását, és adja meg néhány név, legalább MyPolicy. Ez megnyitja a WSE Biztonsági beállítások varázsló. Kattintson a Tovább gombra. Ez megnyitja a Hitelesítési beállítások oldalon, amely a legérdekesebb lehetőségeket (ld. 1. ábra).

Győződjön meg róla, hogy válassza ki a „Biztonságos szolgáltatás alkalmazás”. Vegyük észre, hogy a projekten dolgozó Web-service, nem az ügyfél, hogy hozzáfér a Web-szolgáltatás. Egy szabály létrehozásához fájlt a kliens oldalon, meg kell futtatni a varázsló újra és válassza ki a „Biztonságos a kliens alkalmazás”.

Az alsó része a varázsló négyféle módszer az ügyfél azonosításhoz: névtelen (anonimous), felhasználói név (username), az igazolás és hitelesítés a Windows. Kattintson a Tovább gombra, és hagyja az összes többi opció nem változott. Mindegyik hitelesítési eljárás végrehajtása a késztermék használata script WSE 3.0. Nézzük meg mi az egyes lehetőségeket.

Anonymous hitelesítési eljárás végrehajtása AnonymousForCertificateAssertion osztályban. Ezt a módszert alkalmazzák a névtelen ügyfelek. Például akkor lehet használni, ha ez nem számít, hogy pontosan ki a szervert. Az ügyfelek nem hitelesített, úgy, hogy csak az érdekel, hogy mi a kapcsolat biztonságos, és nem lehet ellenőrizni vagy módosítani. Kommunikáció Security kiszolgáló tanúsítványt X.509. Ez az egyetlen tanúsítványt kell telepíteni a szerveren, hogy biztosítsák a biztonságos kommunikáció ebben az esetben. A tanúsítvány lehetővé teszi, hogy titkosítja és aláírja SOAP-üzenet teljes vagy különálló részek, például csak a test és a fejléc az üzenetet. elem Ez egy módja annak, hogy meghatározza, hogy milyen része az üzenet alá kell írni és titkosítani. Mint látható, a szerver tanúsítvány határozza X.509 elem gyerek elemeként . A tanúsítvány megtalálható a megnevezés és a tárolás helyére; ebben az esetben WSE2QuickStartServer tanúsítvány a helyi gép tanúsítványtárolót. anonim hitelesítési mód - az egyik leggyakoribb forgatókönyv, úgy, hogy ez a módszer egyike a leggyakrabban használt hitelesítési módszerek (lásd az 1. listát) ..

Ismét a szerver biztosítja a X.509 tanúsítvány említett (Lásd. A 2. lista). Ügyfél a szolgáltatás eléréséhez tájékoztatnia kell a felhasználó nevét és jelszavát. Azt javaslom felhasználók számára, hogy a program részleteit, amint azt az alábbiakban bemutatjuk.

A Windows-hitelesítés

A Windows-hitelesítés - az utolsó lehetőség a varázsló oldalon. Ez a beállítás egy külön hitelesítési adatok Kerberos szerveren, amelyhez a kliens és a szerver elérheti, hogy ellenőrizze a részleteket. A szerver közzé részleteket a szolgáltatás jegyek (szolgáltatás jegyek) Kerberos kiöntött, a SOAP-üzeneteket. A fogadó fél kérheti a Kerberos-kiszolgáló érvényességének a kapott jegyet. Akkor konfigurálja a Kerberos-kiszolgáló úgy, hogy lehetővé teszi a felhatalmazás, amely alkalmassá teszi a végrehajtását a vállalati biztonsági rendszer vagy „egységes aláírás» (single sign on, SSO). WSE varázsló nem teszi lehetővé, hogy konfigurálja a beállításokat a Kerberos jegyet, de meg lehet csinálni kézzel, egy politikai fájlban. Kerberos elem a 3. listában.

WSE 3.0 tartalmaz egy másik script kész, de ez nem a varázsló. Rájött UsernameOverTransportAssertion osztály és lehetővé teszi, hogy hitelesítse az ügyfelek szöveges felhasználói nevet és jelszót, üzenet titkosítás és védelem a szállítás szintjén. Azonban WSE nem ellenőrzi, hogy biztosítékot nyújtanak a közlekedési szinten, így ügyelni kell arra, ha ezt a forgatókönyvet. Nem szeretné, hogy a jelszavakat könnyen elfogják az adást. Használjon script UsernameOverTransport egyszerű:

Sajnos, ez az egyszerű forgatókönyv támaszkodik a védelme üzeneteket a szállítási réteg, amely nem védi része a SOAP-üzenetek - meg kell titkosítani és visszafejteni teljesen.

Már említettem, hogy én inkább beállítani a felhasználói nevek és jelszavak programozott. Megteheti ezt a politikát fájlt, de ez nem ajánlott használata UsernameOverTransport forgatókönyv, mert a jelszó sehol nem tárolja sima szöveg.

Miután létrehozott egy politikát a szolgáltatást nem ugyanaz a dolog az ügyfél számára. A jelenléte mindkét politika lehetővé teszi, hogy alkalmazza azokat az osztályban PolicyAttribute Web-szolgáltatás, valamint a proxy osztály Web-service:

Azt is hívni proxy.SetPolicy módszerrel ( „MyPolicyUsername”) a proxy osztály Web-szolgáltatás. Megadása egy felhasználói nevet és jelszót a kliens proxy dokumentációban leírt WSE:




Kapcsolódó cikkek