Autorizácia webových služieb: Rozdiel medzi revíziami
(Vytvorená stránka „Kategória:Študentské práceKategória:Diplomové práceKategória:InformatikaKategória:Webové služby {{Praca_uvod|8|Návrh a implementácia bezpečnos…“) |
|||
(5 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených) | |||
Riadok 1: | Riadok 1: | ||
[[Kategória:Študentské práce]][[Kategória:Diplomové práce]][[Kategória:Informatika]][[Kategória:Webové služby]] | [[Kategória:Študentské práce]][[Kategória:Diplomové práce]][[Kategória:Informatika]][[Kategória:Webové služby]] | ||
− | {{Praca_uvod| | + | {{Praca_uvod|6|Návrh a implementácia bezpečnostnej technológie pre webové služby|XML a webové služby |XML ASP.NET webové služby|Zabezpečennie webových aplikácií|Integrita a dôvernosť komunikácie|Autentifikácia|Autorizácia webových služieb|Zabezpečenie webových služieb|XML security|SOAP Security Enhancement pre ASP.NET webové služby}} |
__TOC__ | __TOC__ | ||
− | = = | + | =Autorizácia= |
+ | |||
+ | V predchádzajúcich kapitolách sme vysvetlili metódy, akými môžeme overiť identitu užívateľa volajúceho webovú službu. Podrobnejšie sme si rozobrali tie, ktoré sú v praxi úspešne využívané v rôznych bezpečnostných scenároch. Získanie skutočnej identity klienta predstavuje len prvý krok k vytvoreniu bezpečnej komunikácie. Potrebujeme vedieť, aké má klient oprávnenie v rámci našej webovej služby, aké webové metódy webovej služby môže volať, k akým zdrojom, či už k databázam, alebo súborom smie pristupovať. Proces, v ktorom zisťujeme oprávnenia, sa nazýva autorizácia. | ||
+ | |||
+ | V tejto kapitole si rozoberieme spôsoby autorizácie s využitím konfiguračného súboru '''web.config''' webovej služby. | ||
+ | |||
+ | |||
==Autorizácia URL== | ==Autorizácia URL== | ||
+ | |||
+ | Ako sme už spomenuli, autorizačné pravidlá definujeme v konfiguračnom súbore webovej služby, tie sú vykonávané prostredníctvom špeciálneho HTTP modulu '''UrlAuthorization-Module'''. Princíp fungovania tohto modulu spočíva v analýze a kontrole každej požiadavky užívateľa, tým je zabezpečená ochrana neautorizovaného prístupu. Tento model autorizácie kontroluje bezpečnostný kontext a URL zdroj, ku ktorému žiada užívateľ prístup.<nowiki>[</nowiki>13<nowiki>]</nowiki> | ||
+ | |||
==Autorizačné pravidlá== | ==Autorizačné pravidlá== | ||
− | = | + | |
− | == | + | V tejto podkapitole si vysvetlíme samotný spôsob realizácie autorizácie v konfiguračnom súbore webovej služby. Autorizačné pravidlá sa definujú v súbore web.confing prostredníctvom prvku '''<nowiki><</nowiki>authorization<nowiki>></nowiki>, '''pomocou ktorého môžeme vytvoriť dva typy autorizačných pravidiel <nowiki>[</nowiki>4<nowiki>]</nowiki>: |
− | == | + | |
− | == | + | * Pravidlo zakazujúce prístup, prostredníctvom prvku '''<nowiki><</nowiki>deny<nowiki>></nowiki>.''' |
+ | * Pravidlo povoľujúce prístup, prostredníctvom prvku '''<nowiki><</nowiki>allows<nowiki>></nowiki>.''' | ||
+ | Oba typy autorizačných pravidiel môžeme aplikovať <nowiki>[</nowiki>4<nowiki>]</nowiki> : | ||
+ | |||
+ | * Na jedného užívateľa použitím kľúčového slova '''user'''. | ||
+ | * Na skupinu užívateľov (rolí) použitím kľúčového slova '''roles'''. | ||
+ | * Alebo môžeme použiť kľúčové slovo '''verbs''' a prostredníctvom neho určiť konkrétne typy HTTP požiadaviek, na ktoré sa bude pravidlo aplikovať. | ||
+ | |||
+ | {|class="wikitable" | ||
+ | '''Tab. 6.1''' Konfigurácia autorizačných pravidiel v súbore web.config | ||
+ | |- | ||
+ | |<source lang="xml"> | ||
+ | <authorization> | ||
+ | <allow users="Zoznam uzivatelov" | ||
+ | roles="Zoznam roli" | ||
+ | verbs="Typy HTTP poziadaviek" | ||
+ | /> | ||
+ | <deny users="Zoznam uzivatelov" | ||
+ | roles="Zoznam roli" | ||
+ | verbs="Typy HTTP poziadaviek" | ||
+ | /> | ||
+ | </authorization> | ||
+ | |||
+ | </source> | ||
+ | |} | ||
+ | |||
+ | Pri definovaní pravidiel môžeme využiť tieto zástupné znaky <nowiki>[</nowiki>1<nowiki>]</nowiki>: | ||
+ | |||
+ | * Znak '''?''', ktorý reprezentuje všetkých anonymných užívateľov. | ||
+ | * Znak '''<nowiki>*</nowiki>''', ktorý reprezentuje všetkých užívateľov. | ||
+ | |||
+ | Proces aplikácie konfiguračných pravidiel je pre webové služby ASP.NET nasledovný. Najskôr sa aplikujú konfiguračné pravidlá z príslušného konfiguračného súboru web.config a následné sa aplikujú pravidlá zo súboru machine.config. Autorizačné pravidlá sa aplikujú v tom poradí, v akom sú v konfiguračnom súbore zapísané. <nowiki>[</nowiki>15<nowiki>]</nowiki> | ||
+ | |||
+ | :Prostredníctvom autorizačných pravidiel sa riadi prístup užívateľov ku konkrétnym adresárom a súborom. Riadený prístup k adresárom sa realizuje umiestením konfiguračného súboru s autorizačnými pravidlami do príslušného adresára. Riadený prístup ku konkrétnym súborom sa realizuje prostredníctvom prvku '''<nowiki><</nowiki>location<nowiki>></nowiki>''' , v ktorom konkretizujeme cestu k súboru. ( pozri Tab. 6.2) | ||
+ | |||
+ | {|class="wikitable" | ||
+ | '''Tab. 6.2''' Konfigurácia autorizačných pravidiel pre riadený prístup k súboru | ||
+ | |- | ||
+ | |<source lang="xml"> | ||
+ | <location path="SecrurePage.asmx"> | ||
+ | <system.web> | ||
+ | <authorization> | ||
+ | <deny users="?"/> | ||
+ | </authorization> | ||
+ | </system.web> | ||
+ | </location> | ||
+ | </source> | ||
+ | |} |
Aktuálna revízia z 14:12, 11. jún 2010
Autorizácia
V predchádzajúcich kapitolách sme vysvetlili metódy, akými môžeme overiť identitu užívateľa volajúceho webovú službu. Podrobnejšie sme si rozobrali tie, ktoré sú v praxi úspešne využívané v rôznych bezpečnostných scenároch. Získanie skutočnej identity klienta predstavuje len prvý krok k vytvoreniu bezpečnej komunikácie. Potrebujeme vedieť, aké má klient oprávnenie v rámci našej webovej služby, aké webové metódy webovej služby môže volať, k akým zdrojom, či už k databázam, alebo súborom smie pristupovať. Proces, v ktorom zisťujeme oprávnenia, sa nazýva autorizácia.
V tejto kapitole si rozoberieme spôsoby autorizácie s využitím konfiguračného súboru web.config webovej služby.
Autorizácia URL
Ako sme už spomenuli, autorizačné pravidlá definujeme v konfiguračnom súbore webovej služby, tie sú vykonávané prostredníctvom špeciálneho HTTP modulu UrlAuthorization-Module. Princíp fungovania tohto modulu spočíva v analýze a kontrole každej požiadavky užívateľa, tým je zabezpečená ochrana neautorizovaného prístupu. Tento model autorizácie kontroluje bezpečnostný kontext a URL zdroj, ku ktorému žiada užívateľ prístup.[13]
Autorizačné pravidlá
V tejto podkapitole si vysvetlíme samotný spôsob realizácie autorizácie v konfiguračnom súbore webovej služby. Autorizačné pravidlá sa definujú v súbore web.confing prostredníctvom prvku <authorization>, pomocou ktorého môžeme vytvoriť dva typy autorizačných pravidiel [4]:
- Pravidlo zakazujúce prístup, prostredníctvom prvku <deny>.
- Pravidlo povoľujúce prístup, prostredníctvom prvku <allows>.
Oba typy autorizačných pravidiel môžeme aplikovať [4] :
- Na jedného užívateľa použitím kľúčového slova user.
- Na skupinu užívateľov (rolí) použitím kľúčového slova roles.
- Alebo môžeme použiť kľúčové slovo verbs a prostredníctvom neho určiť konkrétne typy HTTP požiadaviek, na ktoré sa bude pravidlo aplikovať.
<authorization>
<allow users="Zoznam uzivatelov"
roles="Zoznam roli"
verbs="Typy HTTP poziadaviek"
/>
<deny users="Zoznam uzivatelov"
roles="Zoznam roli"
verbs="Typy HTTP poziadaviek"
/>
</authorization>
|
Pri definovaní pravidiel môžeme využiť tieto zástupné znaky [1]:
- Znak ?, ktorý reprezentuje všetkých anonymných užívateľov.
- Znak *, ktorý reprezentuje všetkých užívateľov.
Proces aplikácie konfiguračných pravidiel je pre webové služby ASP.NET nasledovný. Najskôr sa aplikujú konfiguračné pravidlá z príslušného konfiguračného súboru web.config a následné sa aplikujú pravidlá zo súboru machine.config. Autorizačné pravidlá sa aplikujú v tom poradí, v akom sú v konfiguračnom súbore zapísané. [15]
- Prostredníctvom autorizačných pravidiel sa riadi prístup užívateľov ku konkrétnym adresárom a súborom. Riadený prístup k adresárom sa realizuje umiestením konfiguračného súboru s autorizačnými pravidlami do príslušného adresára. Riadený prístup ku konkrétnym súborom sa realizuje prostredníctvom prvku <location> , v ktorom konkretizujeme cestu k súboru. ( pozri Tab. 6.2)
<location path="SecrurePage.asmx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
|