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://contosob2c.b2clogin.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://contosob2c.b2clogin.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

サインアップまたはサインイン ポリシーを作成する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 recommended that you use this policy over a sign-up policy or a sign-in policy.

Azure Portal の左上隅の [すべてのサービス] を選択し、[Azure AD B2C] を検索して選択します。Choose All services in the top-left corner of the Azure portal, search for and select Azure AD B2C. これで、前のチュートリアルで作成したテナントが使用されます。You should now be using the tenant that you created in the previous tutorial.

設定のポリシー セクションで [サインアップまたはサインイン ポリシー] を選択し、[+ 追加] をクリックします。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. Click 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. Click 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.

ポリシーを選択して実行

SettingSetting 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

アプリケーションへのサインアップのみを可能にする場合は、サインアップ ポリシーを使用します。If you want to only enable sign-up on your application, you use a sign-up policy. このポリシーは、サインアップ中に顧客が体験するエクスペリエンスと、正常なサインアップの直後にアプリケーションが受信するトークンの内容を記述します。This policy describes the experiences that customers go through during sign-up and the contents of tokens that the application receives on successful sign-ups.

Azure Portal の左上隅の [すべてのサービス] を選択し、[Azure AD B2C] を検索して選択します。Choose All services in the top-left corner of the Azure portal, search for and select Azure AD B2C. これで、前のチュートリアルで作成したテナントが使用されます。You should now be using the tenant that you created in the previous tutorial.

[サインアップ ポリシー] をクリックします。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. Click 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. Click 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

アプリケーションへのサインインのみを可能にする場合は、サインイン ポリシーを使用します。If you want to only enable sign-in on your application, you use a sign-in policy. このポリシーは、サインイン中の顧客のエクスペリエンスと、サインインが成功したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that customers 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] を検索して選択します。Choose All services in the top-left corner of the Azure portal, search for and select Azure AD B2C. これで、前のチュートリアルで作成したテナントが使用されます。You should now be using the tenant that you created in the previous tutorial.

[サインイン ポリシー] をクリックします。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. Click 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. Click 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

アプリケーションでプロファイル編集を有効にする場合は、プロファイル編集ポリシーを使用します。If you want to enable profile editing on your application, you use a profile editing policy. このポリシーは、プロファイル編集中の顧客のエクスペリエンスと、正常に完了したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that customers will go through during profile editing and the contents of tokens that the application will receive on successful completion.

Azure Portal の左上隅の [すべてのサービス] を選択し、[Azure AD B2C] を検索して選択します。Choose All services in the top-left corner of the Azure portal, search for and select Azure AD B2C. これで、前のチュートリアルで作成したテナントが使用されます。You should now be using the tenant that you created in the previous tutorial.

設定のポリシー セクションで [プロファイルの編集ポリシー] を選択し、[+ 追加] をクリックします。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. Click 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. Click 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.

ポリシーを選択して実行

SettingSetting 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 use a password reset policy. ここに示されているテナント全体のパスワード リセット オプションに注意してください。Note that the tenant-wide password reset option specified here. このポリシーは、パスワード リセット中の顧客のエクスペリエンスと、正常に完了したときにアプリケーションが受け取るトークンのコンテンツを記述します。This policy describes the experiences that the customers will go through during password reset and the contents of tokens that the application will receive on successful completion.

Azure Portal の左上隅の [すべてのサービス] を選択し、[Azure AD B2C] を検索して選択します。Choose All services in the top-left corner of the Azure portal, search for and select Azure AD B2C. これで、前のチュートリアルで作成したテナントが使用されます。You should now be using the tenant that you created in the previous tutorial.

設定のポリシー セクションで [パスワードのリセット ポリシー] を選択し、[+ 追加] をクリックします。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. Click 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] (ユーザーのオブジェクト 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.

ポリシーを選択して実行

SettingSetting 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.

ポリシーをプレビューするPreview policies

新機能がリリースされると、これらのいくつかは、既存のポリシーからなくなる場合があります。As we release new features, some of these may not be available on existing policies. これらのポリシーが GA になったら、古いバージョンは同種の最新のものに置き換えられる計画です。We plan to replace older versions with the latest of the same type once these policies enter GA. 既存のポリシーには変更はなく、これらの新機能を利用するには、新しいポリシーを作成する必要があります。Your existing policies will not change and in order to take advantage of these new features you will have to create new policies.

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

サインアップまたはサインイン ポリシーを (ローカル アカウントで) 作成すると、エクスペリエンスの最初のページに [パスワードを忘れた場合] リンクが表示されます。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