Azure Active Directory B2C のカスタム ポリシーCustom policies in Azure Active Directory B2C

注意

Azure Active Directory B2C で、カスタム ポリシーは、主に、複雑なシナリオに取り組む用途向けに設計されています。In Azure Active Directory B2C, custom policies are designed primarily to address complex scenarios. ほとんどのシナリオで、組み込みユーザー フローを使用することをお勧めします。For most scenarios, we recommend that you use built-in user flows.

カスタム ポリシーは、Azure Active Directory (Azure AD) B2C テナントの動作を定義する構成ファイルです。Custom policies are configuration files that define the behavior of your Azure Active Directory (Azure AD) B2C tenant. Azure AD B2C ポータルでは、最も一般的な ID タスク用のユーザー フローが事前に定義されています。User flows are predefined in the Azure AD B2C portal for the most common identity tasks. カスタム ポリシーは、ID 開発者がさまざまなタスクを実現する目的で自由に編集することができます。Custom policies can be fully edited by an identity developer to complete many different tasks.

ユーザー フローとカスタム ポリシーの比較Comparing user flows and custom policies

ユーザー フローUser flows カスタム ポリシーCustom policies
対象ユーザーTarget users ID の専門知識を持つ、または持たないすべてのアプリケーション開発者。All application developers with or without identity expertise. ID のプロフェッショナル、システム インテグレータ、コンサルタント、社内の ID チーム。Identity pros, systems integrators, consultants, and in-house identity teams. こうしたユーザーは、OpenIDConnect フローに慣れており、ID プロバイダーや要求ベースの認証を理解しています。They are comfortable with OpenIDConnect flows and understand identity providers and claims-based authentication.
構成方法Configuration method ユーザー フレンドリなユーザー インターフェイス (UI) を備えた Azure portal。Azure portal with a user-friendly user-interface (UI). XML ファイルを直接編集して Azure portal にアップロードします。Directly editing XML files and then uploading to the Azure portal.
UI のカスタマイズUI customization HTML、CSS、および JavaScript を含む完全な UI のカスタマイズ。Full UI customization including HTML, CSS and JavaScript.

カスタム文字列による多言語サポート。Multilanguage support with Custom strings.
同じSame
属性のカスタマイズAttribute customization 標準属性とカスタム属性。Standard and custom attributes. 同じSame
トークンおよびセッション管理Token and session management カスタム トークンおよび複数のセッション オプション。Custom token and multiple session options. 同じSame
[ID プロバイダー]Identity Providers 定義済みのローカル プロバイダーまたはソーシャル プロバイダー、およびほとんどの OIDC ID プロバイダー (Azure Active Directory テナントとのフェデレーションなど)。Predefined local or social provider and most OIDC identity providers, such as federation with Azure Active Directory tenants. 標準ベースの OIDC、OAUTH、SAML。Standards-based OIDC, OAUTH, and SAML. REST API との統合を使用して認証を行うことも可能です。Authentication is also possible by using integration with REST APIs.
ID タスクIdentity Tasks ローカル アカウントまたはさまざまなソーシャル アカウントによるサインアップまたはサインイン。Sign-up or sign-in with local or many social accounts.

セルフサービスのパスワード リセット。Self-service password reset.

プロファイルの編集。Profile edit.

Multi-Factor Authentication。Multi-Factor Authentication.

トークンとセッションのカスタマイズ。Customize tokens and sessions.

アクセス トークンのフロー。Access token flows.
カスタム ID プロバイダーを使用したユーザー フローと同じタスクの実行、またはカスタム スコープの使用。Complete the same tasks as user flows using custom identity providers or use custom scopes.

登録時に別のシステムでユーザー アカウントをプロビジョニング。Provision a user account in another system at the time of registration.

独自の電子メール サービス プロバイダを使用して、ウェルカム メールを送信。Send a welcome email using your own email service provider.

Azure AD B2C の外部のユーザー ストアを使用。Use a user store outside Azure AD B2C.

ユーザーが指定した情報を信頼できるシステムで検証 (API を使用)。Validate user provided information with a trusted system by using an API.

ポリシー ファイルPolicy files

次の 3 種類のポリシー ファイルが使用されます。These three types of policy files are used:

  • Base ファイル - ほとんどの定義が含まれています。Base file - contains most of the definitions. ポリシーのトラブルシューティングおよび長期間の保守に役立つように、このファイルへの変更は最小限に抑えることをお勧めします。It is recommended that you make a minimum number of changes to this file to help with troubleshooting, and long-term maintenance of your policies.
  • Extensions ファイル - テナントの固有の構成変更を保持しています。Extensions file - holds the unique configuration changes for your tenant.
  • 証明書利用者 (RP) ファイル - アプリケーションまたはサービス (証明書利用者) から直接呼び出される、単一タスクに焦点を置いています。Relying Party (RP) file - The single task-focused file that is invoked directly by the application or service (also, known as a Relying Party). 固有の各タスクには独自の RP が必要であり、ブランドの要件に応じて、この数は "アプリケーションの合計 x ユースケースの総数" になることがあります。Each unique task requires its own RP and depending on branding requirements, the number might be "total of applications x total number of use cases."

Azure AD B2C でのユーザー フローは上に示した 3 つのファイルのパターンに従いますが、Azure portal が extensions ファイルへの変更をバックグラウンドで行なっている間、開発者には RP ファイルしか表示されません。User flows in Azure AD B2C follow the three-file pattern depicted above, but the developer only sees the RP file, while the Azure portal makes changes in the background to the extensions file.

カスタム ポリシーの中心概念Custom policy core concepts

Azure の顧客 ID およびアクセス管理 (CIAM) サービスには、次のようなものがあります。The customer identity and access management (CIAM) service in Azure includes:

  • Microsoft Graph を使ってアクセス可能なユーザー ディレクトリ。ここには、ローカル アカウントとフェデレーション アカウントの両方のユーザー データが保持されます。A user directory that is accessible by using Microsoft Graph and which holds user data for both local accounts and federated accounts.
  • ID/アクセス管理タスクを完了するためにユーザーおよびエンティティ間の信頼を調整し、それらの間で要求を渡す Identity Experience Framework へのアクセス。Access to the Identity Experience Framework that orchestrates trust between users and entities and passes claims between them to complete an identity or access management task.
  • ID トークン、更新トークン、アクセス トークン (および同等の SAML アサーション) を発行し、リソースを保護するためにそれらを検証するセキュリティ トークン サービス (STS)。A security token service (STS) that issues ID tokens, refresh tokens, and access tokens (and equivalent SAML assertions) and validates them to protect resources.

Azure AD B2C は、ID プロバイダー、ユーザー、その他のシステムとやり取りし、ローカル ユーザー ディレクトリを順次操作して ID タスクを完了します。Azure AD B2C interacts with identity providers, users, other systems, and with the local user directory in sequence to achieve an identity task. たとえば、ユーザーのサインイン、新規ユーザーの登録、パスワードのリセットなどです。For example, sign in a user, register a new user, or reset a password. Identity Experience Framework とポリシー (ユーザー体験または信頼フレームワーク ポリシーとも呼ばれる) によって、マルチパーティの信頼が確立され、アクター、アクション、プロトコル、および完了するための一連の手順が明示的に定義されます。The Identity Experience Framework and a policy (also called a user journey or a trust framework policy) establishes multi-party trust and explicitly defines the actors, the actions, the protocols, and the sequence of steps to complete.

Identity Experience Framework は、OpenIDConnect、OAuth、SAML、WSFed などの標準のプロトコル形式、およびいくつかの標準以外の形式 (REST API ベースのシステムからシステムへの要求の交換など) のエンティティ間の信頼を調整する、完全に構成可能で、ポリシー主導かつクラウドベースの Azure プラットフォームです。The Identity Experience Framework is a fully configurable, policy-driven, cloud-based Azure platform that orchestrates trust between entities in standard protocol formats such as OpenIDConnect, OAuth, SAML, WSFed, and a few non-standard ones, for example REST API-based system-to-system claims exchanges. このフレームワークは、HTML と CSS をサポートする、わかりやすい、ホワイトラベルが付けられたエクスペリエンスを作成します。The framework creates user-friendly, white-labeled experiences that support HTML and CSS.

カスタム ポリシーは、階層型チェーンで互いを参照する 1 つまたは複数の XML 形式ファイルとして表されます。A custom policy is represented as one or several XML-formatted files that refer to each other in a hierarchical chain. XML 要素は、要求スキーマ、要求変換、コンテンツ定義、クレーム プロバイダー、技術プロファイル、ユーザー体験のオーケストレーション手順などの要素を定義します。The XML elements define the claims schema, claims transformations, content definitions, claims providers, technical profiles, and user journey orchestration steps, among other elements. カスタム ポリシーは、証明書利用者から呼び出されたときに Identity Experience Framework によって実行される 1 つまたは複数の XML ファイルとしてアクセス可能です。A custom policy is accessible as one or several XML files that are executed by the Identity Experience Framework when invoked by a relying party. カスタム ポリシーを構成する開発者は、信頼できる関係の詳細をメタデータ エンドポイント、正確な要求交換定義を含むように慎重に定義し、各 ID プロバイダーの必要に応じてシークレット、キー、および証明書を構成する必要があります。Developers configuring custom policies must define the trusted relationships in careful detail to include metadata endpoints, exact claims exchange definitions, and configure secrets, keys, and certificates as needed by each identity provider.

継承モデルInheritance model

アプリケーションが RP ポリシー ファイルを呼び出すと、Azure AD B2C の Identity Experience Framework はまず base ファイルから、次に extensions ファイルから、最後に RP ポリシー ファイルからすべての要素を追加して、有効な現在のポリシーを組み立てます。When an application calls the RP policy file, the Identity Experience Framework in Azure AD B2C adds all of the elements from base file, from the extensions file, and then from the RP policy file to assemble the current policy in effect. 要素の種類と名前が同じ場合は RP ファイルの要素によって extensions の内容がオーバーライドされ、extensions によって base がオーバーライドされます。Elements of the same type and name in the RP file will override those in the extensions, and extensions overrides base.

次の手順Next steps