500 likes | 567 Views
.NET web szolgáltatások. Web s zolgáltatás publikálás Web szolgáltatás biztonság Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv. Az el őadás tartalma. Web szolgáltatás publikálás Web szolgáltatás biztonság. Web szolgáltatások publikálása.
E N D
.NET web szolgáltatások Web szolgáltatás publikálás Web szolgáltatás biztonság Bilicki Vilmos bilickiv@inf.u-szeged.hu www.inf.u-szeged.hu/~bilickiv
Az előadás tartalma • Web szolgáltatás publikálás • Web szolgáltatás biztonság
Web szolgáltatások publikálása • Web szolgáltatások telepítése • Az UDDI áttekintése • Web szolgáltatás publikálása • Az UDDI asználata
Web szolgáltatás telepítése • Telepítéshez szükséges fájlok • Manuális telepítése • Windows Installer használata • Demó
Mikor érdemes manuális telepítést választani: Ugyanarra a webszerverre telepítünk Csak teszteléscéljára telepítjük A web szolgáltatásunk egyszerű Két módon telepíthetjük manuálisan: Fájlok bemásolásával A Visual Studio .NET Copy Project parancsával IIS beállítások egyik esetben sem másolódnak Manuális telepítése
Segítségével könyen megoldhatjuk az alábbi kezelhatjük az alábbi probléákat: Megosztot komponensek Régi COM komponensek IIS beálítások Web alkalmazás erőforrások:üzenet sorok, esemény naplók, teljestmény számlálók A Visual Studio .NET Web Setup projekttel tudunk telepítő készletet készíteni Windows Installer Használata
1. DEMÓ • MSI készítése, használata
UDDI Publish Find Internet Bind Web Service Provider Web Service Consumer Az UDDI áttekintése • Mi az UDDI? • Miért érdemes használni? • Web szolgáltatások publikálása intraneten • Az UDDIhasználatának áttekintése • UDDI adat struktúrák • Az SDK telepítése • Hivatkozások az UDDI DDL-re
Mi az UDDI? • Specifikációk halmaza • Elosztott, web alapú információ tárat írnak le • UDDI programozói API specifikáció • UDDI adat struktúra specifikáció • UDDI adatár implementációk • A specifikációk implementációi
Miért érdemes UDDI-t használni? • Az UDDI előnyei • Leírja és összefoglalja azokat a szabályokat melyeket az üzleti partnereknek követniük kell az integráció érdekében • Láthatóvá, elérhetővé teszi a céget más cégek számára • Egyszerűbb és dinamikusabb üzletvitel • Az UDDI álltal szállított információk • Üzelt sepcifikus Web szolgáltatás • A Web szolgáltatás végpontjai • A jelenlegi kötési mehanizmus a végponton
Web szolgáltatás publiálása • Megoldások • UDDI szolgáltatások megvalósítása Windows Server 2003 segítségével • Rögzítet végpontok
A fejlesztő elkészti és telepíti a web szolgáltatást 1 5 1 A fejlesztő regisztrálja és kategorizálja a szolgáltatást 2 Pricing Web Service 3 A web szolgáltatás fogyasztó rákeres az adott szolgáltatás típusra 3 UDDI Services 2 A találatok közül a fogyasztó kiválasztja a legmegfelelőbbet 4 A web szolgáltatás készítő készít egy olyan alkalmazást amely közvetlenül fogyaztja a web szolgáltatást 5 Az UDDI használatának áttekintése 4
Service: Egy adott ajánlat leírása Binding: Techniaki információ egy kötési pontról UDDI Adat Struktúrák Business: Információk a szolgáltatást nyújtó entitásról tModel: A szolgáltatás specifikációk leírásai Name, contact, description and categorization of the provider Pointer to a WSDL file Name, description and categorization of the service Access point(s) for the service
Az UDDI SDK telepítése • A Microsoft UDDI szoftver fejlesztő csomag (SDK)segítségével a klinesek UDDI szolgáltatásokat tudnak asználni • Saját UDDI az intraneten • Közös az extraneten • Publikusan az Interneten • Az UDDI SDK 2.0 telepítése • AZ UDDI SDK névterek
Hivatkozás az UDDI névterekre • A Microsoft.Uddi.dll fájl tartalmazza • Ezeket kell használnunk Example using Microsoft.Uddi; using Microsoft.Uddi.Businesses; using Microsoft.Uddi.Extensions; using Microsoft.Uddi.Services; using Microsoft.Uddi.TModels;
Web szolgáltatás telepítése • Web szolgáltatás konfigurálása • Web szolgáltatás publikálása Windows Server 2003 UDDI Szolgáltatások segítségével • Web szolgáltatás publikálása a UDDI varázslóval • Web szolgáltatás publikálása programból
Web szolgáltatás konfigurálása • A felderítés konfigurálása • Engedélyek és a biztonsági szabályok • Szerelvények konfigurálása • Web szolgáltatás testreszabása (lokalizálása)
Kapcsolódás az UDDI adattárhoz 1 Egy tModel hozzáadása a SaveTModel osztály segítségével 2 Egy business objektum hozzáadása a SaveBusiness osztályal 3 Web szolgáltatás hozzáadása a SaveService osztállyal 4 Publikálás programból Lépések:
Az UDDI használata • UDDI adatár felderítése • Kapcsolódás UDDI adattárhoz • Web Service keresése
UDDI adattárak felderítése • Az Active Directory segítségével a saját UDDI szervereket felderíthetjük • A statikus UddiSiteDiscovery objektum Find metódusa segítségével egy UddiSiteLocation objektum tömböt kapunk vissza • Minden UddiSiteLocation objektum magába foglalja a hozzáférési pontokat az azonosítási stílusokal és leírásokkal együtt
Kapcsolódás UDDI adatárhoz • Az UddiConnection objektum két azonosítási megoldást támogat: • Windows Integrált Azonosítást • Az aktulis felhasználó adatait használja fel • Ez az alapértelmezett • UDDI Azonosítás • Be kell álltani a felhasználói jelszót és témaszámot
Web szolgáltatás keresése • Üzlet keresése • Kötési információk letöltése • Web szolgáltatás címzése
Web szolgáltatás és biztonság • Biztonsági kérdések áttekintése • Beépített azonosítás • SOAP fejlécek használata saját azonosításhoz • Szerep alapú biztonság • Kóda alapú biztonság • Titkosítás
Biztonság átekintése • Azonosítás vs. Jogosultság keelése • Azonosítás típusai • Jogosultság kezelés típusai • Titkosítási megodások
Azonosítás vs. Jogosultság kezelés • Azonosítás • A felhasználó identitásának ellenőrzése • Azonosító hatóságok segítségével történik • Jogosultság kezelés • A már azonosított felhasználó jogosultságának ellenőrzése • Azonosítás utn történik • A felahasználó azonosságán alapul
Azonosítás típusai • IIS azonosítás • ASP.NET azonosítás • Űrlap alapú azonosítás • Passport azonosítás • Saját SOAP fejlécek használata
Engedélykezelés típusai • Windows NT biztonság • Szerep alapú iztonság • Kód alapú biztonság • ASP.NET alkalmazás beállításai
Titkosítási megoldások Mit szeretnénk titkosítani? • Az egész üzenetet, • Csak a törzset vagy a fejlécet • Csak kiválasztot üzeneteke • Particionálás Megoldások: • SSL • SOAP kiterjesztések
Beépítet azonosítás • Egyszreűéskivonatolt azonosítás • Integrált Windows Azonosítás • IIS azonosítás
Egyszerű és kivonatolt azonos. • Egyszerű azonosítás • Az IIS bekéri a név/jelszó párost • Titkosítás nékül küldik át • SSL használata megoldja a problémát • Kivonatolt azonosítás • A bizalmas adatok kivonatolva küldik át • Csak a HTP 1.1-es kliensek támogatják
Integrált Windows Azonosítás • Tulajdonságai • Rossz eetben NTLM azonoasítás • Jó esteben Kerberos azonosítás • Korlátok • Nem windows.... • HTTP proxy nem érti • Tűzfalakon újabb portokat kell kinyitni
IIS azonosítás • Beállításai • ASP.NET web szolgáltatás beállításai • A felhasználó azononosság kezelése web szolgáltatásban • Bizonyítékok prezentálása IIS
Web Service Web Service Consumer Saját SOAP fejlécek használata • SOAP saját fejlécek használata a web szolgáltatás szolgáltatóban • SOAP saját fejlécek használata a web szolgáltatás fogyasztóban
Teendők: Származtassuk osztályunkat a SoapHeader-ből 1 Adjunk hozzá publikus mezőt a SoapHeader-ből származtatott osztályhoz 2 Adjuk hozzá a SoapHeader attribútumot 3 SOAP fejléc Web szolgáltatásban
Web Service Consumer SOAP fejléc, fogyasztóban • SOAP fejlécek WSDL-ben • Web szolgáltatás proxy-k és SOAP fejlécek • SOAP fejlécek használata web szolgáltatásokban
Szerep alapú azonosítás • Azonosságok • Principals • A WindowsIdentity és WindowsPrincipal objektumok használata • A GenericIdentity és GenericPrincipal objektumok használata • Azonosítás és jogosultság kezelés HttpModul-lokban
IIdentity Azonosságok GenericIdentity Custom identity WindowsIdentity
Egyedek • Az egyed azt a környezetet jelenti melyben fut • Szerepek: • Egyedk olyan halmaza melyek egyforma jogokal rendelkeznek • Windows egyed • Álltalános egyed • Saját egyed • Egyedek és hívási kontextus Security context
Using WindowsIdentity és WindowsPrincipal objektumok • Az Identity objektumok Name paraméterének használataa kód hozzáférés szabályozásához • A IsInRole metódus használata Example If User.Identity.Name = "CONTOSO\Fred" Then ' Permit access to some code. Example If User.IsInRole("CONTOSO\Administrators") Then ' Permit access to some code.
A GenericIdentity és a GenericPrincipal objekumok használata • GenericIdentity objektum létrehozása • GenericPrincipal objektum létrehozása • A jelenlegi egyed elmentése Example Dim MyIdentity As GenericIdentity MyIdentity = New GenericIdentity("User1") Example Dim MyStringArray As String() = {"Manager", "Teller"} Dim MyPrincipal As New GenericPrincipal(MyIdentity, MyStringArray) Example Dim save As GenericPrincipal = Thread.CurrentPrincipal
HttpModules használata • HttpApplication események és a HttpModules • Azonosítás HttpModules segítségével • Jogosultságkezelés
Kód biztonság • Kód biztonság alapok • Kód itonság és ASP.NET
Kód alapú biztonság • Bizonyíték alapú bitonság • Kód hozzáférés jogosultságok • Kód csoportok • Szabály szintek • Nevesített jogosultság halmazok
Kód alapú biztonság • Helyi vs. ISP telepítés • Kód alapú jogosultságok • Engedélyek kérése a kódban • RequestMinimum • RequestOptional • RequestRefused
SSL asználata • X.509 digitális bizonyítányok • Hogyan engedélyezzük? IIS
Using Custom SOAP Extensions • The DESCryptoServiceProvider class • The CryptoStream class • Encryption using SOAP extensions
A következő előadás tartalma • WS-profilok