Was ist ein Identitätsanbieter (IdP)?
Im Bereich des Identitäts- und Zugriffsmanagement (Identity and access management, IAM) ist ein Identitätsanbieter (IdP) der zentrale Dienst zur Verwaltung von Identitäten. Er ist verantwortlich für die Authentifizierung von Benutzern, die Ausstellung von Identitätstoken und die Bereitstellung von Benutzerinformationen für Serviceanbieter (z. B. Anwendungen, Dienste, APIs).
Neben der Authentifizierung (Authentication) sind moderne Identitätsanbieter auch für die Autorisierung (Authorization) (Durchsetzung von Zugriffskontrolle (Access control) -Richtlinien) verantwortlich und unterstützen fortschrittliche Funktionen wie Single Sign-on (SSO) und Multi-Tenancy (Multi-tenancy) .
Standards für Identitätsanbieter
Aufgrund der Natur des Identitätsmanagements und der Notwendigkeit der Interoperabilität wäre es unpraktisch und ineffizient, Identitätsanbieter ohne Standards zu entwickeln. Hier sind einige typische Szenarien:
- Zwei Identitätsanbieter müssen miteinander kommunizieren, um Benutzerinformationen auszutauschen (z. B. Soziale Anmeldung).
- Eine Anwendung muss Benutzer mit mehreren Identitätsanbietern authentifizieren (z. B. föderierte Identität).
- Ein Identitätsanbieter muss verschiedene Arten von Clients unterstützen (z. B. Web, Mobil, IoT).
Um diese Szenarien zu adressieren, hat die Branche mehrere beliebte Standards für Identitätsanbieter entwickelt:
- OAuth 2.0 : Ein weit verbreitetes Autorisierungs-Framework, das Anwendungen ermöglicht, im Namen von Benutzern oder Diensten Zugriff zu erhalten.
- OpenID Connect (OIDC) : Eine Identitätsschicht, die auf OAuth 2.0 aufbaut und Authentifizierung und Benutzerinformationen bereitstellt.
- Security Assertion Markup Language (SAML) : Ein Standard zum Austausch von Authentifizierungs- und Autorisierungsdaten zwischen Sicherheitsdomänen.
Für neue Anwendungen ist OpenID Connect (OIDC) der empfohlene Standard, um entweder einen Identitätsanbieter zu entwickeln oder sich mit bestehenden Identitätsanbietern zu integrieren.
Architektur von Identitätsanbietern
Der Begriff “Identitätsanbieter” spezifiziert keine bestimmte Architektur oder Implementierung. Ein Identitätsanbieter kann also auch eine monolithische Anwendung, ein Microservice oder ein Cloud-Dienst sein.
Aufgrund der Komplexität und Kritikalität des Identitätsmanagements neigen moderne Anwendungen dazu, spezialisierte Identitätsanbieter zu verwenden, die eigenständige Dienste oder Anbieter-Lösungen sind.
Funktionen von Identitätsanbietern
Moderne Identitätsanbieter bieten eine breite Palette von Funktionen zur Unterstützung verschiedener Anwendungsfälle und Anforderungen. Hier sind einige gängige Funktionen:
- Authentifizierung (Authentication) : Überprüfung der Identität von Benutzern mit verschiedenen Methoden (z. B. Benutzername/Passwort, Soziale Anmeldung, Multi-Faktor-Authentifizierung (Multi-factor authentication, MFA) ).
- Autorisierung (Authorization) : Durchsetzung von Zugriffskontrollrichtlinien und Verwaltung von Benutzerberechtigungen (z. B. Rollenbasierte Zugriffskontrolle (Role-based access control, RBAC) , Attributbasierte Zugriffskontrolle (Attribute-based access control, ABAC) ).
- Benutzerverwaltung: Erstellen, aktualisieren und löschen von Benutzerkonten und -profilen; Bereitstellung von Benutzerdaten für Serviceanbieter .
- Token-Management: Ausstellung und Verwaltung von Identitätstokens (z. B. ID-Token, Zugriffstoken, Auffrischungstoken).
- Single Sign-on (SSO) : Ermöglicht es Benutzern, sich einmalig zu authentifizieren und auf mehrere Anwendungen zuzugreifen.
- Multi-Tenancy (Multi-tenancy) : Unterstützung mehrerer Organisationen oder Mandanten mit isolierten Benutzerdaten und Konfigurationen.