SAML-Authentifizierung mit Azure Active Directory

Security Assertion Markup Language (SAML) ist ein offener Standard für den Austausch von Authentifizierungs- und Autorisierungsdaten zwischen einem Identitätsanbieter und einem Dienstanbieter. SAML ist eine XML-basierte Markupsprache für Sicherheitsassertionen – Anweisungen, mit denen Dienstanbieter Entscheidungen zur Zugriffssteuerung treffen.

Die SAML-Spezifikation definiert drei Rollen:

  • Prinzipal, in der Regel ein Benutzer
  • Identitätsanbieter (Identity Provider, IdP)
  • Dienstanbieter (Service Provider, SP)

Wenn folgende Bedingungen vorliegen

Es müssen SSO-Funktionen (Single Sign-On, einmaliges Anmelden) für eine SAML-Anwendung des Unternehmens bereitgestellt werden.

Einer der wichtigsten Anwendungsfälle für SAML ist das einmalige Anmelden, insbesondere da SAML dieses Feature über Sicherheitsdomänen hinweg nutzbar macht. Allerdings gibt es auch noch andere Anwendungsfälle (so genannte Profile).

Architekturdiagramm für SAML

Komponenten des Systems

  • Benutzer: Der Benutzer fordert einen Dienst von der Anwendung an.

  • Webbrowser: Die Komponente, mit der der Benutzer interagiert.

  • Web-App: Unternehmensanwendung, die SAML unterstützt und Azure AD als Identitätsanbieter verwendet.

  • Token: Eine SAML-Assertion (auch als SAML-Token bezeichnet), die eine Reihe von Aussagen des Identitätsanbieters über die Eigenschaften und Berechtigungen des Prinzipals (Benutzers) enthält. Die Assertion bzw. das Token enthält Authentifizierungsinformationen, Attribute und Anweisungen zu Autorisierungsentscheidungen.

  • Azure AD: Ein Identitätsanbieter der Unternehmenscloud, der einmaliges Anmelden und mehrstufige Authentifizierung für SAML-Apps bereitstellt. Dieser Anbieter synchronisiert, pflegt und verwaltet Identitätsinformationen für Benutzer und stellt gleichzeitig Authentifizierungsdienste für Anwendungen bereit, die diese benötigen.

Implementieren der SAML-Authentifizierung mit Azure AD