1.NET web szolgáltatások Web szolgáltatás biztonság WS-*, GXA WSE Bilicki Vilmos

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements

4. alkalom – Hálózat Kezelés
Osztály leszármaztatás
Windows Communication Foundation (WCF)

Kamarai prezentáció sablon
Hálózati és Internet ismeretek
HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Client Access Server. Autodiscovery service Availability service (EWS) Offline Address Book (OAB) service Activesync service Outlook Web Access Public.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Webszolgáltatások PHP-ben
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Mellár János 5. óra Március 12. v
Elektromos mennyiségek mérése
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Utófeszített vasbeton lemez statikai számítása Részletes számítás
A tételek eljuttatása az iskolákba
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
1.NET web szolgáltatások Web szolgáltatás publikálás Web szolgáltatás biztonság Bilicki Vilmos
.NET web szolgáltatások
1.NET web szolgáltatások WSE 2.0 BPEL Beadandó feladat A félév áttekintése Bilicki Vilmos
Az ETR technológia DEXTER Informatikai kft..
Ember László XUBUNTU Linux (ami majdnem UBUNTU) Ötödik nekifutás 192 MB RAM és 3 GB HDD erőforrásokkal.
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
Krizsán Zoltán iit 1.2.  Nem kell vizuális felületnek lennie.  Delegátumok segítségével valósíthatja meg a.NET. Krizsán Zoltán iit Delegátumok C#-ban2.
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
ASP.NET „röviden” Krizsán Zoltán ver: 0.2.
Authentication & Authorization Belinszki Balázs terméktámogató mérnök Juhász Mihály alkalmazásfejlesztési tanácsadó.
Előadó: Kárpáti Péter Üzleti folyamatvezérlés nagyvállalati környezetben (BizTalk Server 2004, Office InfoPath 2003 és Windows.
SharePoint Adminisztráció
Kliensoldali Programozás
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
Egyszerű webes alkalmazás fejlesztése
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
Biztonság.NET-ben Krizsán Zoltán iit1.0. Krizsán Zoltán iit Biztonság.NET-ben 2 Alapfogalmak  Azonosítás (authentication) –Hitelesítés – Ki az aki a.
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Új technológiák a web alkalmazásokhoz Nacsa Sándor Fejlesztői és technológia programok Microsoft Magyarország Kft. NJSzT VIII. Országos Neumann-centenáriumi.
…az ISA Server 2006 segítségével Gál Tamás Microsoft Magyarország.
Hálózatkezelési újdonságok Windows 7 / R2
Exchange Server 2007 Client Access Role
szakmérnök hallgatók számára
ARCHITECTArchitect AcademyFoundationsInsidersMCPtréningekvizsgákgyakorlatprojektek Novák István eEvangelist – „Dive deeper” Grepton Zrt. Technológiai vezető.
LOGO Webszolgáltatások Készítette: Kovács Zoltán IV. PTM.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
J.Zs.Cs.: Vizuális programozás (c) 2010 Vizuális programozás Fájl- és állományrendszer kezelés Névtér: System.IO.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. május 15P2P hálózatok 1 Fóliák a vizsgára: 1. előadás  Bevezető: 11-16, 21,  Usenet: előadás:  Bevezető: 3-8  Napster: 
2006. Peer-to-Peer (P2P) hálózatok Távközlési és Médiainformatikai Tanszék.
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Illés Zoltán ELTE Informatikai Kar
Java web programozás 11..
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Automatizálási folyamatok az SQL 2012-ben
Webszolgáltatás szabványok Simon Balázs
User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.
3 4 5 Mailbox szerepkör Mailbox szerepkör Client Access szerepkör Client Access szerepkör Hub Transport szerepkör Hub Transport szerepkör Edge Transport.
Illés Zoltán ELTE Informatikai Kar
> aspnet_regiis -i 8 9 TIPP: Az „Alap” telepítés gyors, nem kérdez, de később korlátozhat.
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
1 Az igazság ideát van? Montskó Éva, mtv. 2 Célcsoport Az alábbi célcsoportokra vonatkozóan mutatjuk be az adatokat: 4-12 évesek,1.
.NET FRAMEWORK Röviden Krizsán Zoltán 1.0. Tulajdonságok I Rövidebb fejlesztés 20 támogatott nyelv (nyílt specifikáció) 20 támogatott nyelv (nyílt specifikáció)
Szalai Ferenc – Web Service Bricks
Előadás másolata:

1.NET web szolgáltatások Web szolgáltatás biztonság WS-*, GXA WSE Bilicki Vilmos

2 Az előadás tartalma Web szolgáltatás biztonság WS-* (GXA) WSE Web Service Extension framework

3 Források es fejezet MSportal.hu/dokumentumok/Web Szolgáltatások GxaArch Inside the Web Services Enhancements Pipeline Programming with Web Services Enhancements Understanding WS WS_SECURITY

4 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ú jogosultság kezelés Kód alapú jogosultság kezelés Titkosítás

5 Biztonság átekintése Azonosítás vs. Jogosultság kezelés Azonosítás típusai Jogosultság kezelés típusai Titkosítási megoldások

6 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 után történik A felhasználó azonosságán alapul

7 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 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

8 Engedélykezelés típusai Windows NT biztonság (DACL) Szerep alapú biztonság Kód alapú biztonság ASP.NET alkalmazás beállításai (Web.config) Windows NT biztonság (DACL) Szerep alapú biztonság Kód alapú biztonság ASP.NET alkalmazás beállításai (Web.config)...

9 Titkosítási megoldások Mit szeretnénk titkosítani? Az egész üzenetet, Csak a törzset vagy a fejlécet Csak kiválasztott üzeneteke Particionálás Az egész üzenetet, Csak a törzset vagy a fejlécet Csak kiválasztott üzeneteke Particionálás Megoldások: SSL SOAP kiterjesztések SSL SOAP kiterjesztések

10 Beépítet azonosítás Egyszerű és kivonatolt azonosítás Integrált Windows Azonosítás IIS azonosítás használata

11 Egyszerű és kivonatolt azonos. Egyszerű azonosítás Az IIS bekéri a név/jelszó párost Titkosítás nélkü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 HTTP 1.1-es kliensek támogatják

12 Integrált Windows Azonosítás Tulajdonságai Rossz esetben NTLM azonosítás Jó esetben Kerberos azonosítás Korlátok Nem windows.... HTTP proxy nem érti Tűzfalakon újabb portokat kell kinyitni Inranetre optimális Ugyanazokat a csoportokat, hierarchiát használhatjuk mint a meglévő Windows rendszerben

13 IIS azonosítás Beállításai Belépési jogosultság az adott fióknak Titkosítatlan jelszó a szerveren.... ASP.NET web szolgáltatás beállításai A felhasználó azonosság kezelése web szolgáltatásban Bizonyítékok prezentálása IIS... [WebMethod] public string HelloWorld() { return "Hello" + Context.User.Identity.Name; }

14 Felhasználók használata A proxy osztályok a SoapHttpClientProtocol osztályból származnak Credentials tulajdonság (ezzel adhatjuk/kérhetjük le a felhasználó azonosságát) Ezt mindhárom megoldásnál használhatjuk (Alap, Kivonatolt, Integrált) HelloService service = new HelloService(); //Create a NetworkCredential object ICredentials credentials = new NetworkCredential("Administrator", "password", "woodgrovebank.com"); //Set client-side credentials using Credentials property service.Credentials = credentials; //Invoke the XML Web service method string s; try {s = service.HelloWorld(); } catch {Console.WriteLine("Authentication failed");}

15 Saját SOAP fejlécek használata Interneten nem nyerő az előző megoldás Titkosítás? Nem windows felhasználóink vannak pl.: más LDAP szerver, SQL adatbázisban lévő felhasználók,... SOAP saját fejlécek használata a web szolgáltatás szolgáltatóban és fogyasztóban Web Service Consumer Web Service

16 SOAP fejléc Web szolgáltatásban Teendők: Származtassuk osztályunkat a SoapHeader-ből 1 1 Adjuk hozzá a SoapHeader attribútumot 3 3 Adjunk hozzá publikus mezőt a SoapHeader-ből származtatott osztályhoz 2 2

17 Példa using System.Web.Services; using System.Web.Services.Protocols; public class AuthHeader : SoapHeader { public string Username; public string Password; } public class AccountService : WebService { public AuthHeader sHeader; [WebMethod] [SoapHeader("sHeader")] public decimal GetAcctBalance(string acctID) {... }

18 SOAP fejlécek WSDL-ből nyerhetőek kiWSDL Web szolgáltatás proxy-k és SOAP fejlécek SOAP fejlécek használata web szolgáltatásokban SOAP fejléc, fogyasztóban Web Service Consumer [SoapHeaderAttribute("WoodgroveAuthInfoValue", Required=false)] public Acct GetAccount(int acctID) {... WoodgroveOnlineBank bank = new WoodgroveOnlineBank(); WoodgroveAuthInfo authInfo = new WoodgroveAuthInfo (); authInfo.Username = "Adam"; authInfo.Password = "password"; bank.WoodgroveAuthInfoValue = authInfo; Acct acct = bank.GetAccount(1);

19 Szerep alapú jogosultságkezelés COM+ szerepkörök egy alkalmazáson belül, Windows témaszámokat rendeltek hozzá szerepkörökhöz A szerepkörök tagsága az alkalmazás telepítésekor van beállítva, nem kell a kódhoz nyúlni Az alkalmazáson belüli jogosultságokat kezeli (nem csak futathatja/nem futtathatja) Nem lényeges a felhasználó pontos azonossága.NET fogalmak: Azonosságok Megbízók Használható a beépített és saját azonosítási megoldásokal is Azonosítás és jogosultság kezelés HttpModul-lokban

20 Azonosságok WindowsIdentity GenericIdentity Custom identity IIdentity Azonosított entitás A GenericIdentiy csak a nevet tárolja, ha ettől többre van szükségünk akkor az IIdentity interfészt kell megvalósítani a saját osztályunkkal

21 Megbízók A megbízó objektumot azt a környezetet jelenti melyben a kód fut Felhasználó Szerepek Egy vagy több szerepkör tagja lehet, ezek alapján az alkalmazás eldöntheti jogosultságait Szerepek: Megbízottak olyan halmaza melyek egyforma jogokal rendelkeznek Windows egyed Általános egyed Saját egyed (IPrincipal) A megbízottak az adott szál biztonsági környezetét (jogosultágát) határozzák meg Security context

22 A WindowsIdentity és WindowsPrincipal objektumok Az Identity objektumok Name paraméterének használata a kód hozzáférés szabályozásához A IsInRole metódus használata WindowsIdentity esetén a WindowsBuiltInRole enumból ki lehet olvasni a beépített csoporttagságait(BUILTIN\\Adm..) Példa if (User.Identity.Name == "CONTOSO\\Fred") // Permit access to some code. if (User.Identity.Name == "CONTOSO\\Fred") // Permit access to some code. Példa if (User.IsInRole("CONTOSO\\Administrators")) // Permit access to some code. if (User.IsInRole("CONTOSO\\Administrators")) // Permit access to some code. if (User.IsInRole(WindowsBuiltInRole.Administrator)) { // only administrators can do this }

23 Példa using System.Text; using System.Security.Principal; // Required for role-based security... [WebMethod] public string HelloWorld() { // not required. Just shows the User property is an Identity IIdentity identity = Context.User.Identity; string name = User.Identity.Name; bool isAuth = User.Identity.IsAuthenticated; string identType = User.Identity.AuthenticationType; bool isAdmin = User.IsInRole("Domain\\Administrators"); StringBuilder s = new StringBuilder(); s.Append("Hello " + name + ", "); s.Append(isAuth ? "authenticated" : "not authenticated"); s.Append(" using " + identType + ", "); s.Append("you are "); s.Append(isAdmin ? "an admin" : "not an admin"); return s.ToString(); }

24 A GenericIdentity és a GenericPrincipal objekumok használata GenericIdentity objektum létrehozása GenericPrincipal objektum létrehozása A jelenlegi egyed elmentése Előny: Minden szerelvény-hozzáférésnél ellenőrizhető a jogosultság Hátrány: Egy szál több viszony metódus által megosztva van használva, a metódus visszatérése előtt reszetelni kell GenericIdentity MyIdentity = new GenericIdentity("User1"); String[] MyStringArray = {"Manager", "Teller"}; GenericPrincipal MyPrincipal = new GenericPrincipal(MyIdentity, MyStringArray); String[] MyStringArray = {"Manager", "Teller"}; GenericPrincipal MyPrincipal = new GenericPrincipal(MyIdentity, MyStringArray); GenericPrincipal save = Thread.CurrentPrincipal;

25 HttpModules használata Minden ASP.NET alkalmazás rendelkezik egy HttpApplication objektummal amelynél feliratkozhat bizonyos eseményekre pl.: AuthenticateRequest Ezekre felíratkozhatunk a Global.asax fájlba is (ekkor az egész alkalmazásra adunk meg paramétereket) A másik megoldás a HttpModules osztály melyet a web.config fájlban adhatunk meg public sealed class CustomAuthenticationModule : IHttpModule { public void Init(HttpApplication app) { app.AuthenticateRequest += new EventHandler(this.OnAuthenticate);}

26 Eseménykezelő public void OnAuthenticate(Object src, EventArgs e) { HttpApplication app = (HttpApplication)src;HttpContext ctx = app.Context; string soapUser;string soapPassword; XmlDocument dom = new XmlDocument(); Stream httpStream = ctx.Request.InputStream; long posStream = httpStream.Position; try { dom.Load(httpStream); httpStream.Seek(posStream,System.IO.SeekOrigin.Begin); dom.Save(httpStream); soapUser = dom.GetElementsByTagName("User").Item(0).InnerText; soapPassword = dom.GetElementsByTagName ("Password").Item(0).InnerText; string [ ] roles; roles = GetRolesForUser(soapUser,soapPassword); ctx.User = new GenericPrincipal(new GenericIdentity(soapUser, "MyAuthType"), roles); } catch (Exception ex) { httpStream.Position = posStream; XmlQualifiedName name = new XmlQualifiedName("Load"); SoapException soapException = new SoapException( "Unable to read SOAP request", name, ex); throw soapException;}}

27 Kód alapú biztonság A kód olyan dolgokat is művelhet amiről a felhasználónak nincs tudomása Megbízható felhasználó, nem megbízható kód Bizonyíték alapú biztonság alapján szabályozzuk az erőforrásokhoz való hozzáférések jogát Erős név Kiadó Zóna URL Kivonat Kód hozzáférés jogosultságok Kód csoportok (közös tulajdonság pl.: URL) Szabály szintek (Vállalati, Gép, Felhasználó, Alkalmazás tartomány) Nevesített jogosultság halmazok (pl.: Internet, Lokális,...)

28 Kód alapú biztonság Helyi vs. ISP telepítés Helyi gépen Full trust, ekkor nincs szerepe a kód alapú biztonságnak (My_Computer_Zone) ISP ? Kód alapú jogosultságok (mire van a kódnak szüksége?).NET Framework SDK leírja, hogy melyik osztálynak milyen jogosultságra van szüksége Tesztelni pl.: Internet jogosultságal Engedélyek kérése a kódban (SecurityPermission attribútum, ezt betöltésekor ellenőrzi a rendszer) RequestMinimum – ha ez nincs teljesítve akkor nem lesz lefutatva a kód RequestOptional RequestRefused [assembly:SecurityPermissionAttribute( SecurityAction.RequestMinimum, UnmangedCode = true)]

29 SSL használata X.509 digitális bizonyítányok Hogyan engedélyezzük? IIS

30 Saját SOAP bővítmények A DESCryptoServiceProvider osztály A CryptoStream osztály Titkosításg SOAP bővítményekkel encryptor = des.CreateEncryptor(key, IV); decryptor = des.CreateDecryptor(key, IV); ICryptoTransform encryptor; ICryptoTransform decryptor; encryptor = des.CreateEncryptor(key, IV); decryptor = des.CreateDecryptor(key, IV); CryptoStream cs; cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write);... cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read);

31 Global XML Web Services Architecture A GXA Forgalomirányítás és hivatkozások Biztonság és Jogosítványok

32 A Web Szolgáltatások korlátai Web szolgáltatások felhasználási területei: IEA – Vállalati alkalmazás integráció B2B – fontos partnerekkel való együttműködés A holnap igényei: Több szervezet közötti együttműködés Problémák melyekkel a jelenlegi szabványok (SOAP, WSDL, UDDI) nem foglalkoznak Hogyan tegyük biztonságossá a web szolgáltatást? Hogyan menedzseljük dinamikusan az üzenet útvonalakat? Hogyan tehetjük megbízhatóvá a szolgáltatások kézbesítését hosszú ügymenetek folyamán? Hogyan kezeljük a hosszútávú tranzakciókat?

33 A GXA Tervezési szempontok Általános célú Moduláris Föderációs elvű Szabvány alapú Kiadott specifikációk WS-Routing WS-Referral WS-Security WS-License Tervek: Megbízható üzenetküldés Tranzakciók (BPEL)

34 GXA architektúra Infrastructure Protocols SOAP SOAP Modules Discovery Directory Inspection Description Referral Routing License Security … … Reliable Messaging Transactions … … HTTP/SMTP XML TCP/IP Internet

35 WS-Routing SOAP üzenet feldolgozási modell SOAP elosztott feldolgozási modell SOAP:actor Nem definiálja az üzenet útvonalat WS-Routing A megfelelő köztes SOAP csomópontok felé viszi az aszinkron üzenet forgalmat az üzenet útvonalak segítségével Átvitel és útvonal rugalmasság Üzenet továbbítás (egyirányú, kétirányú, p2p, hosszú dialógusok), feloldás, válasz útvonal,,, Ahogy az üzenet halad minden csomópont átmozgatja saját via bejegyzését a fwd-ból a rev-ba

36 WS-Referral A WS-ROUTE kiegészítője A SOAP forgalomirányítók konfigurációját teszi lehetővé Egy hivatkozást ír le Lekérdezhetünk egy SOAP forgalomirányítót egy hivatkozásért A hivatkozások beszúrása, törlése, cseréje Hivatkozás formula Regisztrációs üzenetek (push) Lekérdező üzenetek (pull) Hivatkozás fejlécek (dinamikus útvonalválasztás),,,,

37 Forgalomirányítás példa A A SN1 B B Schedule Package Pickup Schedule Package Pickup Pickup Scheduled

38 A – SN1 soap://serverB.com/B soap://SN1.com soap://serverA.com/A soap://serverA.com/A uuid:12dfs asd-s234-s3df-d25656adssf4 …

39 SN1 - B soap://serverB.com/B soap://SN1.com soap://serverA.com/A soap://serverA.com/A uuid:12dfs asd-s234-s3df-d25656adssf4 …

40 B – SN1 soap://SN1.com soap://serverA.com/A soap://serverB.com/B uuid: gd-sg6g-sf54-dfgsgfgdssf4 Pickup scheduled

41 SN1 - A soap://serverA.com/A soap://serverB.com/B uuid: gd-sg6g-sf54-dfgsgfgdssf4 Pickup scheduled

42 Hivatkozás példa A A SN1 B B Schedule Package Pickup Schedule Package Pickup Who told A about SN?

43 … soap://serverB.com/B soap://SN1.com uuid: b-4351-b623-  5dsf35sgs5d6

44 WS-Security XML Siganture XML Encrypition Bizonyíték csere, üzenet azonosítás, és üzenet titkosítás Szolgáltatásai: Felhasználó név/Jelszó X509/PKI Kerberos

45 Példák scott KE6QugOpkPyT3Eo0SEgT30W4Keg= 5uW4ABku/m6/S5rnE+L7vg== <wsu:Created xmlns:wsu= " T00:44:02Z <wsse:BinarySecurityToken ValueType="wsse:X509v3" EncodingType="wsse:Base64Binary" Id="SecurityToken-f49bd662-59a0-401a-ab23-1aa f" >MIIHdjCCB...

46 WS-License Az ismertebb jogosítványok formátumát specifikálja - Például: X.509, Kerberos, SAML, XrML - A WS-Security bővítménye

47 Példa Kliens Passport Kerberos jegy beszerzése 1 1 License Service XrML jogosítvány beszerzése 2 2 Bankszámla Meghívja a státuszt az XrML jogosítvánnyal 3 3 A klines engedélyezése 4 4 Szüksége s jogok Bejovő jogosítvá nyok Engedélyezve? Policy Engine Subsequent calls to Status service do not require presentation of Passport licenses

48 Web Services Enhancements WSE bővítmények jelenleg 2.0 Itt az 1.0-át nézzük Segítségével használhatjuk: WS-Security WS-Routing DIME WS-Attachments Viszonylag alacsony szintű megoldás Bonyolult, nem gyárt WSDL-t Bővíthető, testreszabható

49 WSE működése Két szűrő csoport Bejövő Kimenő Ezek hajtják végre a szükséges transzformációkat Ezekből lehet kiolvasni a megfelelő értékeket is Proxy: System.Web.Services.SoapHttpClientProtocol helyett Microsoft.Web.Services.WebServicesClientProtocol. WebServicesClientProtocol Microsoft.Web.Services.SoapWebRequest Microsoft.Web.Services.SoapWebResponse

50 WSE kliens kérés, válasz

51 Példa kliens static void Main(){ UsernameReflector proxy = new UsernameReflector(); SoapContext reqCtx = proxy.RequestSoapContext; UsernameToken tok = new UsernameToken(Environment.UserName, Environment.UserName.ToUpper(), PasswordOption.SendHashed)); reqCtx.Security.Tokens.Add(tok); reqCtx.Security.Elements.Add(new Signature(tok)); // send message and process result Console.WriteLine("Username is: " + proxy.GetUsername());}

52 Szerver oldal Microsoft.Web.Services.WebServicesExtension

53 Szerver példa public class UsernameReflector{ [WebMethod] public string GetUsername() { string Username = string.Empty; SoapContext reqCtx = HttpSoapContext.RequestContext; foreach(SecurityToken tok in reqCtx.Security.Tokens) { if (tok is UsernameToken) { Username = ((UsernameToken)tok).Username; break; } if (Username == string.Empty) throw new Exception("No username"); return Username; }

54 Beállítások

55 Azonosító forrás Microsoft.Web.Services.Security.IPasswordProvider Microsoft.Web.Services.Security.UsernameToken azonosítására public class PasswordProvider : IPasswordProvider{ public string GetPassword(UsernameToken usernameToken) { return usernameToken.Username.ToUpper(); }

56 Az előadás tartalma Web szolgáltatás biztonság WS-* (GXA) WSE Web Service Extension framework

57 Mai Web Szolgáltatás Arch.

58 BPEL

59

60 A következő előadás tartalma WS-profilok, WS-I Basic profile 1.0 BPEL4WS Egy példa Web szolgáltatás (a feladat egy megoldása és az értékelő keretrendszer) Speckoll. értékelés