重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
開始する前にこのページの上部にある ポリシーの種類 セレクターを使用して、設定するポリシーの種類を選択します。 Azure Active Directory B2C には、ユーザーがアプリケーションを操作する方法を定義する 2 つの方法 (定義済みのユーザー フローを使用する、または完全に構成可能なカスタム ポリシーを使用する) があります。 この記事で必要な手順は、方法ごとに異なります。
Azure Active Directory B2C (Azure AD B2C) は Microsoft Entra 多要素認証 と直接統合されるため、アプリケーションのサインアップとサインインエクスペリエンスに第 2 のセキュリティレイヤーを追加できます。 サインアップとサインインのユーザー フローを既に作成している場合でも、多要素認証を有効にできます。
この機能アプリケーションを使用すると、次のような複数のシナリオを処理できます。
- あるアプリケーションにアクセスするために多要素認証を要求するが、別のアプリケーションにアクセスする必要はない。 たとえば、顧客は、ソーシャル アカウントまたはローカル アカウントを使用して自動保険アプリケーションにサインインできますが、同じディレクトリに登録されている自宅保険申請にアクセスする前に電話番号を確認する必要があります。
- 一般的にアプリケーションにアクセスするために多要素認証を要求するが、アプリケーション内の機密性の高い部分にアクセスする必要はない。 たとえば、顧客はソーシャル アカウントまたはローカル アカウントを使用して銀行アプリケーションにサインインし、口座残高を確認できますが、電信送金を試みる前に電話番号を確認する必要があります。
[前提条件]
- ユーザーが サインアップしてアプリケーションにサインインできるように、ユーザー フローを作成します。
- Web アプリケーションを登録します。
- 「Active Directory B2C でのカスタム ポリシーの概要」の手順を完了してください。 このチュートリアルでは、Azure AD B2C テナント構成を使用するようにカスタム ポリシー ファイルを更新する方法について説明します。
- Web アプリケーションを登録します。
検証方法
条件付きアクセスのユーザーは、管理者として行うことができる構成の決定に基づいて MFA に対してチャレンジされる場合と、チャレンジされない場合があります。 多要素認証の方法は次のとおりです。
- 電子メール - サインイン中に、ワンタイム パスワード (OTP) を含む確認メールがユーザーに送信されます。 ユーザーは、電子メールで送信された OTP コードをアプリケーションに提供します。
- SMS または電話 - 最初のサインアップまたはサインイン時に、ユーザーは電話番号の入力と確認を求められます。 その後のサインイン時に、ユーザーは [ コードの送信 ] または [ 通話 ] オプションを選択するように求められます。 ユーザーの選択に応じて、テキスト メッセージが送信されるか、確認済みの電話番号に電話をかけ、ユーザーを識別します。 ユーザーは、テキスト メッセージを介して送信された OTP コードを提供するか、電話を承認します。
- 電話のみ - SMS または電話のオプションと同じ方法で機能しますが、通話のみが行われます。
- SMS のみ - SMS または電話呼び出しオプションと同じ方法で動作しますが、テキスト メッセージのみが送信されます。
- Authenticator アプリ - TOTP - ユーザーは、所有するデバイスに、 Microsoft Authenticator アプリなどの時間ベースのワンタイム パスワード (TOTP) 検証をサポートする認証アプリをインストールする必要があります。 最初のサインアップまたはサインイン時に、ユーザーは QR コードをスキャンするか、認証アプリを使用して手動でコードを入力します。 以降のサインイン時に、ユーザーは認証アプリに表示される TOTP コードを入力します。 Microsoft Authenticator アプリを設定する方法を参照してください。
重要
Authenticator アプリ - TOTP は SMS/Phone よりも強力なセキュリティを提供し、電子メールは最も安全性が低くなります。 SMS/Phone ベースの多要素認証では、通常の Azure AD B2C MAU の価格モデルとは別の料金が発生します。
多要素認証を設定する
Azure portal にサインインします。
複数のテナントにアクセスできる場合、上部のメニューの [設定] アイコンを選択し、[ディレクトリとサブスクリプション] メニューからお使いの Azure AD B2C テナントに切り替えます。
左側のメニューで、 Azure AD B2C を選択します。 または、[ すべてのサービス ] を選択し、 Azure AD B2C を検索して選択します。
ユーザーフローを選択します。
MFA を有効にするユーザー フローを選択します。 たとえば、 B2C_1_signinsignup。
[プロパティ] を選択します。
[ 多要素認証 ] セクションで、目的の 方法の種類を選択します。 次に、 MFA の適用 でオプションを選択します。
オフ - サインイン中に MFA は適用されず、ユーザーはサインアップまたはサインイン中に MFA に登録するように求めされません。
Always On - 条件付きアクセスの設定に関係なく、MFA は常に必要です。 サインアップ時に、ユーザーは MFA に登録するように求められます。 サインイン中に、ユーザーがまだ MFA に登録されていない場合は、登録を求められます。
条件付き - サインアップとサインイン中に、ユーザーは MFA (新しいユーザーと MFA に登録されていない既存のユーザーの両方) に登録するように求められます。 サインイン中、アクティブな条件付きアクセス ポリシーの評価で必要な場合にのみ MFA が適用されます。
- 結果がリスクのない MFA チャレンジである場合は、MFA が適用されます。 ユーザーがまだ MFA に登録されていない場合は、登録を求められます。
- リスクが原因で結果が MFA チャレンジ になり 、ユーザーが MFA に登録されていない場合、サインインはブロックされます。
注
- Azure AD B2C での条件付きアクセスの一般提供により、ユーザーはサインアップ時に MFA メソッドに登録するように求められるようになりました。 一般提供前に作成したサインアップ ユーザー フローは、この新しい動作を自動的に反映しませんが、新しいユーザー フローを作成することで動作を含めることができます。
- [条件付き] を選択した場合は、ユーザー フローに条件付きアクセスを追加し、ポリシーを適用するアプリを指定する必要もあります。
- サインアップ ユーザー フローでは、多要素認証が既定で無効になっています。 電話のサインアップを使用してユーザー フローで MFA を有効にできますが、電話番号がプライマリ識別子として使用されるため、2 番目の認証要素で使用できるオプションは電子メールワンタイム パスコードだけです。
保存 を選択します。 このユーザー フローに対して MFA が有効になりました。
[ ユーザー フローの実行] を使用して、エクスペリエンスを確認できます。 次のシナリオを確認します。
多要素認証手順が実行される前に、テナントに顧客アカウントが作成されます。 手順中に、顧客は電話番号を指定して確認するように求められます。 確認が成功した場合、後で使用するために電話番号がアカウントに添付されます。 顧客がキャンセルまたはドロップアウトした場合でも、多要素認証が有効になっている次のサインイン時に、顧客に電話番号をもう一度確認するように求めることができます。
多要素認証を有効にするには、次のように GitHub からカスタム ポリシー スターター パックを取得します。
-
.zip ファイルをダウンロード するか、
https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
からリポジトリを複製し、 SocialAndLocalAccountsWithMFA スターター パックの XML ファイルを Azure AD B2C テナント名で更新します。 SocialAndLocalAccountsWithMFA を使用すると、Authenticator アプリ - TOTP オプションを除き、ソーシャル およびローカル サインイン オプションと多要素認証オプションが有効になります。 -
Authenticator アプリ - TOTP MFA オプションをサポートするには、
https://github.com/azure-ad-b2c/samples/tree/master/policies/totp
からカスタム ポリシー ファイルをダウンロードし、Azure AD B2C テナント名で XML ファイルを更新します。TrustFrameworkExtensions.xml
スターター パックのTrustFrameworkLocalization.xml
、TrustFrameworkBase.xml
、およびTrustFrameworkLocalization.xml
XML ファイルを含めるようにしてください。 - [ページ レイアウト] をバージョン
2.1.14
に更新します。 詳細については、「 ページ レイアウトを選択する」を参照してください。
認証アプリを使用して TOTP にユーザーを登録する (エンド ユーザー向け)
Azure AD B2C アプリケーションで MFA に TOTP オプションを使用する場合、エンド ユーザーは認証アプリを使用して TOTP コードを生成する必要があります。 ユーザーは、 Microsoft Authenticator アプリ 、または TOTP 検証をサポートする他の認証アプリを使用できます。 Microsoft Authenticator アプリを使用する場合、Azure AD B2C システム管理者は、次の手順を使用して Microsoft Authenticator アプリを設定するようにエンド ユーザーにアドバイスする必要があります。
- Android または iOS モバイル デバイスに Microsoft Authenticator アプリをダウンロードしてインストールします。
- MFA (Contoso Webapp など) に TOTP を使用する必要がある Azure AD B2C アプリケーションを開き、必要な情報を入力してサインインまたはサインアップします。
- 認証アプリを使用して QR コードをスキャンしてアカウントを登録するように求められた場合は、スマートフォンで Microsoft Authenticator アプリを開き、右上隅にある 3 つの点線 のメニュー アイコン (Android の場合) または + メニュー アイコン (iOS の場合) を選択します。
- [ + アカウントの追加] を選択します。
-
その他のアカウント (Google、Facebook など) を選択し、Azure AD B2C アプリケーションに表示されている QR コードをスキャンしてアカウントを登録します。 QR コードをスキャンできない場合は、アカウントを手動で追加できます。
- 電話の Microsoft Authenticator アプリで、[コードを手動で入力] を選択します。
- Azure AD B2C アプリケーションで、[ 問題が解決しない] を選択します。 アカウント 名 と シークレットが表示されます。
- Microsoft Authenticator アプリで アカウント名 と シークレット を入力し、[ 完了] を選択します。
- Azure AD B2C アプリケーションで、[続行] を選択 します。
- [ コードの入力] に、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 トークン] を見つけて、その横にある省略記号メニューを選択します。 このインターフェイスが表示されない場合は、[ 新しいユーザー認証方法に切り替える] オプションを選択します。新 しい認証方法のエクスペリエンスに切り替えるには、ここをクリックして今すぐ使用してください。
- [削除] を選択してから、 [はい] を選択して確定します。
Microsoft Graph API を使用して TOTP 認証アプリの登録を削除する
Microsoft Graph API を使用して ユーザーのソフトウェア OATH トークン認証方法を削除 する方法について説明します。
国や地域別の SMS 価格帯
次の表は、さまざまな国または地域にわたる SMS ベースの認証サービスのさまざまな価格帯の詳細を示しています。 価格の詳細については、 Azure AD B2C の価格に関するページを参照してください。
SMS はアドオン機能であり、リンクされたサブスクリプションが必要です。 サブスクリプションの有効期限が切れた場合、またはサブスクリプションが取り消された場合、エンド ユーザーは SMS を使用して認証できなくなります。そのため、MFA ポリシーに応じてユーザーのサインインがブロックされる可能性があります。
レベル | 国/リージョン |
---|---|
電話認証低コスト | オーストラリア、ブラジル、ブルネイ、カナダ、チリ、中国、コロンビア、キプロス、北マケドニア、ポーランド、ポルトガル、韓国、タイ、Türkiye、米国 |
電話認証中低コスト | グリーンランド、アルバニア、アメリカ領サモア、オーストリア、バハマ、バーレーン、ボスニア & ヘルツェゴビナ、 Botswana、コスタリカ、チェコ共和国、デンマーク、エストニア、フェロー諸島、フィンランド、フランス、ギリシャ、香港特別行政区、ハンガリー、アイスランド、アイルランド、イタリア、日本、ラトビア、ラトビア、リトアニア、ルクセンブルク、マカオ SAR、マルタ、メキシコ、ミクロネシア、モルドバ、ナミビア、ニュージーランド、ニカラグア、ノルウェー、ルーマニア、サントメ、プリンシペ、セーシェル共和国、シンガポール、シンガポール、スロバキア、ソロモン諸島、スペイン、スペイン、 スウェーデン、スイス、台湾、英国、米国領バージン諸島、ウルグアイ |
電話認証中高コスト | アンドラ、アンゴラ、アンギラ、南極、アンティグア・バーブーダ、アルゼンチン、アルメニア、アルバ、バルバドス、ベルギー、ベナン、ボリビア、ボネール島、キュラソー、サバ島、シント・ユースタティウス島、シント・マールテン、英領ヴァージン諸島、ブルガリア、ブルキナファソ、カメルーン、ケイマン諸島、中央アフリカ共和国、クック諸島、コートジボワール、クロアチア、ディエゴ ガルシア、ジブチ、ドミニカ共和国、ドミニカ共和国、ドミニカ共和国、エクアドル、エルサルバドル、エリトリア、フォークランド諸島、フィジー、仏領ギアナ、仏領ポリネシア、ガンビア、ジョージア、ドイツ、ジブラルタル、グレナダ、グアドループ、グアム、ギニア、ガイアナ、ホンジュラス、インド、ケニア、キリバス、ラオス、リベリア、マレーシア、マーシャル諸島、マルティニーク、モーリシャス、モナコ、モンテネグロ、モントセラト、オランダ、ニューカレドニア、ニウエ、オマーン、パラオ、パナマ、パラグアイ、ペルー、プエルトリコ、プエルトリコ、レユニオン、ルワンダ、セントヘレナ、アセンションおよびトリスタンダクーニャ、セントクリストファー・ネーヴィス、セントルシア、サンピエール島・ミクロン島、セントビンセント及びグレナディーン諸島、サイパン、サモア、サンマリノ、サウジアラビア、シント・マールテン、スロベニア、南アフリカ、南スーダン、スリナム、スワジランド (新名称はエスワティニ王国)、ティモール・レステ、トケラウ、トンガ、タークス カイコス、ツバル、アラブ首長国連邦、バヌアツ、ベネズエラ、ベトナム、ウォリス・フツナ |
電話認証高コスト | リヒテンシュタイン、バミューダ、カーボベルデ、カンボジア、コンゴ民主共和国、ドミニカ国、エジプト、赤道ギニア、ガーナ、グアテマラシティ、ギニアビサウ、イスラエル、ジャマイカ、ジャマイカ、コソボ、レソト、モルディブ、マリ、モーリタニア、モロッコ、モザンビーク、パプアニューギニア、フィリピン、カタール、シエラレオネ、トリニダード トバゴ、ウクライナ、ジンバブエ、アフガニスタン、アルジェリア、アゼルバイジャン、バングラデシュ、ベラルーシ、ベリーズ、ブータン、ブルンジ、チャド、コモロ、コンゴ共和国、エチオピア、ガボン共和国、ハイチ、インドネシア、イラク、ヨルダン、クウェート、キルギス、レバノン、リビア、マダガスカル、マラウイ、モンゴル、ミャンマー、ナウル、ネパール、ニジェール、ナイジェリア、パキスタン、パレスチナ自治政府、ロシア、セネガル、セルビア、ソマリア、スリランカ、スーダン、タジキスタン、タンザニア、トーゴ共和国、チュニジア、トルクメニスタン、ウガンダ、ウズベキスタン、イエメン、ザンビア |