重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
注
Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。 ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。 まだ行っていない場合は、Active Directory B2C でのカスタム ポリシーの概要に関する記事で、カスタム ポリシー スターター パックの詳細を確認してください。
BuildingBlocks 要素は、TrustFrameworkPolicy 要素内に追加されます。
<TrustFrameworkPolicy
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
PolicySchemaVersion="0.3.0.0"
TenantId="mytenant.onmicrosoft.com"
PolicyId="B2C_1A_TrustFrameworkBase"
PublicPolicyUri="http://mytenant.onmicrosoft.com/B2C_1A_TrustFrameworkBase">
<BuildingBlocks>
<ClaimsSchema>
...
</ClaimsSchema>
<Predicates>
...
</Predicates>
<PredicateValidations>
...
</PredicateValidations>
<ClaimsTransformations>
...
</ClaimsTransformations>
<ContentDefinitions>
...
</ContentDefinitions>
<Localization>
...
</Localization>
<DisplayControls>
...
</DisplayControls>
</BuildingBlocks>
BuildingBlocks 要素には、定義された順序で指定する必要がある次の要素が含まれています。
ClaimsSchema - ポリシーの一部として参照できる要求の種類を定義します。 要求スキーマは、要求の種類を宣言する場所です。 要求の種類は、多くのプログラム言語の変数に似ています。 要求の種類を使用すると、アプリケーションのユーザーからのデータの収集、ソーシャル ID プロバイダーからの要求の受信、カスタム REST API からのデータの送受信、カスタム ポリシーで使用される内部データの格納を行うことができます。
Predicates と PredicateValidationsInput - 検証プロセスを実行して、適切な形式のデータのみが要求に入力されるようにすることができます。
ClaimsTransformations - ポリシーで使用できる要求変換の一覧が含まれます。 要求変換は、1 つの要求を別の要求に変換します。 要求変換では、次のような変換メソッドを指定します。
- 文字列要求の大文字と小文字を指定された要求に変更します。 たとえば、文字列を小文字から大文字に変更します。
- 2 つの要求を比較し、要求と true を返し、要求が一致することを示します。それ以外の場合は false。
- ポリシーで指定されたパラメーターから文字列要求を作成する。
- 乱数ジェネレーターを使用してランダムな文字列を作成する。
- 指定された書式指定文字列に従って要求を書式設定する。 この変換では、C# の
String.Format
メソッドを使用します。
InputValidation - この要素を使用すると、次のようなブール集計 を 実行 できます。
ContentDefinitions - ユーザー体験で使用する HTML5 テンプレートの URL が含まれています。 カスタム ポリシーでは、コンテンツ定義によって、ユーザー体験の指定したステップに使用される HTML5 ページ URI が定義されます。 たとえば、サインインページやサインアップ ページ、パスワード リセット ページ、エラー ページなどです。 HTML5 ファイルの LoadUri をオーバーライドすることで、外観を変更できます。 または、ニーズに応じて新しいコンテンツ定義を作成することもできます。 この要素には、ローカライズ ID を使用してローカライズされたリソース参照を含めることがあります。
ローカライズ - 複数の言語をサポートできます。 ポリシーのローカライズ サポートを使用すると、ポリシーでサポートされている言語の一覧を設定し、既定の言語を選択できます。 言語固有の文字列とコレクションもサポートされています。
DisplayControls - ページに表示するコントロールを定義します。 表示コントロールには特別な機能があり、バックエンド検証技術プロファイルと対話します。