Freigeben über


Übersicht über benutzerdefinierte Azure AD B2C-Richtlinien

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Benutzerdefinierte Richtlinien sind Konfigurationsdateien, die das Verhalten Ihres Azure Active Directory B2C-Mandanten (Azure AD B2C-Mandanten) definieren. Während Benutzerflüsse im Azure AD B2C-Portal für die gängigsten Identitätsaufgaben vordefiniert sind, kann ein Identitätsentwickler benutzerdefinierte Richtlinien bearbeiten, um viele verschiedene Aufgaben auszuführen.

Eine benutzerdefinierte Richtlinie ist vollständig konfigurierbar und richtliniengesteuert. Eine benutzerdefinierte Richtlinie orchestriert die Vertrauensstellung zwischen Entitäten in Standardprotokollen. Beispielsweise OpenID Connect, OAuth, SAML und einige nicht standardmäßige, z. B. REST-API-basierte System-zu-System-Anspruchsbörsen. Das Framework erstellt benutzerfreundliche Umgebungen mit Positivlisten.

Eine benutzerdefinierte Richtlinie wird als eine oder mehrere XML-formatierte Dateien dargestellt, die sich in einer hierarchischen Kette gegenseitig beziehen. Die XML-Elemente definieren die Bausteine, die Interaktion mit dem Benutzer und andere Parteien und die Geschäftslogik.

Starterpaket für benutzerdefinierte Richtlinien

Das benutzerdefinierte Azure AD B2C-Richtlinienstartpaket enthält mehrere vordefinierte Richtlinien, mit denen Sie schnell beginnen können. Jedes dieser Starterpakete enthält die kleinste Anzahl von technischen Profilen und Benutzerreisen, die erforderlich sind, um die beschriebenen Szenarien zu erreichen:

  • LocalAccounts – Ermöglicht nur die Verwendung lokaler Konten.
  • SocialAccounts – Ermöglicht nur die Verwendung von Konten für soziale Netzwerke (oder Verbundkonten).
  • SocialAndLocalAccounts – Ermöglicht die Verwendung lokaler und sozialer Konten. Die meisten unserer Beispiele beziehen sich auf diese Richtlinie.
  • SocialAndLocalAccountsWithMFA – Ermöglicht Optionen für soziale, lokale und mehrstufige Authentifizierung.

Im GitHub-Repository für Azure AD B2C-Beispiele finden Sie Beispiele für mehrere erweiterte Benutzerdefinierte CIAM-Benutzerreisen und -szenarien in Azure AD B2C. Beispielsweise Verbesserungen an lokalen Kontorichtlinien, Verbesserungen der Richtlinie für das soziale Konto, MFA-Verbesserungen, Verbesserungen der Benutzeroberfläche, generische Verbesserungen, App-Migration, Benutzermigration, bedingter Zugriff, Webtest und CI/CD.

Die Grundlagen verstehen

Ansprüche

Ein Anspruch bietet eine temporäre Speicherung von Daten während der Ausführung einer Azure AD B2C-Richtlinie. Ansprüche ähneln einer Variablen in einer Programmiersprache. Er kann Informationen über den Benutzer speichern, z. B. Vorname, Familienname oder andere Ansprüche, die vom Benutzer oder anderen Systemen (Anspruchsaustausch) erhalten wurden. Das Anspruchsschema ist der Ort, an dem Sie Ihre Ansprüche deklarieren.

Beim Ausführen der Richtlinie sendet Azure AD B2C Ansprüche an interne und externe Parteien und empfängt Ansprüche von diesen. Anschließend wird eine Teilmenge dieser Ansprüche als Teil des Tokens an die Anwendung der vertrauenden Seite gesendet. Ansprüche werden auf folgende Weise verwendet:

  • Ein Anspruch wird für das Verzeichnisbenutzerobjekt gespeichert, gelesen oder aktualisiert.
  • Eine Anfrage wird von einem externen Identitätsanbieter empfangen.
  • Ansprüche werden mit einem benutzerdefinierten REST-API-Dienst gesendet oder empfangen.
  • Daten werden während der Flows zur Registrierung oder Bearbeitung des Profils als Ansprüche vom Benutzer gesammelt.

Manipulation Ihrer Forderungen

Die Anspruchstransformationen sind vordefinierte Funktionen, die verwendet werden können, um einen bestimmten Anspruch in einen anderen zu konvertieren, einen Anspruch auszuwerten oder einen Anspruchswert festzulegen. Beispiele sind das Hinzufügen eines Elements zu einer Zeichenfolgensammlung, das Ändern der Groß-/Kleinschreibung einer Zeichenfolge oder das Auswerten eines Anspruchs mit Datums- und Uhrzeitangaben. Eine Forderungstransformation gibt eine Transformationsmethode an, die ebenfalls vordefinierte ist.

Anpassen und Lokalisieren der Benutzeroberfläche

Um Informationen von Ihren Benutzern zu sammeln, indem Sie eine Seite in ihrem Webbrowser präsentieren, verwenden Sie das selbstbehauptete technische Profil. Sie können Ihr selbst bestätigtes technisches Profil bearbeiten, um Ansprüche hinzuzufügen und Benutzereingaben anzupassen.

Um die Benutzeroberfläche für Ihr selbst bestätigtes technisches Profil anzupassen, geben Sie eine URL im Inhaltsdefinitionselement mit angepasstem HTML-Inhalt an. Im selbst bestätigten technischen Profil verweisen Sie auf diese Inhaltsdefinitions-ID.

Verwenden Sie das Lokalisierungselement , um sprachspezifische Zeichenfolgen anzupassen. Eine Inhaltsdefinition kann einen Lokalisierungsverweis enthalten, der eine Liste lokalisierter Ressourcen angibt, die geladen werden sollen. Azure AD B2C führt Benutzeroberflächenelemente mit dem HTML-Inhalt zusammen, der aus Ihrer URL geladen wird, und zeigt dann die Seite dem Benutzer an.

Übersicht über die Richtlinie für die vertrauende Seite

Eine Anwendung der vertrauenden Seite, die im SAML-Protokoll als Dienstanbieter bezeichnet wird, ruft die Richtlinie der vertrauenden Seite auf, um eine bestimmte Benutzerreise auszuführen. Die Richtlinie der vertrauenden Seite gibt die auszuführende User Journey sowie eine Liste der Ansprüche an, die das Token enthält.

Diagramm mit dem Richtlinienausführungsfluss

Alle Anwendungen der vertrauenden Seite, die dieselbe Richtlinie verwenden, erhalten dieselben Tokenansprüche, und der Benutzer durchläuft dieselbe Benutzerreise.

Benutzerreisen

Benutzerreisen ermöglichen es Ihnen, die Geschäftslogik mit Pfad zu definieren, über den der Benutzer folgt, um Zugriff auf Ihre Anwendung zu erhalten. Die Benutzer werden durch diese User Journey geleitet, um die Ansprüche abzurufen, die an Ihre Anwendung übermittelt werden sollen. Eine Benutzerreise basiert auf einer Sequenz von Orchestrierungsschritten. Ein Benutzer muss den letzten Schritt erreichen, um ein Token zu erwerben.

In den folgenden Anweisungen wird beschrieben, wie Sie der Startpaketrichtlinie für soziale netzwerke und lokale Konten Orchestrierungsschritte hinzufügen können. Hier ist ein Beispiel für einen REST-API-Aufruf, der hinzugefügt wurde.

Angepasste Benutzerreise

Orchestrierungsschritte

Der Orchestrierungsschritt verweist auf eine Methode, die ihren beabsichtigten Zweck oder seine Funktionalität implementiert. Diese Methode wird als technisches Profil bezeichnet. Wenn die User Journey Verzweigungen erfordert, damit die Geschäftslogik besser dargestellt werden kann, verweist der Orchestrierungsschritt auf die untergeordnete Journey. Eine untergeordnete Journey enthält eigene Orchestrierungsschritte.

Ein Benutzer muss den letzten Orchestrierungsschritt im Benutzererlebnis erreichen, um ein Token zu erhalten. Benutzer müssen jedoch möglicherweise nicht alle Orchestrierungsprozesse durchlaufen. Orchestrierungsschritte können auf der Grundlage der im Orchestrierungsschritt definierten Voraussetzungen bedingt ausgeführt werden.

Nach Abschluss eines Orchestrierungsschritts speichert Azure AD B2C die ausgegebenen Ansprüche im Anspruchsbehälter. Die Ansprüche im Anspruchsbehälter können von allen nachfolgenden Orchestrierungsschritten der User Journey verwendet werden.

Das folgende Diagramm zeigt, wie die Orchestrierungsschritte der User Journey auf den Anspruchsbehälter zugreifen können.

Azure AD B2C-Benutzerreise

Technisches Profil

Ein technisches Profil bietet eine Schnittstelle für die Kommunikation mit verschiedenen Arten von Parteien. Eine User Journey kombiniert Aufrufe von technischen Profilen mithilfe von Orchestrierungsschritten, um so Ihre Geschäftslogik zu definieren.

Alle Arten von technischen Profilen teilen sich dasselbe Konzept. Sie senden Eingabeansprüche, führen die Anspruchstransformation aus und kommunizieren mit der konfigurierten Partei. Nach Abschluss des Prozesses gibt das technische Profil die Ausgabeansprüche an den Anspruchsbehälter zurück. Weitere Informationen finden Sie in der Übersicht über technische Profile.

Technisches Validierungsprofil

Wenn ein Benutzer mit der Benutzeroberfläche interagiert, sollten Sie die gesammelten Daten überprüfen. Um mit dem Benutzer zu interagieren, muss ein selbst bestätigtes technisches Profil verwendet werden.

Um die Benutzereingabe zu überprüfen, wird ein technisches Validierungsprofil aus dem selbst bestätigten technischen Profil aufgerufen. Ein technisches Validierungsprofil ist eine Methode zum Aufrufen eines nicht interaktiven technischen Profils. In diesem Fall kann das technische Profil Ausgabeansprüche oder eine Fehlermeldung zurückgeben. Die Fehlermeldung wird auf dem Bildschirm für den Benutzer gerendert, sodass der Benutzer den Vorgang wiederholen kann.

Das folgende Diagramm veranschaulicht, wie Azure AD B2C ein technisches Überprüfungsprofil verwendet, um die Benutzeranmeldeinformationen zu überprüfen.

Diagramm des technischen Profils der Validierung

Vererbungsmodell

Jedes Starterpaket enthält die folgenden Dateien:

  • Eine Basisdatei , die die meisten Definitionen enthält. Um bei der Problembehandlung und langfristigen Wartung Ihrer Richtlinien zu helfen, versuchen Sie, die Anzahl der Änderungen, die Sie an dieser Datei vornehmen, zu minimieren.
  • Eine Lokalisierungsdatei , die die Lokalisierungszeichenfolgen enthält. Diese Richtliniendatei wird von der Basisdatei abgeleitet. Verwenden Sie diese Datei, um unterschiedliche Sprachen für Ihre Kundenanforderungen zu berücksichtigen.
  • Eine Erweiterungsdatei , die die eindeutigen Konfigurationsänderungen für Ihren Mandanten enthält. Diese Richtliniendatei wird von der Lokalisierungsdatei abgeleitet. Verwenden Sie diese Datei, um neue Funktionen hinzuzufügen oder vorhandene Funktionen außer Kraft zu setzen. Verwenden Sie diese Datei z. B. zum Verbund mit neuen Identitätsanbietern.
  • Eine Relying Party (RP)-Datei, die eine auf eine einzige Aufgabe fokussierte Datei ist, welche direkt von der Anwendung der vertrauenden Partei aufgerufen wird, wie z. B. Ihre Web-, Mobil- oder Desktopanwendungen. Jede eindeutige Aufgabe wie das Registrieren, Anmelden oder Bearbeiten des Profils,setzt eine eigene Richtliniendatei für die vertrauende Seite voraus. Diese Richtliniendatei wird von der Erweiterungsdatei abgeleitet.

Das Vererbungsmodell lautet wie folgt:

  • Die untergeordnete Richtlinie kann auf jeder Ebene von der übergeordneten Richtlinie erben und diese durch Hinzufügen neuer Elemente erweitern.
  • Für komplexere Szenarien können Sie weitere Vererbungsebenen (bis zu 10 insgesamt) hinzufügen.
  • Sie können auch zusätzliche Richtlinien der vertrauenden Seite hinzufügen. Dies können z. B. Richtlinien für das Löschen des eigenen Kontos, das Ändern einer Telefonnummer, eine SAML-Richtlinie der vertrauenden Seite usw. sein.

Das folgende Diagramm zeigt die Beziehung zwischen den Richtliniendateien und den Anwendungen der vertrauenden Seite.

Diagramm mit dem Vererbungsmodell für Vertrauensframeworkrichtlinien

Leitfaden und bewährte Methoden

Bewährte Methoden

In einer benutzerdefinierten Azure AD B2C-Richtlinie können Sie Ihre eigene Geschäftslogik integrieren, um die von Ihnen benötigten Benutzeroberflächen zu erstellen und die Funktionalität des Diensts zu erweitern. Wir verfügen über eine Reihe bewährter Methoden und Empfehlungen für die ersten Schritte.

  • Erstellen Sie Ihre Logik in der Erweiterungsrichtlinie oder in der Richtlinie der vertrauenden Seite. Sie können neue Elemente hinzufügen, die die Basisrichtlinie außer Kraft setzen, indem Sie auf dieselbe ID verweisen. Mit diesem Ansatz können Sie Ihr Projekt skalieren und gleichzeitig das Upgrade der Basisrichtlinie später vereinfachen, wenn Microsoft neue Startpakete veröffentlicht.
  • In der Basisrichtlinie wird dringend empfohlen, keine Änderungen vorzunehmen. Nehmen Sie bei Bedarf Kommentare zu den Änderungen vor.
  • Wenn Sie ein Element wie technische Profilmetadaten außer Kraft setzen, vermeiden Sie das Kopieren des gesamten technischen Profils aus der Basisrichtlinie. Kopieren Sie stattdessen nur den erforderlichen Abschnitt des Elements. Ein Beispiel zum Vornehmen der Änderung finden Sie unter "Deaktivieren der E-Mail-Überprüfung ".
  • Um die Duplizierung von technischen Profilen zu reduzieren, bei denen Kernfunktionen gemeinsam genutzt werden, verwenden Sie die Einbeziehung von technischen Profilen.
  • Vermeiden Sie es, während der Anmeldung in das Microsoft Entra-Verzeichnis zu schreiben, da dies zu Drosselungsproblemen führen kann.
  • Wenn Ihre Richtlinie über externe Abhängigkeiten verfügt, z. B. REST-APIs, stellen Sie sicher, dass sie hoch verfügbar sind.
  • Um eine bessere Benutzererfahrung zu erzielen, stellen Sie sicher, dass Ihre benutzerdefinierten HTML-Vorlagen global mithilfe der Onlineinhaltsübermittlung bereitgestellt werden. Mit Azure Content Delivery Network (CDN) können Sie Ladezeiten reduzieren, Bandbreite sparen und die Antwortgeschwindigkeit verbessern.
  • Wenn Sie eine Änderung an der Benutzerreise vornehmen möchten, kopieren Sie die gesamte Benutzerreise von der Basisrichtlinie in die Erweiterungsrichtlinie. Geben Sie eine eindeutige Benutzerweg-ID für den kopierten Benutzerweg an. Ändern Sie dann in der Richtlinien der vertrauenden Seite das Element Standard-User Journey so, dass es auf die neue User Journey verweist.

Problembehandlung

Beim Entwickeln mit Azure AD B2C-Richtlinien können beim Ausführen Ihrer User Journey Fehler oder Ausnahmen auftreten. Dies kann mithilfe von Application Insights untersucht werden.

Kontinuierliche Integration

Mithilfe einer kontinuierlichen Integrations- und Übermittlungspipeline (CI/CD), die Sie in Azure-Pipelines eingerichtet haben, können Sie Ihre benutzerdefinierten Azure AD B2C-Richtlinien in ihre Softwarebereitstellungs - und Codesteuerungsautomatisierung einschließen. Bei der Bereitstellung in verschiedenen Azure AD B2C-Umgebungen, z. B. Entwicklungs-, Test- und Produktionsumgebungen, empfehlen wir, manuelle Prozesse zu entfernen und automatisierte Tests mithilfe von Azure Pipelines durchzuführen.

Vorbereiten Ihrer Umgebung

Sie beginnen mit einer benutzerdefinierten Azure AD B2C-Richtlinie:

  1. Erstellen eines Azure AD B2C-Mandanten
  2. Registrieren Sie eine Webanwendung mithilfe des Azure-Portals, damit Sie Ihre Richtlinie testen können.
  3. Fügen Sie die erforderlichen Richtlinienschlüssel hinzu, und registrieren Sie die Identity Experience Framework-Anwendungen.
  4. Laden Sie das Starterpaket für Azure AD B2C-Richtlinien herunter, und laden Sie es in Ihren Mandanten hoch.
  5. Nachdem Sie das Startpaket hochgeladen haben, testen Sie Ihre Registrierungs- oder Anmelderichtlinie.
  6. Es wird empfohlen, Visual Studio Code (VS Code) herunterzuladen und zu installieren. Visual Studio Code ist ein einfacher, aber leistungsstarker Quellcode-Editor, der auf Ihrem Desktop ausgeführt wird und für Windows, macOS und Linux verfügbar ist. Mit VS Code können Sie schnell durch Ihre benutzerdefinierten AZURE AD B2C-Richtlinien-XML-Dateien navigieren und bearbeiten, indem Sie die Azure AD B2C-Erweiterung für VS Code installieren.

Nachdem Sie Ihre Azure AD B2C-Richtlinie eingerichtet und getestet haben, können Sie mit der Anpassung Ihrer Richtlinie beginnen. Lesen Sie die folgenden Artikel, um zu erfahren, wie Sie: