Solving Authentication and Authorisation on kubernetes using Adapters in Istio
Service A wants to talk to Service B running in a kubernetes cluster.
1. Is Service A authenticated?
2. if yes, is it authorised ?
3. if yes, then how is B validating A.
4. Is B caching the Request
5. Is service A making a call from an application context or user context.
6. Want all services to have end to end TLS.
Here you see now you end up in tons of permuations and combinations with this usecase. How to solve this when you have hundreds of services running in a kubenretes cluster. Do we need to write an authorisation server or In case i am using Octa or Auth0, will i need to make code changes in my application? So these are issues we shall address using Istio adapters.
Mixer is a component in Istio which helps us programatically extend the istio layer. With Mixer adapters we are able to integrate third party tools into Istio and enforce these policies. At SRIJAN we solved this issue using apigee adapter, and using istio native methods such as policy. Also we were able to achieve end to end TLS encryption using MTLS. How to write adapters in istio ? How to integrate APIGEE with Istio and deliver improved API management on your services. These are the topics to be addressed and focused upon.
Kubernetes Knowledge, ServiceMesh knowledge preffered
Adheip Singh, Senior DevOps at SRIJAN. Have been a distributed system enthusiast and OpenSource Lover. A GoLang Developer at heart currently handling SRIJAN’s OpenSource initiatives which include Kubernetes and ServiceMesh.