Mikroservisa autorizēšanās sistēma balstīta uz XACML standartu
Author
Cukurs, Druvis
Co-author
Latvijas Universitāte. Datorikas fakultāte
Advisor
Trukšāns, Leo
Date
2017Metadata
Show full item recordAbstract
Bakalaura darbā ir izpētīts XACML standarts, kas ir vecākais un populārākais no diviem atribūtu bāzētās piekļuves kontroles standartiem. Galvenais mērķis bakalaura darba izstrādē bija izstrādāt uz XACML standarta balstītu, bet ne obligāti tā implementējošu autorizēšanās sistēmu, kas ir veidota Node.js vidē TypeScript programmēšanas valodā un ir vieglāk izmantojama par esošajiem risinājumiem. Viens no veidiem, kā padarīt implementēto sistēmu vieglāk izmantojumu, bija izstrādāt jaunu, uz XML nebalstītu politiku valodu un tās apstrādes modeli. Teorētiskajā daļā ir aprakstīts XACML standarts - tā politiku valoda, darbības mehānismi un arhitektūra -, sniegts pārskats par esošajām atvērtā pirmkoda un komerciālajām standarta implementācijām, un galvenokārt aprakstīta praktiskajā daļā implementētā autorizēšanās sistēma - jaunizveidotā politiku valoda, tās darbības mehānismi, elementi un to atšķirības no standarta, un kā ir implementēta pirmajā nodaļā aprakstītā XACML arhitektūra. Nobeigumā ir aprakstīti rezultāti un iegūtie secinājumi. The research subject of this bachelor thesis is the XACML standard, which is the oldest and the most used one of the two attribute based access standards. The main goal of this thesis was to develop a XACML based, but not necessarily a conforming authorization system, which is developed in Node.js and the TypeScript programming language and is easier to use than the existing implementations. One of the ways how to make it easier to use was to develop a new policy language which is not based on XML. The theoretical part of the bachelor thesis starts with the analysis and description of the XCML standard - the standard's policy language, processing model and architecture. It's followed by an overview of the existing open source and commercial implementations. Finally the implemented authorization system itself is described - the newly created policy language, the processing model, elements and their differences from the standard, and how the described architecture in the first chapter was implemented in the actual system. At the end there are the results and the conclusions drawn from the work on the thesis.