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>
入力、出力、永続化要求
InputClaims、OutputClaims、PersistClaims の要素は空であるか、存在しません。 InutputClaimsTransformations と OutputClaimsTransformations の要素も存在しません。
Metadata
属性 | 必須 | 説明 |
---|---|---|
IssuerUri | いいえ | SAML 応答に表示される発行者名。 この値は、証明書利用者アプリケーションに構成されているものと同じ名前にする必要があります。 |
XmlSignatureAlgorithm | いいえ | SAML アサーションに署名するために Azure AD B2C で使用されるメソッド。 指定できる値: Sha256 、Sha384 、Sha512 、または 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 発行者の技術プロファイルの使用例については、次の記事を参照してください。