Azure Active Directory B2C: 組み込みのポリシーAzure Active Directory B2C: Built-in policies

Azure Active Directory (Azure AD) B2C の拡張可能なポリシー フレームワークは、このサービスの中核となる強みです。The extensible policy framework of Azure Active Directory (Azure AD) B2C is the core strength of the service. ポリシーには、サインアップ、サインイン、プロファイル編集などのコンシューマーの ID エクスペリエンスが完全に記述されています。Policies fully describe consumer identity experiences such as sign-up, sign-in, or profile editing. たとえば、サインアップのポリシーを使用して次の設定を構成し、動作を制御できます。For instance, a sign-up policy allows you to control behaviors by configuring the following settings:

  • コンシューマーがアプリケーションにサインアップするために使用できるアカウントの種類 (Facebook などのソーシャル アカウント、または電子メール アドレスなどのローカル アカウント)Account types (social accounts such as Facebook or local accounts such as email addresses) that consumers can use to sign up for the application
  • サインアップ中にコンシューマーから収集される属性 (名、郵便番号、靴のサイズなど)Attributes (for example, first name, postal code, and shoe size) to be collected from the consumer during sign-up
  • Azure Multi-Factor Authentication の使用Use of Azure Multi-Factor Authentication
  • すべてのサインアップ ページの外観The look and feel of all sign-up pages
  • ポリシーの実行が完了したときにアプリケーションが受信する情報 (トークン内で要求として明示される)Information (which manifests as claims in a token) that the application receives when the policy run finishes

テナント内でさまざまな種類のポリシーを複数作成し、必要に応じてそれらをアプリケーションで使用できます。You can create multiple policies of different types in your tenant and use them in your applications as needed. ポリシーは、アプリケーション間で再利用することができます。Policies can be reused across applications. この柔軟性により、開発者は最小限のコード変更で、またはコードをまったく変更せずにコンシューマーの ID エクスペリエンスを定義および変更できます。This flexibility enables developers to define and modify consumer identity experiences with minimal or no changes to their code.

ポリシーは、簡単な開発者インターフェイスを使用して入手できます。Policies are available for use via a simple developer interface. アプリケーションは (要求でポリシー パラメーターを渡す) 標準の HTTP 認証要求を使用してポリシーをトリガーし、カスタマイズされたトークンを応答として受信します。Your application triggers a policy by using a standard HTTP authentication request (passing a policy parameter in the request) and receives a customized token as response. たとえば、サインアップ ポリシーを呼び出す要求とサインイン ポリシーを呼び出す要求の唯一の違いは、"p" クエリ文字列パラメーターで使用されるポリシー名です。For example, the only difference between requests that invoke a sign-up policy and requests that invoke a sign-in policy is the policy name that's used in the "p" query string parameter:


https://login.microsoftonline.com/contosob2c.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=2d4d11a2-f814-46a7-890a-274a72a7309e      // Your registered Application ID
&redirect_uri=https%3A%2F%2Flocalhost%3A44321%2F    // Your registered Reply URL, url encoded
&response_mode=form_post                            // 'query', 'form_post' or 'fragment'
&response_type=id_token
&scope=openid
&nonce=dummy
&state=12345                                        // Any value provided by your application
&p=b2c_1_siup                                       // Your sign-up policy

https://login.microsoftonline.com/contosob2c.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=2d4d11a2-f814-46a7-890a-274a72a7309e      // Your registered Application ID
&redirect_uri=https%3A%2F%2Flocalhost%3A44321%2F    // Your registered Reply URL, url encoded
&response_mode=form_post                            // 'query', 'form_post' or 'fragment'
&response_type=id_token
&scope=openid
&nonce=dummy
&state=12345                                        // Any value provided by your application
&p=b2c_1_siin                                       // Your sign-in policy

ポリシー フレームワークの詳細については、Enterprise Mobility and Security ブログにある Azure AD B2C に関するこのブログの投稿を参照してください。For more information about the policy framework, see this blog post about Azure AD B2C on the Enterprise Mobility and Security Blog.

サインアップまたはサインイン ポリシーを作成するCreate a sign-up or sign-in policy

このポリシーは、1 つの構成でコンシューマーのサインアップ エクスペリエンスとサインイン エクスペリエンスの両方を処理します。This policy handles both consumer sign-up & sign-in experiences with a single configuration. コンシューマーは、状況に応じて正しいパス (サインアップまたはサインイン) に誘導されます。Consumers are led down the right path (sign-up or sign-in) depending on the context. このポリシーはまた、サインアップまたはサインインが成功したときにアプリケーションが受け取るトークンのコンテンツを記述します。サインアップまたはサインイン ポリシーのサンプル コードは、 こちらで入手できますIt also describes the contents of tokens that the application will receive upon successful sign-ups or sign-ins. A code sample for the sign-up or sign-in policy is available here. サインアップ ポリシーとサインイン ポリシーにはこのポリシーを使用することをお勧めします。It is recommened that you use this policy over a sign-up policy and sign-in policy.

アプリケーションにサインインできるようにするには、サインイン ポリシーを作成する必要があります。To enable sign-in on your application, you will need to create a sign-in policy. このポリシーは、サインイン中のコンシューマーのエクスペリエンスと、サインインが成功したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that consumers will go through during sign-in and the contents of tokens that the application will receive on successful sign-ins.

Azure Portal のサービス一覧から [Azure AD B2C] を選択します。Select Azure AD B2C from the services list in the Azure portal.

B2C サービスを選択します。

設定のポリシー セクションで [サインアップまたはサインイン ポリシー] を選択し、[+ 追加] をクリックします。In the policies section of settings, select Sign-up or sign-in policies and click + Add.

サインアップ ポリシーまたはサインイン ポリシーを選択して [追加] をクリック

参照するアプリケーションのポリシーの名前を入力します。Enter a policy Name for your application to reference. たとえば、「 SiUpIn」のように入力します。For example, enter SiUpIn.

[ID プロバイダー] を選択し、[電子メールのサインアップ] チェック ボックスをオンにします。Select Identity providers and check Email signup. 既に構成されている場合は、ソーシャル ID プロバイダーを選択することもできます。Optionally, you can also select social identity providers, if already configured. [OK]をクリックします。Click OK.

ID プロバイダーとして [電子メールのサインアップ] を選択して [OK] をクリック

[サインアップ属性] を選択します。Select Sign-up attributes. サインアップ中にコンシューマーから収集する属性を選択します。Choose attributes you want to collect from the consumer during sign-up. たとえば、[国/リージョン][表示名][郵便番号] の各チェック ボックスをオンにします。For example, check Country/Region, Display Name, and Postal Code. [OK]をクリックします。Click OK.

属性を選択して [OK] をクリック

[アプリケーション クレーム] を選択します。Select Application claims. サインアップまたはサインイン エクスペリエンスの成功後にアプリケーションに戻される承認トークンで返される要求を選択します。Choose claims you want returned in the authorization tokens sent back to your application after a successful sign-up or sign-in experience. たとえば、[表示名][ID プロバイダー][郵便番号][User is new](ユーザーは新規)、および [User's Object ID](ユーザーのオブジェクト ID) を選択します。For example, select Display Name, Identity Provider, Postal Code, User is new and User's Object ID.

アプリケーション要求を選択して [OK] をクリック

[作成] をクリックして、ポリシーを追加します。Click Create to add the policy. ポリシーが B2C_1_SiUpIn として表示されます。The policy is listed as B2C_1_SiUpIn. 名前には B2C_1_ というプレフィックスが追加されます。The B2C_1_ prefix is appended to the name.

[B2C_1_SiUpIn] を選択することによってポリシーを開きます。Open the policy by selecting B2C_1_SiUpIn. テーブルに指定されている設定を確認し、[今すぐ実行] をクリックします。Verify the settings specified in the table then click Run now.

ポリシーを選択して実行

設定Setting Value
アプリケーションApplications Contoso B2C アプリContoso B2C app
応答 URL の選択Select reply url https://localhost:44316/

新しいブラウザー タブが開き、構成したサインアップまたはサインインのコンシューマー エクスペリエンスを確認できます。A new browser tab opens, and you can verify the sign-up or sign-in consumer experience as configured.

注意

ポリシーの作成と更新が有効になるまで、最大で 1 分間かかります。It takes up to a minute for policy creation and updates to take effect.

サインアップ ポリシーを作成するCreate a sign-up policy

アプリケーションでサインアップを有効にするには、サインアップ ポリシーを作成する必要があります。To enable sign-up on your application, you need to create a sign-up policy. このポリシーは、サインアップ中にコンシューマーが体験するエクスペリエンスと、正常なサインアップの直後にアプリケーションが受信するトークンの内容を記述します。This policy describes the experiences that consumers go through during sign-up and the contents of tokens that the application receives on successful sign-ups.

Azure Portal のサービス一覧から [Azure AD B2C] を選択します。Select Azure AD B2C from the services list in the Azure portal.

B2C サービスを選択します。

[サインアップ ポリシー]をクリックします。Click Sign-up policies.

ブレードの上部にある [+追加] をクリックします。Click +Add at the top of the blade.

[名前] によって、アプリケーションで使用されるサインアップ ポリシー名が決定されます。The Name determines the sign-up policy name used by your application. たとえば、「SiUp」と入力します。For example, enter SiUp.

[Identity providers](ID プロバイダー) をクリックし、[Email signup](電子メール サインアップ) を選択します。Click Identity providers and select Email signup. 既に構成されている場合は、ソーシャル ID プロバイダーを選択することもできます。Optionally, you can also select social identity providers, if already configured. [OK]をクリックします。Click OK.

[サインアップ属性]をクリックします。Click Sign-up attributes. ここで、サインアップ中にコンシューマーから収集する属性を選択します。Here you choose attributes that you want to collect from the consumer during sign-up. たとえば、[国/リージョン][表示名]、および [Postal Code] (郵便番号) を選択します。For example, select Country/Region, Display Name, and Postal Code. [OK]をクリックします。Click OK.

[アプリケーション クレーム]をクリックします。Click Application claims. ここで、サインアップ エクスペリエンスの成功後にアプリケーションに戻されるトークンで返される要求を選択します。Here you choose claims that you want returned in the tokens sent back to your application after a successful sign-up experience. たとえば、[表示名][ID プロバイダー][Postal Code] (郵便番号)[User is new] (ユーザーは新規)、および [User's Object ID] (ユーザーのオブジェクト ID) を選択します。For example, select Display Name, Identity Provider, Postal Code, User is new, and User's Object ID.

Create をクリックしてください。Click Create. 作成したポリシーが [Sign-up policies](サインアップ ポリシー) ブレードに "B2C_1_SiUp" と表示されます (B2C_1_ フラグメントが自動的に追加されます)。The policy created appears as B2C_1_SiUp (the B2C_1_ fragment is automatically added) in the Sign-up policies blade.

[B2C_1_SiUp] をクリックしてポリシーを開きます。Open the policy by clicking B2C_1_SiUp.

[アプリケーション] ドロップダウンで [Contoso B2C app] (Contoso B2C アプリ) を、また [Reply URL / Redirect URI] (応答 URL/リダイレクト URI) ドロップダウンで https://localhost:44321/ を選択します。Select Contoso B2C app in the Applications drop-down and https://localhost:44321/ in the Reply URL / Redirect URI drop-down.

[今すぐ実行]をクリックします。Click Run now. 新しいブラウザー タブが開き、アプリケーションへのサインアップのコンシューマー エクスペリエンスを確認できます。A new browser tab opens, and you can run through the consumer experience of signing up for your application.

注意

ポリシーの作成と更新が有効になるまで、最大で 1 分間かかります。It takes up to a minute for policy creation and updates to take effect.

サインイン ポリシーを作成するCreate a sign-in policy

アプリケーションにサインインできるようにするには、サインイン ポリシーを作成する必要があります。To enable sign-in on your application, you will need to create a sign-in policy. このポリシーは、サインイン中のコンシューマーのエクスペリエンスと、サインインが成功したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that consumers will go through during sign-in and the contents of tokens that the application will receive on successful sign-ins.

Azure Portal のサービス一覧から [Azure AD B2C] を選択します。Select Azure AD B2C from the services list in the Azure portal. B2C サービスを選択します。 [サインイン ポリシー] をクリックします。Azure Portal のサービス一覧から [Azure AD B2C] を選択します。Select Azure AD B2C from the services list in the Azure portal. B2C サービスを選択します。 Click Sign-in policies.

ブレードの上部にある [+追加] をクリックします。Click +Add at the top of the blade.

[名前] によって、アプリケーションで使用されるサインイン ポリシー名が決定されます。The Name determines the sign-in policy name used by your application. たとえば、「SiIn」と入力します。For example, enter SiIn.

[ID プロバイダー] をクリックし、[ローカル アカウント サインイン] を選択します。Click Identity providers and select Local Account SignIn. 既に構成されている場合は、ソーシャル ID プロバイダーを選択することもできます。Optionally, you can also select social identity providers, if already configured. [OK]をクリックします。Click OK.

[アプリケーション クレーム]をクリックします。Click Application claims. ここで、サインイン エクスペリエンスの成功後にアプリケーションに戻されるトークンで返される要求を選択します。Here you choose claims that you want returned in the tokens sent back to your application after a successful sign-in experience. たとえば、"表示名"、"ID プロバイダー"、"郵便番号"、および "ユーザーのオブジェクト ID" などを選択します。For example, select Display Name, Identity Provider, Postal Code and User's Object ID. [OK]をクリックします。Click OK.

Create をクリックしてください。Click Create. 作成したポリシーがサインイン ポリシー ブレードに "B2C_1_SiIn" と表示されます (B2C_1_ フラグメントが自動的に追加されます)。Note that the policy just created appears as B2C_1_SiIn (the B2C_1_ fragment is automatically added) in the Sign-in policies blade.

[B2C_1_SiIn] をクリックすることによってポリシーを開きます。Open the policy by clicking B2C_1_SiIn.

[アプリケーション] ドロップダウンで [Contoso B2C app] (Contoso B2C アプリ) を、また [Reply URL / Redirect URI] (応答 URL/リダイレクト URI) ドロップダウンで https://localhost:44321/ を選択します。Select Contoso B2C app in the Applications drop-down and https://localhost:44321/ in the Reply URL / Redirect URI drop-down.

[今すぐ実行]をクリックします。Click Run now. 新しいブラウザー タブが開き、アプリケーションへのサインインのコンシューマー エクスペリエンスを確認できます。A new browser tab opens, and you can run through the consumer experience of signing into your application.

注意

ポリシーの作成と更新が有効になるまで、最大で 1 分間かかります。It takes up to a minute for policy creation and updates to take effect.

プロファイル編集ポリシーを作成するCreate a profile editing policy

アプリケーションでポリシーを編集できるようにするには、プロファイル編集ポリシーを作成する必要があります。To enable profile editing on your application, you will need to create a profile editing policy. このポリシーは、プロファイル編集中のコンシューマーのエクスペリエンスと、正常に完了したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that consumers will go through during profile editing and the contents of tokens that the application will receive on successful completion.

Azure Portal のサービス一覧から [Azure AD B2C] を選択します。Select Azure AD B2C from the services list in the Azure portal.

B2C サービスを選択します。

設定のポリシー セクションで [プロファイルの編集ポリシー] を選択し、[+ 追加] をクリックします。In the policies section of settings, select Profile editing policies and click + Add.

[プロファイルの編集ポリシー] を選択して [追加] をクリック

参照するアプリケーションのポリシーの名前を入力します。Enter a policy Name for your application to reference. たとえば、「 SiPe」のように入力します。For example, enter SiPe.

[ID プロバイダー] を選択し、[ローカル アカウント サインイン] チェック ボックスをオンにします。Select Identity providers and check Local Account Signin. 既に構成されている場合は、ソーシャル ID プロバイダーを選択することもできます。Optionally, you can also select social identity providers, if already configured. [OK]をクリックします。Click OK.

ID プロバイダーとして [ローカル アカウント サインイン] を選択して [OK] をクリック

[プロファイルの属性] を選択します。Select Profile attributes. コンシューマーがそのプロファイル内で表示したり編集したりすることのできる属性を選択します。Choose attributes the consumer can view and edit in their profile. たとえば、[国/リージョン][表示名][郵便番号] の各チェック ボックスをオンにします。For example, check Country/Region, Display Name, and Postal Code. [OK]をクリックします。Click OK.

属性を選択して [OK] をクリック

[アプリケーション クレーム] を選択します。Select Application claims. プロファイル編集エクスペリエンスの成功後にアプリケーションに戻される承認トークンで返される要求を選択します。Choose claims you want returned in the authorization tokens sent back to your application after a successful profile editing experience. たとえば、[表示名] および [郵便番号] を選択します。For example, select Display Name, Postal Code.

アプリケーション要求を選択して [OK] をクリック

[作成] をクリックして、ポリシーを追加します。Click Create to add the policy. ポリシーが B2C_1_SiPe として表示されます。The policy is listed as B2C_1_SiPe. 名前には B2C_1_ というプレフィックスが追加されます。The B2C_1_ prefix is appended to the name.

[B2C_1_SiPe] を選択することによってポリシーを開きます。Open the policy by selecting B2C_1_SiPe. テーブルに指定されている設定を確認し、[今すぐ実行] をクリックします。Verify the settings specified in the table then click Run now.

ポリシーを選択して実行

設定Setting Value
アプリケーションApplications Contoso B2C アプリContoso B2C app
応答 URL の選択Select reply url https://localhost:44316/

新しいブラウザー タブが開き、構成したプロファイル編集のコンシューマー エクスペリエンスを確認できます。A new browser tab opens, and you can verify the profile editing consumer experience as configured.

注意

ポリシーの作成と更新が有効になるまで、最大で 1 分間かかります。It takes up to a minute for policy creation and updates to take effect.

パスワードのリセット ポリシーを作成するCreate a password reset policy

アプリケーションで詳細なパスワード リセットを有効にするには、パスワードのリセット ポリシーを作成する必要があります。To enable fine-grained password reset on your application, you will need to create a password reset policy. ここに示されているテナント全体のパスワード リセット オプションに注意してください。Note that the tenant-wide password reset option specified here. このポリシーは、パスワード リセット中のコンシューマーのエクスペリエンスと、正常に完了したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that the consumers will go through during password reset and the contents of tokens that the application will receive on successful completion.

Azure Portal のサービス一覧から [Azure AD B2C] を選択します。Select Azure AD B2C from the services list in the Azure portal.

B2C サービスを選択します。

設定のポリシー セクションで [パスワードのリセット ポリシー] を選択し、[+ 追加] をクリックします。In the policies section of settings, select Password reset policies and click + Add.

サインアップ ポリシーまたはサインイン ポリシーを選択して、[追加] ボタンをクリックします。

参照するアプリケーションのポリシーの名前を入力します。Enter a policy Name for your application to reference. たとえば、「 SSPR」のように入力します。For example, enter SSPR.

[Identity providers](ID プロバイダー) を選択し、[Reset password using email address](電子メール アドレスを使用してパスワードをリセットする) チェック ボックスをオンにします。Select Identity providers and check Reset password using email address. [OK]をクリックします。Click OK.

ID プロバイダーとして [Reset password using email address](電子メール アドレスを使用してパスワードをリセットする) を選択して [OK] をクリック

[アプリケーション クレーム] を選択します。Select Application claims. パスワード リセット エクスペリエンスの成功後にアプリケーションに戻される承認トークンで返される要求を選択します。Choose claims you want returned in the authorization tokens sent back to your application after a successful password reset experience. たとえば、User's Object ID を選択します。For example, select User's Object ID.

アプリケーション要求を選択して [OK] をクリック

[作成] をクリックして、ポリシーを追加します。Click Create to add the policy. ポリシーが B2C_1_SSPR として表示されます。The policy is listed as B2C_1_SSPR. 名前には B2C_1_ というプレフィックスが追加されます。The B2C_1_ prefix is appended to the name.

[B2C_1_SSPR] を選択することによってポリシーを開きます。Open the policy by selecting B2C_1_SSPR. テーブルに指定されている設定を確認し、[今すぐ実行] をクリックします。Verify the settings specified in the table then click Run now.

ポリシーを選択して実行

設定Setting Value
アプリケーションApplications Contoso B2C アプリContoso B2C app
応答 URL の選択Select reply url https://localhost:44316/

新しいブラウザー タブが開き、アプリケーションでパスワード リセットのコンシューマー エクスペリエンスを確認できます。A new browser tab opens, and you can verify the password reset consumer experience in your application.

注意

ポリシーの作成と更新が有効になるまで、最大で 1 分間かかります。It takes up to a minute for policy creation and updates to take effect.

よく寄せられる質問Frequently asked questions

サインアップまたはサインイン ポリシーを (ローカル アカウントで) 作成すると、エクスペリエンスの最初のページに [Forgot password?] (パスワードを忘れた場合) リンクが表示されます。When you create a sign-up or sign-in policy (with local accounts), you see a Forgot password? link on the first page of the experience. このリンクをクリックしても、パスワード リセット ポリシーは自動的にはトリガーされません。Clicking this link doesn't automatically trigger a password reset policy.

代わりに、エラー コード AADB2C90118 がアプリに返されます。Instead, the error code AADB2C90118 is returned to your app. アプリは、特定のパスワード リセット ポリシーを呼び出すことによって、このエラー コードを処理する必要があります。Your app needs to handle this error code by invoking a specific password reset policy. 詳細については、ポリシーをリンクする方法を示すサンプルを参照してください。For more information, see a sample that demonstrates the approach of linking policies.

サインアップまたはサインイン ポリシーと、サインアップ ポリシーおよびサインイン ポリシーのどちらを使用すればよいですか?Should I use a sign-up or sign-in policy or a sign-up policy and a sign-in policy?

サインアップ ポリシーおよびサインイン ポリシーより、サインアップまたはサインイン ポリシーを使用することをお勧めします。We recommend that you use a sign-up or sign-in policy over a sign-up policy and a sign-in policy.

サインアップまたはサインイン ポリシーは、サインイン ポリシーより多くの機能を備えています。The sign-up or sign-in policy has more capabilities than the sign-in policy. また、ページ UI のカスタマイズを使用したり、ローカライズのより適切なサポートを受けたりすることもできます。It also enables you to use page UI customization and has better support for localization.

ポリシーをローカライズする必要がなく、必要なのはブランドのマイナーなカスタマイズ機能だけであり、それにパスワード リセットを組み込みたい場合は、サインイン ポリシーをお勧めします。The sign-in policy is recommended if you don't need to localize your policies, only need minor customization capabilities for branding, and want password reset built into it.

次のステップNext steps