Decentralized Authorization Microservice Containers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed computing architectures face challenges in achieving low latency and high scalability while ensuring robust security through multi-layered user authentication and authorization, particularly in multi-tenant environments where regulatory compliance requires strict separation of customer data and resources.
Innovation Solution
A decentralized authorization system using microservice containers that evaluate user access requests with locally-provided policy management and key-based validation of tokenized access requests, eliminating the need for a centralized authorization service by employing a gateway node, authorization service node, key management service node, and security proxy nodes within each microservice container.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a centralized authorization service is used to validate user access requests, then security and authorization control are improved, but system latency increases and scalability is limited due to bottlenecks in transaction processing
Solution Approach 1:
The centralized authorization service is segmented into distributed authorization logic embedded within individual microservice containers. Each microservice container independently validates access requests using locally cached authorization data and token verification, eliminating the need for all requests to flow through a central authorization bottleneck. This segmentation reduces transaction latency while maintaining security controls.
Solution Approach 2:
Authorization data and policies are pre-loaded into microservice containers before runtime. Access tokens are issued with embedded authorization claims that allow microservices to make authorization decisions locally without real-time communication with a central authorization service. This preliminary action enables fast authorization validation while maintaining security.
2Reliability
If a centralized authorization service is used to ensure robust security, then authorization control is improved, but system scalability is limited due to bottlenecks in transaction processing
Solution Approach 1:
The monolithic centralized authorization service is divided into distributed authorization capabilities embedded in each microservice container. Each container maintains local authorization state and can independently validate access requests, enabling the system to scale horizontally by adding more microservice instances without being constrained by a central authorization bottleneck.
Solution Approach 2:
Microservice containers perform self-authorization by validating access tokens and checking authorization claims locally without requiring external authorization service calls. This self-service capability enables each microservice to independently enforce security policies, dramatically improving system scalability while maintaining robust security controls.
3Reliability
If multi-layered user authentication and authorization are implemented, then security is improved, but system complexity increases and processing speed decreases
Solution Approach 1:
Authentication and authorization functions are merged into a single token-based validation process. The access token contains both authentication credentials and authorization claims, allowing microservice containers to validate both aspects in a single operation rather than requiring separate authentication and authorization layers. This merging reduces system complexity while maintaining multi-layered security.
Solution Approach 2:
The access token serves multiple functions simultaneously: it authenticates the user, carries authorization claims, and enables local validation without external service calls. This universal token approach consolidates multiple security layers into a single mechanism, reducing system complexity while maintaining robust security controls.
4Reliability
If multi-layered user authentication and authorization are implemented, then security is improved, but processing speed and responsiveness decrease
Solution Approach 1:
Authorization policies and user credentials are pre-authenticated and embedded in access tokens before requests reach microservice containers. The token contains pre-computed authorization claims that enable instant validation without requiring real-time authentication or policy evaluation. This preliminary action maintains multi-layered security while enabling fast processing speed.
Solution Approach 2:
Microservice containers perform self-validation of access tokens using locally cached cryptographic keys and authorization data. This eliminates the need for external authentication service calls during request processing, maintaining robust multi-layered security while achieving high processing speed and low latency.
Data Source
AI summary
Methods and apparatuses are described for decentralized authorization of user access requests in a distributed service architecture. A gateway node receives a user access request from a remote computing device. The gateway generates a signed and encrypted access token based upon the user access request using an authorization service node and a key management service node. The gateway transmits the access token, the user access request, and a security certificate received from the authorization service to a security proxy node of a microservice container. The security proxy validates the certificate and the access token. The security proxy decrypts the access token using a public key from the certificate, and determines user authorization to access a service endpoint node based upon the decrypted token. The security proxy transmits the user access request to the service endpoint, which provides the remote device with access to services based upon the user access request.


