IAM mit IdentityServer

Identity Access Management

Identity Access Management (IAM) beschreibt
• Prozesse zur Verwaltung von Benutzerkonten und Ressourcen in einem Organisationsnetzwerk,
• sowie der Berechtigungsverwaltung für Benutzer auf Applikationen und Systeme.

Vorteile:
• Flexibilität, Effizienz, User Experience und niedrigere Kosten
• Zentralisierte Zugriffssteuerung
• Reduktion von Datenschutzverletzungen
• Weniger Helpdesk Anfragen…

Beispiel:
• Anmeldung bei Google Anwendung (z.B. Gmail, YouTube)
• Redirect bei Benutzeranmeldung am Client zu IAM Server: accounts.google.com
• IAM Server kümmert sich um die Benutzer-Authentifizierung
• Unterstützte Protokolle: OAuth 2.0 und OpenID Connect, SAML, WS-Federation
• Kommunikation: verschlüsselt mit TLS/SSL

Ziel:
Zentralisiertes Access Management und Lifecycle Management von Applikationen.

Es gibt bereits verschiedene Lösungen für ein Identity Access Management System mit .NET.

Ideal für On Premise Lösungen ist IdentityServer.

IdentityServer4 ist die letzte Open Source Version von IdentityServer.

Die Alternative für die Azure Cloud bietet Azure Active Directory B2C.

Identity_Access_Management_Konstantin_Kletzander

IdentityServer

• IdentityServer ist ein Identity Access Management Server – unterstützt ASP.NET Identity!
• Alternative Bezeichnungen: Security Token Service, Identity Provider, Authorization Server, …
• IdentityServer ist ein “OpenID Connect Provider” – implementiert OpenID Connect und OAuth 2

Features:
• Ermöglicht eine zentralisierte Authentifizierungslogik
• Unterstützt lokalen Account Store oder externe Identity Provider (Google, Facebook, 2FA, …)
• Schützen von Ressourcen (API oder Benutzerdaten)
• Session Management und Single Sign-On
• Clients verwalten und authentifizieren
• Ausstellen von Identity und Access Token für die Clients
• Tokenvalidierung
• Robust, von Microsoft empfohlen

Eine Beispielimplementierung für IdentityServer4 gibt es auf diesem GitHub Repository.