Gemakzucht dient de ontwikkelaar, zeker als het gaat om security aspecten zoals authenticatie en autorisatie. Het liefst wil je gewoon een applicatie of service ontwikkelen zonder te hoeven nadenken over het authenticeren en autoriseren van gebruikers. Helaas is de praktijk niet zo rooskleurig.
Bij grote organisaties is het niet ongewoon dat er tientallen of soms zelfs honderden web applicaties en services aanwezig zijn die gebruik maken van verschillende identity stores om gebruikersgegevens op te kunnen halen. Deze identity stores hebben ook vaak hun eigen API wat het niet makkelijker maakt om op aan te sluiten. Een oplossing is om al deze stores te migreren naar een enterprise store, maar in de praktijk blijkt dit vrij lastig als er ook factoren zoals fusies en overnames mee gaan spelen.
Het zou een veel beter idee zijn als je vanuit je applicatie geen connectie hoeft te leggen naar een identity store om gebruikersgegevens op te halen, maar dat het request al gevuld is met de data die je nodig hebt. Feitelijk betekent dit dat een gebruiker zijn identiteit middels claims aan een applicatie presenteert.
Het plaatje laat zien hoe dit in zijn werking gaat. Om dit middels open standaarden te realiseren kan gebruikt gemaakt worden van WS-Federation voor de communicatie en van WS-Trust voor het uitgeven van security tokens door de STS. Geweldig, er zijn alleen geen bouwstenen aanwezig in het Microsoft .NET Framework om dit eenvoudig te kunnen realiseren. Afgelopen week viel mijn oog op de aankondiging van Zermatt. Ik citeer:
The Microsoft Code Name "Zermatt" is a framework targeted for .Net developers to help them to build claims-aware applications to address today's application security requirements using a simplified model that is open and extensible and can improve security. Developers can build externalized authentication capabilities for their applications and build custom "identity providers", often referred to as Security Token Services (STS).
Even verder lezen…
In order to make all of this interoperable, several WS-* standards are used.
Kijk, dit klinkt veelbelovend! Beta 1 is nu beschikbaar en ik raad iedere Microsoft ontwikkelaar die zich met authenticatie en autorisaties problematiek bezighoudt aan om Zermatt goed in de gaten te houden!