Share via


Azure Active Directory B2C カスタム ポリシーで SAML トークン発行者用の技術プロファイルを定義する

注意

Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。 ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。 まだ行っていない場合は、Active Directory B2C でのカスタム ポリシーの概要に関する記事で、カスタム ポリシー スターター パックの詳細を確認してください。

Azure Active Directory B2C (Azure AD B2C) は、各認証フローを処理するときにいくつかの種類のセキュリティ トークンを出力します。 SAML トークン発行者の技術プロファイルは、証明書利用者アプリケーション (サービス プロバイダー) に返される SAML トークンを出力します。 通常では、この技術プロファイルは、ユーザー体験での最後のオーケストレーション手順です。

Protocol

Protocol 要素の Name 属性は SAML2 に設定する必要があります。 OutputTokenFormat 要素を に設定します。

次の例は、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>

入力、出力、永続化要求

InputClaimsOutputClaimsPersistClaims の要素は空であるか、存在しません。 InutputClaimsTransformationsOutputClaimsTransformations の要素も存在しません。

Metadata

属性 必須 説明
IssuerUri いいえ SAML 応答に表示される発行者名。 この値は、証明書利用者アプリケーションに構成されているものと同じ名前にする必要があります。
XmlSignatureAlgorithm いいえ SAML アサーションに署名するために Azure AD B2C で使用されるメソッド。 指定できる値: Sha256Sha384Sha512、または Sha1。 両方の側で同じ値の署名アルゴリズムを構成するようにします。 証明書でサポートされているアルゴリズムのみを使用してください。 SAML 応答を構成するには、SAML アプリケーションを登録するためのオプションに関するページを参照してください。
TokenNotBeforeSkewInSeconds いいえ 有効期間の開始をマークするタイムスタンプの傾斜を整数で指定します。 この数値が大きいほど、証明書利用者に対して要求が発行された時間について、有効期間がより遡って開始されます。 たとえば、TokenNotBeforeSkewInSeconds が 60 秒に設定されていて、トークンが 13:05:10 UTC に発行された場合、トークンは 13:04:10 UTC から有効になります。 既定値は 0 です。 最大値は 3600 (1 時間) です。
TokenLifeTimeInSeconds いいえ SAML アサーションの有効期間を指定します。 この値は、上記の NotBefore 値からの秒数です。既定値は 300 秒 (5 分) です。

暗号化キー

CryptographicKeys 要素には次の属性が存在します。

属性 必須 説明
MetadataSigning はい SAML データを署名するために使用する X509 証明書 (RSA キー セット)。 Azure AD B2C では、このキーを使用して、メタデータに署名します。
SamlMessageSigning はい SAML メッセージに署名するために使用する X509 証明書 (RSA キー セット) を指定します。 Azure AD B2C は、このキーを使用して、証明書利用者に送信する <samlp:Response> 応答に署名します。
SamlAssertionSigning No SAMLトークンのSAMLアサーション<saml:Assertion>要素の署名に使用するX509証明書(RSAキーセット)を指定します。 指定しない場合は、代わりにSamlMessageSigning暗号化キーが使用されます。

セッションの管理

証明書利用者アプリケーション間の Azure AD B2C SAML セッションを構成するには、UseTechnicalProfileForSessionManagement 要素の属性で SamlSSOSessionProvider SSO セッションを参照します。

次のステップ

SAML 発行者の技術プロファイルの使用例については、次の記事を参照してください。