Written by Brett Henderson
Introduction
I often quip that “All non-trivial projects begin as an identity project”. I used to say it in jest but it now feels more like an axiom. Knowing who we’re dealing with and making sure they don’t do bad things with evil or mistaken intent is important.
Mantel Group builds solutions, it doesn’t sell (or re-sell) individual technology platforms. However, IAM (Identity and Access Management) is so fundamental to most of our solutions that it forms a key part of our offering.
Rather than attempting to define a one size fits all solution, it is more useful to discuss topics that are interesting and/or challenging. This won’t include a complete explanation of standards such as OAuth 2.0 but will often refer to them. A large percentage of Mantel Group solutions incorporate APIs, so this will naturally be API focused.
It is assumed that readers are familiar with terms like authentication and authorisation so won’t define them here, there are plenty of resources out there that can introduce these topics.
This first piece will build up context around what aspects of IAM are being referring to. What checks do we need to perform? Where do they fit into a typical microservice architecture? Subsequent pieces will delve into more interesting and useful topics such as:
- Standards – What standards do we typically use and how are they evolving?
- Modelling entitlements – How can we implement fine-grained resource authorisation
checks in a microservices architecture?
Typical Auth Workflow
If you squint a bit, the majority of service operations perform the following steps: