Access Control Design Practice and Solutions in Cloud-Native Architecture: A Systematic Mapping Study
Abstract
:1. Introduction
- Categorize the access control mechanism addressed in microservices and cloud-native architecture.
- Classify the authentication and authorization techniques in microservices and cloud-native architecture.
- Study the possible access control mechanism’s relationship to software vulnerabilities resulting from inappropriate access control.
- Description of the problems with MSA access control and the open challenges with a broader statement of purpose for the community of researchers and practitioners involved in that area.
2. Related Works
3. Research Methodology
3.1. Research Questions
- Identify and classify attacks or vulnerabilities resulting from improper implementation of access control mechanisms in cloud-native architectures.
- Determine the access control strategy to defend against attacks.
- Determine the appropriate authentication and authorization mechanism which can contribute to maintaining the security life goals of cloud-native systems.
- Identify existing tools or approaches implemented for access control.
- Discover the shortcomings found and concentrate on the strategies and challenges for each objective mentioned above.
3.2. Research Questions
- RQ1:
- What are the most common access control mechanisms that are practitioner utilized in cloud-native architecture?
- a
- What classification or taxonomy does each of these techniques fit into?
- RQ2:
- What authentication and authorization techniques are addressed in the current literature?
- a
- What is the taxonomy or classification of these tactics?
- RQ3:
- What tools or approaches addressing the techniques align with proper access control mechanisms in the literature?
- a
- What functionalities are supported by them?
- RQ4:
- What are the existing limitations and challenges in the cloud-native architecture’s access control implementation?
- RQ1: The first research question aims to provide an overview of current access control mechanisms used in cloud-native architecture. This question is foundational, as it provides a basis for understanding the current state of access control mechanisms in cloud-native architecture.
- RQ2: The second research question builds on the first, exploring the factors influencing the selection and implementation of authentication/authorization techniques in cloud-native architecture. Authentication and authorization techniques are a subset of access control mechanisms. Access control encompasses a broad range of security measures that control access to resources, including authentication and authorization.
- RQ3: The third research question takes a more technical perspective, exploring the integration of access control and authentication/authorization with other cloud-native technologies and the challenges of managing these mechanisms effectively in complex, multi-cloud environments. This question is important because it considers the practical implications of implementing access control and authentication/authorization in cloud-native architecture.
- RQ4: The fourth research question is more forward-looking, focusing on the future research challenges and opportunities in access control and authentication/authorization in cloud-native architecture. This question is important because it highlights potential areas for future research, such as developing new tools and frameworks to support the implementation of these mechanisms, and exploring new approaches to optimizing their performance, scalability, and security.
3.3. Searching Methodology
- ACM Digital Library;
- IEEE Xplorer;
- Springer Link;
- Scopus;
- Science Direct.
Listing 1. Search Query. |
("access control" OR "access right" OR "authentication"
OR "authorization" OR "identity") AND ("design pattern") AND ("micro service" OR "micro-service" OR "cloud-native" OR "cloud native") |
3.4. Study Selection
3.5. Inclusion Criteria
- Publications published since 2012;
- Articles written in English;
- Publications including studies conducted with access control design patterns of microservice architectures as their primary topics;
- Articles addressing security solutions covering the authentication and authorization mechanism;
- Publications with full text available in the specified databases;
- Research publications recommending strategies, frameworks, methodologies, or tools to deal with the prevalent access control pattern used by cloud-native systems.
Exclusion Criteria
- Articles that have not undergone peer review;
- Available research papers in the chosen databases without the full text;
- Publication addressing only the development and design aspects of cloud-native architecture;
- Editorials and tutorial papers;
- Publications that outline the overall architectural concept but do not mention access control in microservices;
- Papers published as short paper (fewer than 3 pages).
3.6. Data Extraction and Synthesis
4. Result
4.1. Result Analysis
4.2. Access Control and Design Patterns in Cloud-Native Systems: RQ1
- Design pattern related to deployment: The deployment of an internal cloud service, positioned behind an internal load balancer that spawns new service instances following load requirements and registers them with the load balancer, resulting in seamless scalability and elasticity is part of Kogias et al.’s [27] focus on the practice of pattern. Concerning removing the load balancer from the critical channel, they provide direct communication latencies. For example, the proposed system CRAB, a Connection Redirect Load Balancer, enables traffic redirection to handle complex load balancing policies. This approach’s advantage is managing the workload for the load balancer, which includes user authentication and gives the service communication flexibility. However, the web tier and the backend layer can scale separately and remain independent due to utilizing the two load balancers in this design pattern.
- Design pattern related to development: Vale et al. [37] presented the rationality of the design pattern practitioners employed in developing microservice-based systems. They also provided the pains and gains in those patterns and evaluated the quality attributes by tracking key facets of software quality. Finally, they asserted that practitioners only sometimes use QAs as the word to express and assess the properties of their systems. They divided the design patterns into seven categories, where security is one of them. The practitioner’s survey indicates that gateway routing is considered a gain among those patterns, providing a single access layer decoupling between the client and the services. Waseem et al. [48] conducted a survey and responses from practitioners and found six results, including business capability, domain-driven, API gateways, and backend, where the most common MSA patterns are an API gateway and backend for the frontend. They provided answers to the problems that microservice-based systems’ security issues raised due to unauthorized access to the system. They recommended combining DevSecOps [49] with microservices to handle security issues and adopt modern security solutions from cloud service providers. Carranza-García et al. [46] pointed out some of the key UML language components that should be customized or enhanced to make it easier to create microservice-based software for ubiquitous systems. These UML features are identified using the case study scenario of an intelligent approach to verify attendance in a ubiquitous learning environment. Sebrechts et al. [39] described a sophisticated disconnection of cloud-native architecture and fog computing and proposed a set of design patterns and a fog-native architecture to utilize the fog fully. Applications are built using intent-based workflow building, consisting of loosely coupled microservices chosen to meet user needs best. Microservice grouping under a single proxy, frictionless user-microservice and inter-microservice connections, and request aggregation are all made possible by a new fog mesh. The design presents a unique softwarized fog mesh that supports end-user aggregation, external communication, and inter-microservice connection. Secure API communications are crucial in microservice development, considering the gigantic architecture. Platform-agnostic design patterns or standard remote API technologies such as RESTful HTTP and Web services (WSDL/SOAP) are described by Zimmermann et al. [23]. They introduced attribute-based access control management to address security issues for data privacy and integrity. They emphasized the importance of proper authentication over inter-service communication with API keys.
- Secure multi-tenancy cloud pattern: A multi-tenant framework that adds sufficient multi-tenant functionality to Kubernetes was suggested by Zheng et al. [36]. They employed role-based access control (RBAC) to reduce excessive tenant resource usage. To offer acceptable security, though, more is required. They demonstrated how separating the control plane for resource sharing significantly improves API compatibility and security management with the proper access management with tenants. The focus of Adewojo et al. [38] is on the cloud’s multi-tenancy issue, namely the tenant-isolated and dedicated component pattern. Their research is driven by the need to service a broad consumer base, use available resources, and benefit from economies of scale because it is cost-effective to provide three levels of multi-tenancy patterns—shared component, tenant-isolated component, and dedicated component—and enforce access rights with tenants that completely secure information and data privacy.
- Secure access control management: To ensure security for the organization, it is essential to have a proper access control mechanism. Yan et al. [45] presented the IoT business procedures, common access technologies, and the microservice architectural design idea. They explored the application of a unified access security gateway in the transmission sector. The development of the security gateway indicated the implementation of the access control center, the Identity Authentication Center, which provides secure communication management with automated routing.
4.3. Authentication and Authorization Mechanism in Cloud-Native: RQ2
- Security assessment in an API Gateway: The continuous security assessment is challenging while also developing and maintaining. The security team needs to monitor and evaluate the system’s security requirements and goals based on several specific criteria. However, the gigantic structure of how authentication and authorization can be employed, which can be utilized in security assessment, needs attention as it can break the confidentiality and integrity of the system. For example, Torkura et al. [20] addressed this, defined the security assessment, and provided a token-based authentication and authorization scheme for the system.
- Development approach: Haugeland et al. [30] presented the migration strategy from a monolithic architecture to microservice-based systems. They suggested the second stage of the migration includes implementing an API gateway and back-end communication. The inclusion of an identity server handles the different features to provide significant security by managing authentication and authorization for the various tenants. In addition, it demonstrated how the TenantManager supplies the services with endpoints for tenant-specific modifications while the API gateway acts on the user’s behalf to obtain access to the resources and oversee user login, authentication, and permission. Jayawardana et al. [35] provided a creative method for modeling domain expertise and business processes in a single specification that might result in boilerplate code that complies with microservice architecture. They utilized an API key and JSON Web Token (JWT) token-based authentication in their framework, which provides comprehensive insight into the authentication mechanism using Transport Layer Security (TLS) and OAuth2. In addition, the framework implements the functionality corresponding to the security protocols, which is the critical pathway of this research.
- Architectural considerations: Researchers have established several strategies for microservices to adapt an authentication and authorization mechanism in their applications. Pereira-Vale et al. [47] addressed the standard security mechanism of microservice-based systems where identification, authorization, and authentication are the most noted mechanisms. The use of authentication and authorization in microservice-based architectures is based on the imitation in each microservice of the techniques used for monolithic architectures by the Authenticator and Authorizer security patterns; as a result, each service operates its database or a shared database that stores credential data, but implements its user verification. Several studies in their analysis support those strategies mentioned. Alonso et al. [44] carried out an in-depth literature review on the difficulties of multi-cloud native applications, focusing on authentication, authorization, or privacy methods to handle security-related issues. By sharing data across several providers, using multiple clouds considerably increases the benefit of data confidentiality while overcoming the four significant drawbacks of cloud computing for data storage: loss of availability, corruption of data, loss of privacy, and vendor lock-in. Jiao et al. [29] presented an analysis to address the performance monitoring and security issues with microservices. Designers and researchers have developed a cloud-native application architecture based on Kubernetes. These architecture features are present: it breaks the link between environment-related tasks such as database deployment, performance detection deployment, and service request security verification, allowing microservice applications to focus more on the execution of business logic. The microservice application uses the authorization and authentication module to manage API calls, ensuring the security of the microservices and taking the intricate nature of requests into account in the vast microservice network. To incorporate several authentication and authorization mechanisms in their application, Bánáti et al. [40] looked into several of them. Their practical use offers a crucial examination of sensitive data security solutions, particularly the problems with authentication and authorization.
4.4. Tools and Approaches Used in the Existing Literature: RQ3
- Container-based access control approach: To use the isolation advantages of having the two microservices run in distinct containers, Suneja et al. [22] presented an alternative strategy called container fusion. The utility microservice can receive the access and capabilities necessary to perform its functionality under the boundaries between the two containers defined via diffusion mechanisms.
- Encryption-based approach: Dixit et al. [33] addressed the single point of attack of cloud-based systems for health record retention that aim to protect data privacy. They developed a system that combines Semantic Web and Multi-Authority Attribute-Based Encryption (MA-ABE) technologies to offer a secure, semantically rich method for facilitating data exchange across organizations that control various end-user attributes using a uniform dataset. Their strategy implements Multi-Authority Attribute-Based Encryption, which can securely provide the privacy of electronic health records, and enforces attribute-based access control to ensure the proper access rights.
- Identity management solution: Pohn et al. [31] proposed the identity management service model framework (IMSMF), which was developed in a generic service-oriented manner with a focus on the supporting toolkit of Enterprise Architecture using the open enterprise modeling language ArchiMate, which is the most popular modeling technique. They launched AuthNZ, a business solution that handles authentication and authorization and starts the access management procedure. Several forms of authentication and permission are available through this broker. By managing trustworthy third parties (TTPs), the business cooperation third party AuthN Broker expands the core business. Google and Facebook may be among these TTPs.
- Architectural consideration: A dynamic granular access control approach was proposed on top of several authorization frameworks by Preuveneers et al. [32]. In continually growing cloud and edge microservice federations, implementing this architecture provides the delegation of management of access control decisions to many stakeholders. Moreover, with only a relative performance overhead, the approach can effectively accommodate many owners for each resource. Poniszewska-Marada [43] designed and implemented a web application based on the microservice architecture to assess the usefulness of this architecture for developing corporate online applications. How the authentication and authorization are handled with a separate authentication microservice has been demonstrated for implementing the architectural perspective. This microservice comprehensively manages access rights and performs Data Encryption Standard (DES) encryption with a token-based mechanism. Yang et al. [41] provided an architectural management solution that addressed several identity and access control issues in cloud-based systems. The comprehensive advantages of the architecture provide secure access, standardization, scalability, and encryption, which can optimize and enhance the security of the systems.
4.5. Challenges Practitioners Addressed: RQ4
- Security challenges on authentication and authorization: To address the problems of flaws, errors, malfunctions, and mistakes, Waseem et al. [21] conducted a qualitative study on 1345 issue talks taken from five open-source microservices applications. They divided the security challenges they described into categories for authentication and authorization, managing authorization headers, and shared authentication. Furthermore, they provided explanations for several errors that occurred when the JWT token was implemented where the lite rest API anticipated it to be in the authorization module. Their findings also emphasized the need for open-source microservices systems where SSL connections could not be made while using Docker 2.3.0.3 with Windows Subsystem for Linux 2 (WSL2) support to integrate security certificates and standards. In-depth analysis of the security issues and solutions commonly mentioned by microservices practitioners was presented by Billawa et al. [24]. Here, we can acquire the challenges and corresponding guidelines in the existing literature in access control, authentication, and authorization in microservices.
- Challenges related to database: Secure data communication is one of the critical challenges in microservice systems. Practitioners need to adopt several mechanisms for that. Given this information, Oceans et al. [26] detailed and discussed conventional methods of protecting databases through encryption, presenting use cases for cloud and container technology, secure remote computing with SGX, homomorphic encryption, etc., and discussing their effects on security. In this study, the authors provide an overview of database encryption and management in the cloud and microservice architecture, which give a comprehensive analysis.
- Communication: Two communication patterns, choreography and orchestration, are understood by Megargel et al. [42], who also provided a decision framework for microservices collaboration patterns that aids solution architects in articulating their objectives, contrasting the critical factors, and selecting a pattern using a weighted scoring mechanism. Using three case studies, they demonstrated which one to pick for secure communication.
- Challenges related to design patterns: A cloud architecture that ensures managing failure even if crucial components briefly malfunction was given by Bau et al. [34]. They examined three-level designs, such as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). They showed how to integrate secure authentication, overcome identity management issues, and maintain by design robustness, scalability, and flexibility.
- Challenges related to improper access control: In their discussion of cloud add-ons, Bui et al. [25] discussed instances where attackers may deliver malicious data to cloud services using their document-sharing and messaging capabilities. They mentioned to prevent add-ons from having unrestricted access to user information in the host application, cloud application suppliers often incorporate permission-based access control. There is a list of permissions that each add-on needs to function. For example, when users launch the host program for the first time or when it is installed, they are often prompted to accept the permissions explicitly. Their research revealed that this tendency is coarsely grained, requiring the user to give all requested rights for all user data or a single document. Moreover, they think that because Cross-Site Scripting (XSS) attackers execute their malicious scripts within the add-on context, such access control is useless in guarding against them. Servos et al. [28] analyzed the attribute-based access control mechanism (ABAC) and comprehended the utilization of this in cloud computing. The introduction of a domain-centric approach to implementing web services in cloud computing applying ABAC has been investigated. The current process and several methodologies provide a general idea of how to employ this in maintaining web security.
5. Threats to Validity
- Validity Construction: Our study’s identification of primary studies from the numerous articles retrieved in the literature poses a threat to its construct validity. We have followed the guideline from [50] to design the secletion of search engine. The study topic was the primary factor in developing the search strategy, which directed us to choose the search query. To include more research for consideration, we produced two iterations of snowballing. Lastly, to guarantee that only the best studies were included, we developed a set of strict inclusion and exclusion criteria where only articles published in peer-reviewed journals and conferences were accepted because of their quality and adequate outcomes. Since we are referring to the access control mechanisms of a cloud-native application, some of the research on IoT-based solutions have been skipped because of the intended scope.
- Internal validity: To retain the internal validity of our findings, we took great caution. The data extraction from the group of included research raises a problem for internal validity. We managed the selection by involving two authors, where the initial selection has been considered and then we all came to a point where we considered the inclusion of the articles. We devised a method of looking for pertinent literature using the given keywords, then applying a snowballing procedure backward to the selected publications to reduce the risks.
- External threats: The external validity is concerned with the usefulness of a collection of findings in a wider context. Using the collected material, the classification techniques employed in this mapping were developed. The analysis and suggestions are given in the discussion to construct the baseline for the access control mechanism focused on this investigation’s difficulties and potential future expansion.
- Conclusion threats: Our study focuses on using categories for access control mechanisms and authentication–authorization strategies to maintain the conclusion validity of our findings. In practice, several varieties are examined, but only some allow for accurately classifying all the identified research. Finally, we selected a categorization based on a more thorough examination of the articles and solutions in the identified articles. Some of our classification categories were used just as they were or modified to fit our study’s requirements.
6. Discussion
6.1. Efficient Access Control Mechanism
- Setting up the UID with access to a system;
- Defining the role;
- Assessing the permission equivalent to access rights;
- Mapping between a user and a group of roles allocated to the user during a working period, or in a session;
- Defining an object, which is a system resource that needs access authorization;
- A protected network.
- A user can only operate if the topic has a role assigned to it;
- Operations do not include identification and authentication;
- Procedures are used to carry out all user activities.
6.2. Security Design Pattern of Cloud-Native Systems
- Protecting attack surfaces: Numerous services that various clients and systems may access are often included in microservices applications. Since it is hard to keep track of every service, it exposes them to many security vulnerabilities. Because of this, we need to set up an API Gateway to manage, monitor over, and inspect all incoming traffic before it is forwarded to the intended service. The API Gateway is the security policy enforcement point, where we can define a set of rules, communication protocol, and service registry which can protect our internal service instances.
- Defense-in-depth: Different backend services have different priority and sensitivity levels. There cannot be a single, universal approach that applies to all services. Depending on the microservice, the protection level should differ. For example, there might be open-read APIs, for instance, accessible to all callers. Once the caller has been verified, more services may be available, including premium or administrative services that must be approved based on the user profile and rigorously guarded against unauthorized access. A straightforward STS cannot meet this demand with an API gateway. We can employ in-depth defense that provides multi-layer security controls to tackle this. There can be an additional layer of security in the form of a private API gateway with an extra filter and authorization scheme for the use case when a different level of protection needs to be established for premium or admin services. To access these secure inner layers, a caller must use façade services and complete an additional authorization step.
- Applying security principle, least privilege scheme: The least privilege concept must guide API design. Only authenticated and authorized users should be granted access to the API. Access to APIs should only be allowed when necessary. Begin with the minimum necessary access and increase it only as needed.
- Service monitoring: Proper access control mechanisms must also monitor the service instances. We need to check the health information of the service instances regularly and deregister the service if it is “down” for a certain period. A faulty or unaddressed service instance can cause severe vulnerabilities in the system.
6.3. Communication Mechanism
- Mutual Transport Layer Security (mTLS): A trustworthy certificate authority has produced a public/private key pair for each microservice. The client then authenticates using mTLS using the key pair. Each microservice is identified and established by mTLS using x.509 certificates. Each certificate is signed by a reputable certificate authority and includes a public encryption key and an identity (CA). To establish encryption keys specific to each communication, each microservice in a service mesh checks the other’s certificate using the public keys. mTLS provides a secure way to ensure that each microservice connection is verified, authorized, and encrypted as privacy compliance needs to increase and zero-trust security becomes the cornerstone of enterprise cybersecurity policies.
- JSON Web Token (JWT): A very well-liked method for user authorization in microservices is JWT (JSON Web Token). This standard provides secure communication between two parties and is used to generate access tokens for applications. In this scheme, the client receives a token developed by the authentication server and certified as belonging to the user. For each future request, the client will transmit the token back to the server, allowing the latter to identify the request’s origin. The client contacts the authorization server to obtain an encrypted access token when a request is made. User information is included in this access token, which is provided to microservices. Services may verify and decode the token to identify the user accessing it. JWT typically has a payload (information on the authorization and its expiration) and a header (information on the encryption scheme), both of which are signed with the identity service secret (HMAC) or private key (RSA).
- Encrypted communication: To obtain the most significant isolation, services can be effectively broken down utilizing various controlling principles, such as the Single Responsibility Principle (SRP) and the Common Closure Principle (CCP). However, because the transactions involve numerous companies, interservice contact is inevitable. In addition, the data are stored in several heterogeneous database technologies according to the requirements where managing data security is challenging. The security requirements for the data at rest may be satisfied by encrypting it using methods such as Vormetric transparent encryption or by utilizing secure keys that are changed once every few days. Furthermore, the storage containers for the cache systems and file storage should be encrypted using strong passwords. Data that are in transmission should be encrypted using certificates and SSL layers.
6.4. Future Trends and Open Issues
- Context-aware access control: Future access control mechanisms can consider the user’s context and the resource being accessed, such as location, device type, and time of day, to make more informed access control decisions.
- Fine-grained access control: Fine-grained access control mechanisms may be developed that allow for more granular control over access to specific data objects and resources within cloud-native systems.
- Zero-trust security: Zero-trust security models may become more prevalent in cloud-native systems where access is granted on a need-to-know basis, and users are continuously authenticated and authorized based on their current context.
- Artificial intelligence (AI) and machine learning (ML): AI and ML technologies may be incorporated into access control mechanisms to enable more automated and intelligent access decisions and reduce the risk of human error.
- Multi-cloud access control: As more organizations adopt multi-cloud strategies, access control mechanisms may be developed that allow consistent access control policies across multiple cloud environments.
7. Conclusions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Odun-Ayo, I.; Goddy-Worlu, R.; Ajayi, L.; Edosomwan, B.; Okezie, F. A Systematic Mapping Study of Cloud-native Application Design and Engineering. J. Phys. Conf. Ser. 2019, 1378, 032092. [Google Scholar] [CrossRef]
- Desai, V.; Koladia, Y.; Pansambal, S. Microservices: Architecture and Technologies. Int. J. Res. Appl. Sci. Eng. Technol. 2020, 8, 679–686. [Google Scholar] [CrossRef]
- Villamizar, M.; Garcés, O.; Castro, H.; Verano, M.; Salamanca, L.; Casallas, R.; Gil, S. Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. In Proceedings of the 2015 10th Computing Colombian Conference (10CCC), Bogota, Colombia, 21–25 September 2015; pp. 583–590. [Google Scholar] [CrossRef]
- Krylovskiy, A.; Jahn, M.; Patti, E. Designing a Smart City Internet of Things Platform with Microservice Architecture. In Proceedings of the 2015 3rd International Conference on Future Internet of Things and Cloud, Rome, Italy, 24–26 August 2015; pp. 25–30. [Google Scholar] [CrossRef]
- Lu, D.; Huang, D.; Walenstein, A.; Medhi, D. A Secure Microservice Framework for IoT. In Proceedings of the 2017 IEEE Symposium on Service-Oriented System Engineering (SOSE), San Francisco, CA, USA, 6–9 April 2017; pp. 9–18. [Google Scholar] [CrossRef]
- Chandramouli, R. Security Strategies for Microservices-Based Application Systems. 2019. Available online: https://csrc.nist.gov/publications/detail/sp/800-204/final (accessed on 15 March 2023).
- Trakadas, P.; Nomikos, N.; Michailidis, E.T.; Zahariadis, T.; Facca, F.M.; Breitgand, D.; Rizou, S.; Masip, X.; Gkonis, P. Hybrid clouds for data-intensive, 5G-enabled IoT applications: An overview, key issues and relevant architecture. Sensors 2019, 19, 3591. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Microservices. Available online: https://www.whitehatsec.com/blog/microservices-security/ (accessed on 12 July 2021).
- Microservices. Available online: https://info.whitehatsec.com/rs/675-YBI-674/images/WhiteHatStatsReport2018.pdf (accessed on 12 July 2021).
- Pereira-Vale, A.; Fernandez, E.B.; Monge, R.; Astudillo, H.; Márquez, G. Security in microservice-based systems: A multivocal literature review. Comput. Secur. 2021, 103, 102200. [Google Scholar] [CrossRef]
- Rahaman, M.S.; Islam, A.; Cerny, T.; Hutton, S. Static-Analysis-Based Solutions to Security Challenges in Cloud-Native Systems: Systematic Mapping Study. Sensors 2023, 23, 1755. [Google Scholar] [CrossRef] [PubMed]
- Hannousse, A.; Yahiouche, S. Securing Microservices and Microservice Architectures: A Systematic Mapping Study. Comput. Sci. Rev. 2020, 41, 100415. [Google Scholar] [CrossRef]
- Trnka, M.; Abdelfattah, A.S.; Shrestha, A.; Coffey, M.; Cerny, T. Systematic review of authentication and authorization advancements for the Internet of Things. Sensors 2022, 22, 1361. [Google Scholar] [CrossRef] [PubMed]
- Monteiro, L.; Hazin, R.; Lima, A.; Ferraz, F.; Almeida, W. Survey on Microservice Architecture-Security, Privacy and Standardization on Cloud Computing Environment. 2017. Available online: http://personales.upv.es/thinkmind/dl/conferences/icsea/icsea_2017/icsea_2017_9_20_10083.pdf (accessed on 15 March 2023).
- Rudrabhatla, C.K. Security Design Patterns in Distributed Microservice Architecture. arXiv 2020, arXiv:2008.03395. [Google Scholar]
- de Almeida, M.G.; Canedo, E.D. Authentication and Authorization in Microservices Architecture: A Systematic Literature Review. Appl. Sci. 2022, 12, 3023. [Google Scholar] [CrossRef]
- Ponce, F.; Soldani, J.; Astudillo, H.; Brogi, A. Smells and refactorings for microservices security: A multivocal literature review. J. Syst. Softw. 2022, 192, 111393. [Google Scholar] [CrossRef]
- Soldani, J.; Tamburri, D.A.; Van Den Heuvel, W.J. The pains and gains of microservices: A systematic grey literature review. J. Syst. Softw. 2018, 146, 215–232. [Google Scholar] [CrossRef]
- Siriwardena, P.; Siriwardena, P. Edge security with an API gateway. In Advanced API Security: OAuth 2.0 and Beyond; Apress: Berkeley, CA, USA, 2020; pp. 103–127. [Google Scholar]
- Torkura, K.A.; Sukmana, M.I.; Meinel, C. Integrating continuous security assessments in microservices and cloud native applications. In Proceedings of the 10th International Conference on Utility and Cloud Computing, Austin, TX, USA, 5–8 December 2017; pp. 171–180. [Google Scholar]
- Waseem, M.; Liang, P.; Shahin, M.; Ahmad, A.; Nassab, A.R. On the nature of issues in five open source microservices systems: An empirical study. In Proceedings of the Evaluation and Assessment in Software Engineering, Trondheim, Norway, 21–23 June 2021; pp. 201–210. [Google Scholar]
- Suneja, S.; Kanso, A.; Isci, C. Can container fusion be securely achieved? In Proceedings of the 5th International Workshop on Container Technologies and Container Clouds, Davis, CA, USA, 9–13 December 2019; pp. 31–36. [Google Scholar]
- Zimmermann, O.; Stocker, M.; Lübke, D.; Zdun, U. Interface representation patterns: Crafting and consuming message-based remote APIs. In Proceedings of the 22nd European Conference on Pattern Languages of Programs, Irsee, Germany, 12–16 July 2017; pp. 1–36. [Google Scholar]
- Billawa, P.; Bambhore Tukaram, A.; Díaz Ferreyra, N.E.; Steghöfer, J.P.; Scandariato, R.; Simhandl, G. SoK: Security of Microservice Applications: A Practitioners’ Perspective on Challenges and Best Practices. In Proceedings of the 17th International Conference on Availability, Reliability and Security, Vienna, Austria, 23–26 August 2022; pp. 1–10. [Google Scholar]
- Bui, T.; Rao, S.; Antikainen, M.; Aura, T. Xss vulnerabilities in cloud-application add-ons. In Proceedings of the 15th ACM Asia Conference on Computer and Communications Security, Taipei, Taiwan, 5–9 October 2020; pp. 610–621. [Google Scholar]
- Ocenas, M.; Homoliak, I.; Hanacek, P.; Malinka, K. Security and encryption at modern databases. In Proceedings of the 2020 4th International Conference on Cryptography, Security and Privacy, Nanjing, China, 10–12 January 2020; pp. 19–23. [Google Scholar]
- Kogias, M.; Iyer, R.; Bugnion, E. Bypassing the load balancer without regrets. In Proceedings of the 11th ACM Symposium on Cloud Computing, Virtual Event, 19–21 October 2020; pp. 193–207. [Google Scholar]
- Servos, D.; Osborn, S.L. Current research and open problems in attribute-based access control. ACM Comput. Surv. (CSUR) 2017, 49, 1–45. [Google Scholar] [CrossRef]
- Jiao, Q.; Xu, B.; Fan, Y. Design of Cloud Native Application Architecture Based on Kubernetes. In Proceedings of the 2021 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech), AB, Canada, 25–28 October 2021; pp. 494–499. [Google Scholar]
- Haugeland, S.G.; Nguyen, P.H.; Song, H.; Chauvel, F. Migrating monoliths to microservices-based customizable multi-tenant cloud-native apps. In Proceedings of the 2021 47th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Palermo, Italy, 1–3 September 2021; pp. 170–177. [Google Scholar]
- Pöhn, D.; Hommel, W. Reference Service Model Framework for Identity Management. IEEE Access 2022, 10, 120984–121009. [Google Scholar] [CrossRef]
- Preuveneers, D.; Joosen, W. Towards multi-party policy-based access control in federations of cloud and edge microservices. In Proceedings of the 2019 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW), Stockholm, Sweden, 17–19 June 2019; pp. 29–38. [Google Scholar]
- Dixit, S.; Joshi, K.P.; Choi, S.G.; Elluri, L. Semantically Rich Access Control in Cloud EHR Systems Based on MA-ABE. In Proceedings of the 2022 IEEE 8th Intl Conference on Big Data Security on Cloud (BigDataSecurity), IEEE Intl Conference on High Performance and Smart Computing,(HPSC) and IEEE Intl Conference on Intelligent Data and Security (IDS), Jinan, China, 6–8 May 2022; pp. 1–10. [Google Scholar]
- Bau, N.; Endres, S.; Gerz, M.; Gökgöz, F. A cloud-based architecture for an interoperable, resilient, and scalable C2 information system. In Proceedings of the 2018 International Conference on Military Communications and Information Systems (ICMCIS), Warsaw, Poland, 22–23 May 2018; pp. 1–7. [Google Scholar]
- Jayawardana, Y.; Fernando, R.; Jayawardena, G.; Weerasooriya, D.; Perera, I. A full stack microservices framework with business modelling. In Proceedings of the 2018 18th International Conference on Advances in ICT for Emerging Regions (ICTer), Colombo, Sri Lanka, 26–29 September 2018; pp. 78–85. [Google Scholar]
- Zheng, C.; Zhuang, Q.; Guo, F. A Multi-Tenant Framework for Cloud Container Services. In Proceedings of the 2021 IEEE 41st International Conference on Distributed Computing Systems (ICDCS), Washington, DC, USA, 7–10 July 2021; pp. 359–369. [Google Scholar]
- Vale, G.; Correia, F.F.; Guerra, E.M.; de Oliveira Rosa, T.; Fritzsch, J.; Bogner, J. Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs. In Proceedings of the 2022 IEEE 19th International Conference on Software Architecture (ICSA), Honolulu, HI, USA, 12–15 March 2022; pp. 69–79. [Google Scholar]
- Adewojo, A.; Bass, J.; Allison, I. Enhanced cloud patterns: A case studyof multi-tenancy patterns. In Proceedings of the 2015 International Conference on Information Society (i-Society), London, UK, 9–11 November 2015; pp. 53–58. [Google Scholar]
- Sebrechts, M.; Volckaert, B.; De Turck, F.; Yang, K.; Al-Naday, M. Fog native architecture: Intent-based workflows to take cloud native toward the edge. IEEE Commun. Mag. 2022, 60, 44–50. [Google Scholar] [CrossRef]
- Bánáti, A.; Kail, E.; Karóczkai, K.; Kozlovszky, M. Authentication and authorization orchestrator for microservice-based software architectures. In Proceedings of the 2018 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, 21–25 May 2018; pp. 1180–1184. [Google Scholar]
- Yang, Y.; Chen, X.; Wang, G.; Cao, L. An identity and access management architecture in cloud. In Proceedings of the 2014 Seventh International Symposium on Computational Intelligence and Design, Hangzhou, China, 13–14 December 2014; Volume 2, pp. 200–203. [Google Scholar]
- Megargel, A.; Poskitt, C.M.; Shankararaman, V. Microservices Orchestration vs. Choreography: A Decision Framework. In Proceedings of the 2021 IEEE 25th International Enterprise Distributed Object Computing Conference (EDOC), Gold Coast, Australia, 25–29 October 2021; pp. 134–141. [Google Scholar]
- Poniszewska-Marańda, A. Development of Web Business Applications with the Use of Micro-services. In Proceedings of the Contemporary Complex Systems and Their Dependability: Proceedings of the Thirteenth International Conference on Dependability and Complex Systems DepCoS-RELCOMEX, Brunów, Poland, 2–6 July 2018; pp. 373–383. [Google Scholar]
- Alonso, J.; Orue-Echevarria, L.; Casola, V.; Torre, A.I.; Huarte, M.; Osaba, E.; Lobo, J.L. Understanding the challenges and novel architectural models of multi-cloud native applications—A systematic literature review. J. Cloud Comput. 2023, 12, 1–34. [Google Scholar] [CrossRef]
- Yan, K.; Pan, Y.; Sui, Y.; Ye, S. Design and Application of Security Gateway for Transmission Line Panoramic Monitoring Platform based on Microservice Architecture. In Proceedings of the 2022 IEEE 6th Information Technology and Mechatronics Engineering Conference (ITOEC), Chongqing, China, 4–6 March 2022; Volume 6, pp. 714–721. [Google Scholar]
- Carranza-García, F.; Rodríguez-Domínguez, C.; Garrido, J.L. Addressing Expressiveness for a UML Microservices-Based Modeling within the Life Cycle of the Ubiquitous System Development. In Proceedings of the 2021 17th International Conference on Intelligent Environments (IE), Dubai, United Arab Emirates, 21–24 June 2021; pp. 1–8. [Google Scholar]
- Pereira-Vale, A.; Márquez, G.; Astudillo, H.; Fernandez, E.B. Security mechanisms used in microservices-based systems: A systematic mapping. In Proceedings of the 2019 XLV Latin American Computing Conference (CLEI), Panama, Panama, 30 September–4 October 2019; pp. 1–10. [Google Scholar]
- Waseem, M.; Liang, P.; Shahin, M.; Di Salle, A.; Márquez, G. Design, monitoring, and testing of microservices systems: The practitioners’ perspective. J. Syst. Softw. 2021, 182, 111061. [Google Scholar] [CrossRef]
- DevSecOps: A Security Model for Infrastructure as Code Over the Cloud. In Proceedings of the 2022 2nd International Mobile, Intelligent, and Ubiquitous Computing Conference (MIUCC), Cairo, Egypt, 8–9 May 2022; pp. 284–288.
- Kuhrmann, M.; Fernández, D.M.; Daneva, M. On the pragmatic design of literature studies in software engineering: An experience-based guideline. Empir. Softw. Eng. 2017, 22, 2852–2891. [Google Scholar] [CrossRef] [Green Version]
Research Questions Addressed in Related Works | |
---|---|
Research Question | Citation |
| [10] |
| [11] |
| [12] |
| [13] |
| [16] |
| [17] |
| [18] |
Documents by Each Journal | |
---|---|
Journal Name | Results |
ACM | 58 |
IEEE | 64 |
SpringerLink | 49 |
Scopus | 31 |
Science Direct | 32 |
Articles Selected from Journals | ||||
---|---|---|---|---|
No | Article Name | Year | Journal | Cite |
1 | Integrating Continuous Security Assessments in Microservices and Cloud Native Applications | 2017 | ACM | [20] |
2 | On the Nature of Issues in Five Open Source Microservices Systems: An Empirical Study | 2021 | ACM | [21] |
3 | Can Container Fusion Be Securely Achieved? | 2019 | ACM | [22] |
4 | Interface Representation Patterns: Crafting and Consuming Message-Based Remote APIs | 2017 | ACM | [23] |
5 | SoK: Security of Microservice Applications: A Practitioners’ Perspective on Challenges and Best Practices | 2022 | ACM | [24] |
6 | XSS Vulnerabilities in Cloud-Application Add-Ons | 2020 | ACM | [25] |
7 | Security and Encryption at Modern Databases | 2020 | ACM | [26] |
8 | Bypassing the load balancer without regrets | 2020 | ACM | [27] |
9 | Current Research and Open Problems in Attribute-Based Access Control | 2017 | ACM | [28] |
10 | Design of Cloud Native Application Architecture Based on Kubernetes | 2021 | IEEE | [29] |
11 | Migrating Monoliths to Microservices-based Customizable Multi-tenant Cloud-native Apps | 2021 | IEEE | [30] |
12 | Reference Service Model Framework for Identity Management | 2022 | IEEE | [31] |
13 | Towards Multi-party Policy-based Access Control in Federations of Cloud and Edge Microservices | 2019 | IEEE | [32] |
14 | Semantically Rich Access Control in Cloud EHR Systems Based on MA-ABE | 2022 | IEEE | [33] |
15 | A cloud-based architecture for an interoperable, resilient, and scalable C2 information system | 2018 | IEEE | [34] |
16 | A Full Stack Microservices Framework with Business Modelling | 2018 | IEEE | [35] |
17 | A Multi-Tenant Framework for Cloud Container Services | 2021 | IEEE | [36] |
18 | Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs | 2022 | IEEE | [37] |
19 | Enhanced cloud patterns: A case studyof multi-tenancy patterns | 2015 | IEEE | [38] |
20 | Fog Native Architecture: Intent-Based Workflows to Take Cloud Native toward the Edge | 2022 | IEEE | [39] |
21 | Authentication and authorization orchestrator for microservice-based software architectures | 2018 | IEEE | [40] |
22 | An identity and access management architecture in cloud | 2014 | IEEE | [41] |
23 | Microservices Orchestration vs. Choreography: A Decision Framework | 2021 | IEEE | [42] |
24 | Development of Web Business Applications with the Use of Micro-services | 2019 | Springer-Link | [43] |
25 | Understanding the challenges and novel architectural models of multi-cloud native applications–a systematic literature review | 2023 | Springer-Link | [44] |
26 | Design and Application of Security Gateway for Transmission Line Panoramic Monitoring Platform based on Microservice Architecture | 2022 | Scopus | [45] |
27 | Addressing Expressiveness for a UML Microservices-Based Modeling within the Life Cycle of the Ubiquitous System Development | 2021 | Scopus | [46] |
28 | Security mechanisms used in microservices-based systems: A systematic mapping | 2019 | Scopus | [47] |
29 | Design, monitoring, and testing of microservices systems: The practitioners’ perspective | 2021 | Science-Direct | [48] |
Pattern Methodology | References |
---|---|
Design patterns related to deployment | [27] |
Design patterns related to development | [23,37,39,46,48] |
Secure multi-tenancy cloud pattern | [36,38] |
Secure access control management | [45] |
Pattern Methodology | References |
---|---|
Security Assessment in API Gateway | [20] |
Development Approach | [30,35] |
Architectural Consideration | [29,40,44,47] |
Pattern Methodology | References |
---|---|
Container-Based Access Control Approach | [22] |
Encryption-based Approach | [33] |
Identity Management Solution | [31] |
Development Approaches | [32,41,43] |
Methodology | References |
---|---|
Security Challenges on Authentication and Authorization | [21,24] |
Challenges related to Database | [26] |
Communication | [42] |
Challenges related to Design Patterns | [34] |
Challenges related to Improper Access Control | [25,28] |
Specific Area of implementation | Pattern Name | Purpose of the Implementation |
---|---|---|
Efficient access control Mechanism | Role-based Access Control (RBAC) | access control, Authentication and Authorization |
Security Design Patterns Implementation | Attack Surface Protection | access control, Authentication and Authorization |
Security Design Patterns Implementation | Defense-in-depth | Authorization |
Security Design Patterns Implementation | Applying Security Principle: Least Privilege Scheme | access control |
Communication | Mutual Transport Layer Security (mTLS) | Microservice-Communication |
Communication | JSON Web Token (JWT) | Microservice-Communication |
Communication | Encrypted Communication | Data-Security |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Rahaman, M.S.; Tisha, S.N.; Song, E.; Cerny, T. Access Control Design Practice and Solutions in Cloud-Native Architecture: A Systematic Mapping Study. Sensors 2023, 23, 3413. https://doi.org/10.3390/s23073413
Rahaman MS, Tisha SN, Song E, Cerny T. Access Control Design Practice and Solutions in Cloud-Native Architecture: A Systematic Mapping Study. Sensors. 2023; 23(7):3413. https://doi.org/10.3390/s23073413
Chicago/Turabian StyleRahaman, Md Shahidur, Sadia Nasrin Tisha, Eunjee Song, and Tomas Cerny. 2023. "Access Control Design Practice and Solutions in Cloud-Native Architecture: A Systematic Mapping Study" Sensors 23, no. 7: 3413. https://doi.org/10.3390/s23073413
APA StyleRahaman, M. S., Tisha, S. N., Song, E., & Cerny, T. (2023). Access Control Design Practice and Solutions in Cloud-Native Architecture: A Systematic Mapping Study. Sensors, 23(7), 3413. https://doi.org/10.3390/s23073413