Definieren eines technischen Profils für einen SAML-Tokenaussteller in einer benutzerdefinierten Richtlinie in Azure Active Directory B2C

Hinweis

In Azure Active Directory B2C sind benutzerdefinierte Richtlinien in erster Linie für komplexe Szenarien konzipiert. Für die meisten Szenarien empfehlen wir die Verwendung von integrierten Benutzerflows. Informieren Sie sich, sofern noch nicht geschehen, unter Tutorial: Erstellen von Benutzerflows und benutzerdefinierten Richtlinien in Azure Active Directory B2C über das Starter Pack für benutzerdefinierte Richtlinien.

Azure Active Directory B2C (Azure AD B2C) stellt bei der Verarbeitung der einzelnen Authentifizierungsflows verschiedene Arten von Sicherheitstoken aus. Ein technisches Profil für einen SAML-Tokenaussteller gibt ein SAML-Token aus, das an die Anwendung der vertrauenden Seite (Dienstanbieter) zurückgegeben wird. Dieses technische Profil ist in der Regel der letzte Orchestrierungsschritt in der User Journey.

Protocol

Das Name-Attribut des Protocol-Elements muss auf SAML2 festgelegt werden. Legen Sie das OutputTokenFormat-Element auf SAML2 fest.

Das folgende Beispiel zeigt ein technisches Profil für Saml2AssertionIssuer:

<TechnicalProfile Id="Saml2AssertionIssuer">
  <DisplayName>Token Issuer</DisplayName>
  <Protocol Name="SAML2"/>
  <OutputTokenFormat>SAML2</OutputTokenFormat>
  <Metadata>
    <Item Key="IssuerUri">https://tenant-name.b2clogin.com/tenant-name.onmicrosoft.com/B2C_1A_signup_signin_SAML</Item>
    <Item Key="TokenNotBeforeSkewInSeconds">600</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="MetadataSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
    <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
  </CryptographicKeys>
  <InputClaims/>
  <OutputClaims/>
  <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
</TechnicalProfile>

Eingabe-, Ausgabe- und Aufbewahrungsansprüche

Die Elemente InputClaims, OutputClaims und PersistClaims sind leer oder fehlen. Die Elemente InutputClaimsTransformations und OutputClaimsTransformations sind ebenfalls nicht vorhanden.

Metadaten

attribute Erforderlich BESCHREIBUNG
IssuerUri Nein Der Ausstellername, der in der SAML-Antwort angezeigt wird. Der Wert sollte mit dem Namen übereinstimmen, der in der Anwendung der vertrauenden Seite konfiguriert ist.
XmlSignatureAlgorithm Nein Die Methode, die Azure AD B2C zur Signierung der SAML-Assertion verwendet. Mögliche Werte: Sha256, Sha384, Sha512 oder Sha1. Vergewissern Sie sich, dass Sie den Signaturalgorithmus auf beiden Seiten mit demselben Wert konfigurieren. Verwenden Sie nur den Algorithmus, den Ihr Zertifikat unterstützt. Informationen zum Konfigurieren der SAML-Antwort finden Sie unter Optionen zum Registrieren einer SAML-Anwendung.
TokenNotBeforeSkewInSeconds Nein Gibt die Neigung, als ganze Zahl, für den Zeitstempel an, der den Anfang des Gültigkeitszeitraums kennzeichnet. Je höher diese Zahl ist, desto später beginnt der Gültigkeitszeitraum im Hinblick auf die Uhrzeit, zu der die Ansprüche für die vertrauende Seite ausgegeben werden. Wenn beispielsweise der Wert für „TokenNotBeforeSkewInSeconds“ auf 60 Sekunden festgelegt wurde und das Token um 13:05:10 Uhr UTC ausgegeben wird, ist es ab 13:04:10 Uhr UTC gültig. Der Standardwert ist 0. Der Höchstwert ist 3.600 (eine Stunde).
TokenLifeTimeInSeconds Nein Gibt die Lebensdauer der SAML-Assertion an. Dieser Wert entspricht den Sekunden ab dem zuvor referenzierten „NotBefore“-Wert. Der Standardwert ist 300 Sekunden (5 Minuten).

Kryptografische Schlüssel

Das CryptographicKeys-Element enthält die folgenden Attribute:

attribute Erforderlich BESCHREIBUNG
MetadataSigning Ja Das X509-Zertifikat (RSA-Schlüssel) zum Signieren der SAML-Metadaten. Azure AD B2C verwendet diesen Schlüssel zum Signieren der Metadaten.
SamlMessageSigning Ja Gibt das X509-Zertifikat (RSA-Schlüsselsatz) zum Signieren der SAML-Nachrichten an. Azure AD B2C verwendet diesen Schlüssel zum Signieren der Antwort <samlp:Response>, die an die vertrauende Seite gesendet wird.
SamlAssertionSigning Nein Geben Sie das X509-Zertifikat (RSA-Schlüsselsatz) an, mit dem das SAML-Anspruchselement <saml:Assertion> des SAML-Token signiert werden soll. Wenn Sie es nicht angeben, wird stattdessen der kryptografische Schlüssel SamlMessageSigning verwendet.

Sitzungsverwaltung

Zum Konfigurieren der Azure AD B2C-SAML-Sitzungen zwischen einer Anwendung der vertrauenden Seite, dem Attribut des UseTechnicalProfileForSessionManagement-Elements, Verweis auf die SamlSSOSessionProvider-SSO-Sitzung.

Nächste Schritte

Im folgenden Artikel finden Sie ein Beispiel für die Verwendung eines technischen Profils für einen SAML-Aussteller: