Définir un profil technique pour un émetteur de jeton SAML dans une stratégie personnalisée Azure Active Directory B2C

Notes

Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) émet plusieurs types de jetons de sécurité lors du traitement de chaque flux d’authentification. Un profil technique pour un émetteur de jeton SAML émet un jeton SAML qui est retourné à l’application par partie de confiance (le fournisseur d’identité). Ce profil technique est généralement la dernière étape d’orchestration dans le parcours utilisateur.

Protocol

L’attribut Name de l’élément Protocol doit être défini sur SAML2. Définissez l’élément OutputTokenFormat sur SAML2.

L’exemple suivant montre un profil technique pour 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>

Revendications d’entrée, de sortie et de conservation

Les éléments InputClaims, OutputClaims et PersistClaims sont vides ou absents. Les éléments InutputClaimsTransformations et OutputClaimsTransformations sont également absents.

Métadonnées

Attribut Obligatoire Description
IssuerUri Non Nom de l’émetteur qui apparaît dans la réponse SAML. La valeur doit être identique au nom configuré dans l’application par partie de confiance.
XmlSignatureAlgorithm Non Méthode utilisée par Azure AD B2C pour signer l’assertion SAML. Valeurs possibles : Sha256, Sha384, Sha512 ou Sha1. Veillez à configurer l’algorithme de signature des deux côtés avec la même valeur. Utilisez uniquement l’algorithme pris en charge par votre certificat. Pour configurer la réponse SAML, consultez Options d’inscription d’une application SAML
TokenNotBeforeSkewInSeconds Non Spécifie l’inclinaison, sous la forme d’un entier, pour l’horodatage qui marque le début de la période de validité. Plus ce nombre est élevé, plus la période de validité commence au plus tôt par rapport à l’émission des revendications pour la partie de confiance. Par exemple, lorsque TokenNotBeforeSkewInSeconds a la valeur 60 secondes, si le jeton est émis à 13:05:10 UTC, il est valide à partir de 13:04:10 UTC. La valeur par défaut est 0. La valeur maximale est 3600 (une heure).
TokenLifeTimeInSeconds Non Spécifie la durée de vie de l’assertion SAML. Cette valeur est exprimée en secondes à partir de la valeur NotBefore référencée ci-dessus. La valeur par défaut est 300 secondes (5 minutes).

Clés de chiffrement

L’élément CryptographicKeys contient les attributs suivants :

Attribut Obligatoire Description
MetadataSigning Oui Certificat X509 (jeu de clés RSA) à utiliser pour signer les métadonnées SAML. Azure AD B2C utilise cette clé pour signer les métadonnées.
SamlMessageSigning Oui Précisez le certificat X509 (jeu de clés RSA) à utiliser pour signer les messages SAML. Azure AD B2C utilise cette clé pour signer la réponse <samlp:Response> envoyée à la partie de confiance.
SamlAssertionSigning Non Spécifiez le certificat X509 (jeu de clés RSA) à utiliser pour signer l’élément d’assertion SAML <saml:Assertion> du jeton SAML. Si elle n’est pas fournie, la clé de chiffrement SamlMessageSigning est utilisée à la place.

Gestion des sessions

Pour configurer les sessions SAML Azure AD B2C entre une application par partie de confiance et l’attribut de l’élément UseTechnicalProfileForSessionManagement, référencez une session SSO SamlSSOSessionProvider.

Étapes suivantes

Consultez les articles suivants pour obtenir des exemples d’utilisation d’un profil technique d’émetteur SAML :