Azure Active Directory B2C で多要素認証を有効にする
"開始する前に"、[ポリシーの種類の選択] セレクターを使用して、設定するポリシーの種類を選択します。 Azure Active Directory B2C には、ユーザーがアプリケーションを操作する方法を定義する 2 つの方法 (定義済みのユーザー フローを使用する、または完全に構成可能なカスタム ポリシーを使用する) があります。 この記事で必要な手順は、方法ごとに異なります。
Azure Active Directory B2C (Azure AD B2C) は Microsoft Entra 多要素認証と直接統合されているため、アプリケーションのサインアップおよびサインイン エクスペリエンスに第 2 のセキュリティ層を簡単に追加できます。 コードを 1 行も記述する必要なく多要素認証を有効にできます。 サインアップおよびサインイン ユーザー フローを既に作成していても、多要素認証を有効にできます。
この機能を利用すると、次のようなシナリオをアプリケーションで処理するのに役立ちます。
- 多要素認証が、あるアプリケーションのアクセスには必要ないが、別のアプリケーションのアクセスには必要な場合。 たとえば、顧客が自動車保険アプリケーションにサインインするにはソーシャルまたはローカル アカウントを使用できますが、同じディレクトリに登録されている住宅保険アプリケーションにアクセスするには事前に電話番号を確認する必要があるような場合です。
- 通常のアプリケーションへのアクセスには多要素認証は必要ないが、アプリケーション内の機密性が高い部分へのアクセスにはそれが必要である場合。 たとえば、顧客が銀行取引アプリケーションにサインインし、口座の残高を確認するにはソーシャルまたはローカル アカウントを使用できますが、ネット送金を行うには事前に電話番号の確認が必要になるような場合です。
前提条件
- ユーザー フローを作成して、ユーザーがアプリケーションにサインアップおよびサインインできるようにします。
- Web アプリケーションを登録します。
- 「Active Directory B2C でのカスタム ポリシーの概要」にある手順を完了します。
- Web アプリケーションを登録します。
検証方法
条件付きアクセスを使用して、ユーザーは、管理者が行う構成上の決定に基づいて、MFA で認証が行われる場合と行われない場合があります。 多要素認証の方法は次のとおりです。
- メール - サインイン時に、ワンタイム パスワード (OTP) を含む確認メールがユーザーに送信されます。 ユーザーは、メールで送信された OTP コードを入力します。
- SMS または電話 - 最初のサインアップまたはサインイン時に、ユーザーは電話番号を入力して確認するように求められます。 それ以降のサインインで、ユーザーは [コードの送信] または [電話する] のどちらかの電話 MFA オプションを選択するように求められます。 ユーザーの選択に応じて、テキスト メッセージが送信されるか、確認済みの電話番号に電話がかけられて、ユーザーを識別します。 ユーザーは、テキスト メッセージを介して送信される OTP コードを入力するか、電話を承認します。
- 電話の呼び出しのみ - [SMS または電話] オプションと同じように動作しますが、電話の呼び出しのみが行われます。
- SMS のみ - [SMS または電話] オプションと同じように動作しますが、テキスト メッセージのみが送信されます。
- 認証アプリ - TOTP - ユーザーは、Microsoft Authenticator アプリなど、時間ベースのワンタイム パスワード (TOTP) 検証をサポートする認証アプリを、所有しているデバイスにインストールする必要があります。 ユーザーは、最初のサインアップまたはサインイン時に、認証アプリを使用して QR コードをスキャンするか、手動でコードを入力します。 ユーザーは、以降のサインイン時に、認証アプリに表示される TOTP コードを入力します。 Microsoft Authenticator アプリを設定する方法を参照してください。
重要
認証アプリ - TOTP が SMS/電話より強力なセキュリティをもたらし、メールが最も安全でありません。 SMS/電話ベースの多要素認証では、通常の Azure AD B2C MAU の価格モデルとは別に料金がかかります。
多要素認証を設定する
Azure portal にサインインします。
複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
左側のメニューで、 [Azure AD B2C] を選択します。 または、 [すべてのサービス] を選択し、 [Azure AD B2C] を検索して選択します。
[ユーザー フロー] を選択します。
MFA を有効にするユーザー フローを選択します。 たとえば、B2C_1_signinsignup です。
[プロパティ] を選択します。
[多要素認証] セクションで、目的の [方法の種類] を選択します。 次に、 [MFA の適用] でオプションを選択します。
[オフ] - サインイン時に MFA が適用されることはありません。ユーザーは、サインアップ時またはサインイン時に MFA への登録を求められません。
[常にオン] - 条件付きアクセスの設定に関係なく、MFA が常に必須になります。 サインアップ時に、ユーザーは MFA に登録するよう求められます。 サインインの間に、ユーザーが MFA にまだ登録されていない場合は、登録するよう求められます。
[Conditional](条件付き) - サインアップとサインインの間に、ユーザーは MFA への登録を求められます (新規ユーザーと、MFA に未登録の既存ユーザーの両方)。 サインイン時には、アクティブな条件付きアクセス ポリシーの評価で要求されている場合にのみ、MFA が適用されます。
- 結果がリスクを伴わない MFA チャレンジである場合は、MFA が適用されます。 ユーザーが MFA にまだ登録されていない場合は、登録するよう求められます。
- 結果がリスクによる MFA チャレンジであり、"なおかつ" ユーザーが MFA に登録されていない場合は、サインインがブロックされます。
注意
- Azure AD B2C での条件付きアクセスの一般提供では、サインアップの間にユーザーは MFA の方法での登録を求められるようになります。 一般提供の前に作成したサインアップ ユーザー フローには、この新しい動作は自動的には反映されませんが、新しいユーザー フローを作成することで動作を組み込むことができます。
- [条件付き] を選択した場合、条件付きアクセスをユーザー フローに追加し、ポリシーを適用するアプリを指定する必要もあります。
- サインアップのユーザー フローでは、多要素認証は既定で無効になっています。 電話でのサインアップを使用したユーザー フローで MFA を有効にすることはできますが、電話番号がプライマリ ID として使用されるため、2 番目の認証要素に使用できる唯一のオプションは電子メールによるワンタイム パスコードです。
[保存] を選択します。 このユーザー フローに対して MFA が有効になります。
エクスペリエンスを検証するには、[ユーザー フローを実行します] を使用します。 次のシナリオで確認してみましょう。
多要素認証の手順が実行される前に、顧客のアカウントがテナントに作成されます。 この手順の過程で、顧客は自分の電話番号を入力し、確認することを求められます。 検証が成功した場合、後で使用できるように電話番号がアカウントに関連付けられます。 顧客がキャンセルまたは中止した場合であっても、多要素認証が有効になっている場合、次にサインインするときに顧客は電話番号の確認を再度求められる場合があります。
多要素認証を有効にするには、次のように GitHub からカスタム ポリシー スターター パックを取得します。
- .zip ファイルをダウンロードするか、
https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
からリポジトリを複製してから、SocialAndLocalAccountsWithMFA スターター パック内の XML ファイルを Azure AD B2C テナント名に更新します。 SocialAndLocalAccountsWithMFA を使用すると、Authenticator アプリ - TOTP オプションを除き、ソーシャルおよびローカルのサインインと多要素認証の各オプションが有効になります。 - 認証アプリ - TOTP MFA オプションをサポートするには、
https://github.com/azure-ad-b2c/samples/tree/master/policies/totp
からカスタム ポリシー ファイルをダウンロードし、XML ファイルを Azure AD B2C テナント名に更新します。 必ず、SocialAndLocalAccounts スターター パックからTrustFrameworkExtensions.xml
、TrustFrameworkLocalization.xml
、TrustFrameworkBase.xml
XML ファイルを含めてください。 - [ページ レイアウト] をバージョン
2.1.14
に更新します。 詳細については、「ページ レイアウトを選択する」を参照してください。
認証アプリを使用してユーザーを TOTP に登録する (エンド ユーザー向け)
Azure AD B2C アプリケーションで TOTP オプションを使用して MFA を有効にする場合、エンド ユーザーは認証アプリを使用して TOTP コードを生成する必要があります。 ユーザーは、Microsoft Authenticator アプリを使用することも、TOTP 検証をサポートする他の認証アプリを使用することもできます。 Azure AD B2C システム管理者は、エンド ユーザーに対して、次の手順を使用して Microsoft Authenticator アプリを設定するようにアドバイスする必要があります。
- Android または iOS モバイル デバイスで、Microsoft Authenticator アプリをダウンロードして、インストールします。
- MFA に TOTP (Contoso Web アプリなど) を使用する必要があるアプリケーションを開き、必要な情報を入力してサインインまたはサインアップします。
- 認証アプリを使用して QR コードをスキャンしてアカウントを登録するように求められたら、電話で Microsoft Authenticator アプリを開き、右上隅にある 3 ドット メニュー アイコン (Android の場合) か + メニュー アイコン (iOS の場合) を選択します。
- [+ アカウントの追加] を選択します。
- [他のアカウント (Google、Facebook など)] を選択し、アプリケーション (Contoso Web アプリなど) に表示されている QR コードをスキャンしてアカウントを登録します。 QR コードをスキャンできない場合は、手動でアカウントを追加できます。
- 電話の Microsoft Authenticator アプリで、[またはコードを手動で入力] を選択します。
- アプリケーション (Contoso Web アプリなど) で、[まだ問題が解決していませんか?] を選択します。 これにより、[アカウント名] と [シークレット] が表示されます。
- Microsoft Authenticator アプリで [アカウント名] と [シークレット] を入力し、[完了] を選択します。
- アプリケーション (Contoso Web アプリなど) で、[続行] を選択します。
- [コードを入力] に、Microsoft Authenticator アプリに表示されるコードを入力します。
- [認証] を選択します。
- その後、アプリケーションにサインインするときに、Microsoft Authenticator アプリに表示されるコードを入力します。
OATH ソフトウェア トークンに関するページを参照してください
ユーザーの TOTP 認証子の登録を削除する (システム管理者向け)
Azure AD B2C では、ユーザーの TOTP 認証アプリの登録を削除できます。 その後、ユーザーは、TOTP 認証を再度使用するためにアカウントを再登録する必要があります。 ユーザーの TOTP 登録を削除するには、Azure portal または Microsoft Graph API を使用できます。
注意
- Azure AD B2C からユーザーの TOTP 認証アプリの登録を削除しても、TOTP 認証アプリ内のユーザーのアカウントは削除されません。 システム管理者は、再登録を試みる前に TOTP 認証アプリからアカウントを手動で削除するようにユーザーに指示する必要があります。
- ユーザーが誤って TOTP 認証アプリからアカウントを削除した場合、ユーザーが再登録できるようにユーザーの TOTP 認証子の登録を Azure AD B2C から削除できるシステム管理者またはアプリ所有者に通知する必要があります。
Azure portal を使用して TOTP 認証アプリの登録を削除する
- Azure portal にサインインします。
- 複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
- 左側のメニューで、 [ユーザー] を選択します。
- TOTP 認証アプリの登録を削除するユーザーを検索して選択します。
- 左側のメニューで、[認証方法] を選択します。
- [使用可能な認証方法] で、[ソフトウェア OATH トークン] を見つけ、その横にある 3 ドット メニューを選択します。 このインターフェイスが表示されない場合は、[新しいユーザー認証方法のエクスペリエンスに切り替えてください。今すぐ使用する場合は、こちらをクリックしてください] を選択し、新しい認証方法エクスペリエンスに切り替えます。
- [削除] を選択してから、 [はい] を選択して確定します。
Microsoft Graph API を使用して TOTP 認証アプリの登録を削除する
Microsoft Graph API を使用して、ユーザーのソフトウェア OATH トークン認証方法を削除する方法について参照してください。