Was ist ein Dienstanbieter (Service provider, SP)?
Im Bereich des Identitäts- und Zugriffsmanagement (Identity and access management, IAM) , ist ein Dienstanbieter (Service provider, SP) (oder eine verlassende Partei im Kontext von OpenID Connect (OIDC) ) eine Anwendung oder ein Dienst, der auf einen Identitätsanbieter (Identity provider, IdP) für Authentifizierung (authentication) und Autorisierung (authorization) angewiesen ist. Er ist verantwortlich für die Bereitstellung von Diensten für Benutzer und die Durchsetzung von Zugriffskontrolle (Access control) Richtlinien basierend auf den von dem Identitätsanbieter ausgegebenen Token.
Standards für Dienstanbieter
Es gibt keinen strikten Standard für Dienstanbieter, da sie jede Art von Anwendung oder Dienst sein können, der Identitätsmanagement benötigt. Dienstanbieter folgen jedoch oft den Standards, die vom Identitätsanbieter, auf den sie sich stützen, festgelegt werden. Zum Beispiel, wenn der Identitätsanbieter OpenID Connect (OIDC) unterstützt, wird der Dienstanbieter typischerweise OIDC für Authentifizierung (authentication) und Autorisierung (authorization) verwenden.
Architektur des Dienstanbieters
Der Begriff “Dienstanbieter” spezifiziert keine bestimmte Architektur oder Implementierung. In der Regel müssen Dienstanbieter beim Identitätsanbieter registriert werden, um Vertrauen aufzubauen und sichere Kommunikation zu ermöglichen. Der Registrierungsprozess umfasst normalerweise den Austausch von Metadaten und Client-Berechtigungsnachweisen.
Zum Beispiel beinhaltet die Dienstanbieter-Metadaten im Kontext von OpenID Connect typischerweise:
- Client ID: Eine eindeutige Kennung für den Dienstanbieter.
- Client secret: Ein gemeinsames Geheimnis zur Authentifizierung des Dienstanbieters.
- Weiterleitungs-URIs (Redirect URIs) : Die URIs, an die der Identitätsanbieter die Benutzer nach der Authentifizierung (authentication) und Autorisierung (authorization) zurückleitet.
Sobald registriert, kann der Dienstanbieter den Authentifizierung (Authentication) Prozess einleiten, indem er Benutzer an den vom Identitätsanbieter angegebenen Endpunkt weiterleitet.
Wenn Dienstanbieter für nicht-interaktive Anwendungsfälle gebaut werden, werden sie oft als Clients bezeichnet, die Machine-to-Machine (M2M) Kommunikation erfordern.