When a client application sends a request to a service, it's quite common that this service handles authentication, the processing of the incoming request, and the access to other services (resources) required to satisfy the incoming request.
In a cloud environment, in order to improve the overall security of the system, it could be useful to split this behavior into two different layers:
- A layer that handles the incoming request
- A layer that processes the request and provides access to other resources
This architectural pattern is called Gatekeeper pattern. With this pattern, between the CLIENT and the CLOUD SERVICES that handle the requests, there's an extra layer (the GATEKEEPER) that validates and sanitizes the incoming ...