Home > Published Issues > 2023 > Volume 14, No. 4, 2023 >
JAIT 2023 Vol.14(4): 758-768
doi: 10.12720/jait.14.4.758-768

Authentication and Role-Based Authorization in Microservice Architecture: A Generic Performance-Centric Design

Randa Ahmad Al-Wadi * and Adi A. Maaita
Department of Software Engineering, Isra University, Amman, Jordan; Email: adi.maaita@iu.edu.jo (A.A.M.)
*Correspondence: randa.it.alwadi@gmail.com (R.A.A.W.)

Manuscript received January 13, 2023; revised March 15, 2023; accepted April 26, 2023; published August 3, 2023.

Abstract—In a microservice-based system, each microservice is a stand-alone application that may be targeted individually to obtain unauthorized access. Consequently, it is necessary to include authentication and authorization features. However, a set of related design decisions needs to be taken in a way that accommodates the scale of a developed system. To illustrate, a user may be authenticated depending on a password and authorized based on roles. In such a case, one integrated authentication and role-based authorization microservice can be added. Besides, the Application Programming Interfaces (APIs) that are associated with roles may be hard-coded as static API-level role authorization checks. Nevertheless, static relation between roles and APIs hinders the ease of modification of their associations when a massive number of APIs exist in a microservice system. To transform the relation into dynamic relation, this paper presents a generic microservice-based architectural design with a separate role-based authorization microservice that contains role/API database records. Moreover, it shows experimentation for performance optimization that was carried out on authentication and role-based authorization databases to utilize the suggested architectural design. The obtained results of password-based authentication encouraged employing not only Structured Query Language (NoSQL) databases with small microservice-based systems, which deal with 1500 users or less while employing Structured Query Language (SQL) databases with medium to large systems. Furthermore, the results indicated that there is no difference between the two database types in the role-based authorization process for all API-based system scale levels.
 
Keywords—microservices, architectural design, security, password-based authentication, role-based authorization, Application Programming Interface (API), Structured Query Language (SQL), not only SQL (NoSQL), response time

Cite: Randa Ahmad Al-Wadi and Adi A. Maaita, "Authentication and Role-Based Authorization in Microservice Architecture: A Generic Performance-Centric Design," Journal of Advances in Information Technology, Vol. 14, No. 4, pp. 758-768, 2023.

Copyright © 2023 by the authors. This is an open access article distributed under the Creative Commons Attribution License (CC BY-NC-ND 4.0), which permits use, distribution and reproduction in any medium, provided that the article is properly cited, the use is non-commercial and no modifications or adaptations are made.