ΠΥΞΙΔΑ Ιδρυματικό Αποθετήριο
και Ψηφιακή Βιβλιοθήκη
Συλλογές :

Τίτλος :Securing RESTful APIs with Open Policy Agent
Εναλλακτικός τίτλος :Ασφάλεια των RESTful APIS με το Open Policy Agent
Δημιουργός :Κόκκος, Δημήτριος
Kokkos, Dimitrios
Συντελεστής :Xylomenos, George (Επιβλέπων καθηγητής)
Polyzos, George (Εξεταστής)
Gkritzalis, Dimitrios (Εξεταστής)
Athens University of Economics and Business, Department of Informatics (Degree granting institution)
Τύπος :Text
Φυσική περιγραφή :48p.
Γλώσσα :en
Αναγνωριστικό :http://www.pyxida.aueb.gr/index.php?op=view_object&object_id=11910
Περίληψη :Σε αυτή τη μεταπτυχιακή διατριβή εξετάζεται η εφαρμογή του Open Policy Agent (OPA) σε ένα software stack, ένα open source policy engine που λειτουργεί ως Policy Decision Point. Η λειτουργία του ως σημείο τήρησης της εξουσιοδότησης πρόσβασης και επιβολή πολιτικών ελέγχου έχει ως αποτέλεσμα την αφαίρεση ολόκληρου του ελέγχου πρόσβασης από το επίπεδο εφαρμογής, μετατοπίζοντάς το σε μια εξωτερική, κεντρική οντότητα διαχείρισης πολιτικής. Θα γίνει εισαγωγή στην γλώσσα Rego, μια δηλωτική γλώσσα υψηλού επιπέδου, την οποία χρησιμοποιεί το OPA για τη σύνταξη και τον καθορισμό σύνθετων πολιτικών γραμμένων στη μορφή κώδικα. Αυτός ο τρόπος σύνταξης και ανάπτυξης πολιτικών επιτρέπει τη δημιουργία λεπτομερών, δυναμικών κανόνων που βασίζονται στις εκάστοτε απαιτήσεις ασφαλείας, υποστηρίζοντας την ανάπτυξη αξιόπιστων και επεκτάσιμων πλαισίων ελέγχου πρόσβασης σε διάφορα περιβάλλοντα συστήματος.Επιπλέον, οι ορισμοί των θεμελιωδών εννοιών όπως η αναγνώριση, η ταυτοποίηση και η εξουσιοδότηση θα διευκρινιστούν, καθώς η σαφής κατανόηση των διακρίσεών τους είναι απαραίτητη για την κατανόηση του πλαισίου της διαχείρισης πολιτικής και των πλαισίων εξουσιοδότησης. Επιπλέον, αναλύονται και ορίζονται διαφορετικά μοντέλα ελέγχου πρόσβασης παρέχοντας μια ολοκληρωμένη ανάλυση του ρόλου και της αποτελεσματικότητάς τους σε διαφορετικές αρχιτεκτονικές ασφαλείας.Στη συγκεκριμένη προσέγγιση, για να διευκολύνουμε τη χρήση του OPA, θα προστατεύσουμε και θα εξασφαλίσουμε ένα RESTful API, αφαιρώντας τους μηχανισμούς ελέγχου πρόσβασης από το επίπεδο εφαρμογής. Θα χρησιμοποιήσουμε ένα reverse proxy (NGINX), ένα ενδιάμεσο custom-written proxy, γραμμένο σε JavaScript, που υποστηρίζει τη μεταφορά δεδομένων που χρειάζεται το OPA για την αξιολόγηση των πολιτικών από τον NGINX στο OPA και ένα API που αναπτύχθηκε στη γλώσσα GO.Αυτή η διατριβή υπογραμμίζει ένα κύριο πλεονέκτημα του OPA ως Policy Decision Point: οι προγραμματιστές μπορούν να επικεντρωθούν αποκλειστικά στην ανάπτυξη κώδικα, με περαιτέρω πλεονεκτήματα που αναπτύσσονται στη συνέχεια της εργασίας, και καταδεικνύει πώς το OPA ενισχύει την ασφάλεια και την επεκτασιμότητα του στις σύγχρονες αρχιτεκτονικές συστημάτων.
This graduate thesis examines the application of Open Policy Agent (OPA) in a software stack, an open-source policy engine which acts as a Policy Decision Point. Acting as an authorization point and enforcing access control policies results in the decoupling of the entire access control mechanism from the application layer, shifting it to an external, centralized policy management entity. Rego will be introduced, a high-level declarative language, which OPA uses to write and define complex policies written as code. This way of writing and developing policies enables the creation of fine-grained, dynamic authorization rules based on security requirements, supporting the development of reliable and scalable access control frameworks across diverse system environments.Additionally, definitions of fundamental concepts such as identification, authentication and authorization will be clarified as a clear understanding of their distinctions is essential for understanding the context of policy management and authorization frameworks. Furthermore, different access control models are analyzed and defined to provide a comprehensive understanding of their role and effectiveness in different security architectures.In this approach, to facilitate the usage of OPA we will protect and secure a RESTful API, unlinking access control mechanisms from the application layer. We will use a reverse proxy (NGINX), an intermediate custom-written proxy, written in JavaScript, supporting the transportation of data that OPA needs to evaluate policies from NGINX to OPA and an API developed in GO.This thesis highlights one main advantage of using OPA as a Policy Decision Point: developers can focus solely on developing code, with further benefits explored throughout the work, and demonstrates how integrating OPA enhances security, scalability, and maintainability in modern system architectures, providing valuable insights for both academic research and industry practices.
Λέξη κλειδί :Ασφάλεια
Συστήματα
Έλεγχος
Εξουσιοδότηση
Αυθεντικοποίηση
Security
Systems
Access
Authorization
Authentication
Διαθέσιμο από :2025-02-20 21:03:46
Ημερομηνία έκδοσης :10-01-2025
Ημερομηνία κατάθεσης :2025-02-20 21:03:46
Δικαιώματα χρήσης :Free access
Άδεια χρήσης :

Αρχείο: Kokkos_2025.pdf

Τύπος: application/pdf