重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
この記事は、 Azure Active Directory B2C について のコンパニオンであり、サービスのより詳細な概要を提供します。 ここでは、サービスで使用する主要なリソースとその機能について説明し、アプリケーション内の顧客に完全にカスタム ID エクスペリエンスを提供できるようにする方法について説明します。
Azure AD B2C テナント
Azure Active Directory B2C (Azure AD B2C) では、 テナント は組織を表し、ユーザーのディレクトリです。 各 Azure AD B2C テナントは異なり、他の Azure AD B2C テナントとは異なります。 Azure AD B2C テナントは、既にある可能性がある Microsoft Entra テナントとも異なります。
Azure AD B2C テナントで使用する主なリソースは次のとおりです。
- ディレクトリ - Azure AD B2C には、ユーザーの資格情報、プロファイル データ、およびアプリケーションの登録が格納されます。
- アプリケーションの登録 - Web、モバイル、ネイティブ アプリケーションを Azure AD B2C に登録して、ID 管理を有効にすることができます。 Azure AD B2C で保護するすべての API を登録することもできます。
-
ユーザー フロー と カスタム ポリシー - 組み込みのユーザー フローと完全に構成可能なカスタム ポリシーを使用して、アプリケーションの ID エクスペリエンスを作成するために使用されます。
- ユーザー フロー を使用すると、サインアップ、サインイン、プロファイル編集などの一般的な ID タスクをすばやく有効にすることができます。
- カスタム ポリシーを 使用すると、組織、顧客、従業員、パートナー、市民に固有の複雑な ID ワークフローを構築できます。
-
サインイン オプション - Azure AD B2C には、アプリケーションのユーザーに対してさまざまな サインアップとサインインのオプション が用意されています。
- ユーザー名、電子メール、電話によるサインイン - Azure AD B2C ローカル アカウントを構成して、ユーザー名、メール アドレス、電話番号、または方法の組み合わせを使用してサインアップおよびサインインできるようにします。
- ソーシャル ID プロバイダー - Facebook、LinkedIn、X などのソーシャル プロバイダーとフェデレーションできます。
- 外部 ID プロバイダー - OAuth 2.0、OpenID Connect などの標準 ID プロトコルとフェデレーションすることもできます。
- キー - トークン、クライアント シークレット、証明書、およびパスワードに署名および検証するための暗号化キーを追加および管理します。
Azure AD B2C テナントは、Azure AD B2C の使用を開始するために作成する必要がある最初のリソースです。 具体的には、次の方法を学習します。
Azure AD B2C のアカウント
Azure AD B2C では、いくつかの種類のユーザー アカウントが定義されています。 Microsoft Entra ID、Microsoft Entra B2B、Azure Active Directory B2C は、これらのアカウントの種類を共有します。
- 職場アカウント - 職場アカウントを持つユーザーは、テナント内のリソースを管理でき、管理者ロールを使用してテナントを管理することもできます。 職場アカウントを持つユーザーは、新しいコンシューマー アカウントの作成、パスワードのリセット、アカウントのブロック/ブロック解除、アクセス許可の設定、セキュリティ グループへのアカウントの割り当てを行うことができます。
- ゲスト アカウント - これらは、ゲストとしてテナントに招待する外部ユーザーです。 ゲスト ユーザーを Azure AD B2C テナントに招待する一般的なシナリオは、管理責任を共有することです。
- コンシューマー アカウント - これらは、Azure AD B2C ユーザー フローとカスタム ポリシーによって管理されるアカウントです。
図: Azure portal の Azure AD B2C テナント内のユーザー ディレクトリ。
コンシューマー アカウント
コンシューマー アカウントを使用すると、ユーザーは Azure AD B2C で保護したアプリケーションにサインインできます。 ただし、コンシューマー アカウントを持つユーザーは、Azure portal などの Azure リソースにアクセスできません。
コンシューマー アカウントは、次の種類の ID に関連付けることができます。
- Azure AD B2C ディレクトリにローカルに格納されたユーザー名とパスワードを持つローカル ID。 多くの場合、これらの ID は "ローカル アカウント" と見なされます。
- ユーザー の ID がフェデレーション ID プロバイダーによって管理されるソーシャル ID または エンタープライズ ID。 たとえば、Facebook、Google、Microsoft、ADFS、Salesforce などです。
コンシューマー アカウントを持つユーザーは、複数の ID でサインインできます。 たとえば、ユーザー名、電子メール、従業員 ID、政府 ID などです。 1 つのアカウントには、ローカルとソーシャルの両方の複数の ID を持つことができます。
図: Azure AD B2C で複数の ID を持つ 1 つのコンシューマー アカウント
詳細については、「 Azure Active Directory B2C のユーザー アカウントの概要」を参照してください。
ローカル アカウントのサインイン オプション
Azure AD B2C には、ユーザーを認証するためのさまざまな方法が用意されています。 ユーザーは、ユーザー名とパスワード、電話による確認 (パスワードレス認証とも呼ばれます) を使用して、ローカル アカウントにサインインできます。 ローカル アカウント ID プロバイダーの設定では、メール アドレスでのサインアップが既定で有効になっています。
サインイン オプションの詳細、またはローカル アカウント ID プロバイダーを設定する方法について説明します。
ユーザー プロファイルの属性
Azure AD B2C では、コンシューマー アカウント プロファイルの一般的な属性を管理できます。 たとえば、表示名、姓、名、市区町村などです。
基になる Microsoft Entra ID スキーマを拡張して、ユーザーに関する追加情報を格納することもできます。 たとえば、居住国/地域、優先言語、ニュースレターを購読するか、多要素認証を有効にするかなどの好みなどです。 詳細については、以下を参照してください。
外部 ID プロバイダーを使用したサインイン
Azure AD B2C を構成して、ユーザーがソーシャル ID プロバイダーとエンタープライズ ID プロバイダーの資格情報を使用してアプリケーションにサインインできるようにすることができます。 Azure AD B2C は、OAuth 1.0、OAuth 2.0、OpenID Connect、SAML プロトコルをサポートする ID プロバイダーとフェデレーションできます。 たとえば、Facebook、Microsoft アカウント、Google、X、Active Directory フェデレーション サービス (AD FS) などです。
外部 ID プロバイダーを使用すると、アプリケーション専用の新しいアカウントを作成しなくても、コンシューマーに既存のソーシャル アカウントまたはエンタープライズ アカウントでサインインする機能を提供できます。
サインアップまたはサインイン ページで、Azure AD B2C には、ユーザーがサインインに選択できる外部 ID プロバイダーの一覧が表示されます。 外部 ID プロバイダーのいずれかを選択すると、選択したプロバイダーの Web サイトにリダイレクトされ、サインイン プロセスが完了します。 ユーザーが正常にサインインすると、アプリケーションでアカウントを認証するために Azure AD B2C に戻ります。
ID プロバイダーの詳細については、「 Azure Active Directory B2C でアプリケーションに ID プロバイダーを追加する」を参照してください。
ID エクスペリエンス: ユーザー フローまたはカスタム ポリシー
Azure AD B2C では、ユーザーがアプリケーションにアクセスするために従うビジネス ロジックを定義できます。 たとえば、ユーザーがサインイン、サインアップ、プロファイルの編集、パスワードのリセットを行うときの一連の手順を決定できます。 シーケンスが完了すると、ユーザーはトークンを取得し、アプリケーションにアクセスできるようになります。
Azure AD B2C では、ID ユーザー エクスペリエンスを提供する 2 つの方法があります。
ユーザー フロー - これらは定義済みの組み込みの構成可能なポリシーであり、サインアップ、サインイン、ポリシー編集のエクスペリエンスを数分で作成できます。
カスタム ポリシー - これにより、複雑な ID エクスペリエンス シナリオ用に独自のユーザー体験を作成できます。
次のスクリーンショットは、ユーザー フロー設定 UI とカスタム ポリシー構成ファイルを示しています。
ユーザー フローとカスタム ポリシーの詳細と、ビジネス ニーズに最適な方法の決定に役立つ情報については、「 ユーザー フローとカスタム ポリシーの概要」を参照してください。
ユーザー インターフェイス
Azure AD B2C では、表示されるページがブランドの外観とシームレスに調和するように、ユーザーの ID エクスペリエンスを作成できます。 ユーザーがアプリケーションの ID 体験を進めると、ユーザーに提示される HTML と CSS のコンテンツをほぼ完全に制御できます。 この柔軟性により、アプリケーションと Azure AD B2C の間でブランドと視覚的な一貫性を維持できます。
注
ソーシャル アカウントを使用するときにサード パーティによってレンダリングされるページのカスタマイズは、その ID プロバイダーによって提供されるオプションに限定され、Azure AD B2C の制御外です。
UI のカスタマイズについては、次を参照してください。
カスタム ドメイン
アプリケーションのリダイレクト URI で Azure AD B2C ドメインをカスタマイズできます。 カスタム ドメインを使用すると、表示されるページがアプリケーションのドメイン名とシームレスにブレンドされるように、シームレスなエクスペリエンスを作成できます。 ユーザーの視点から見ると、Azure AD B2C の既定のサインインページ .b2clogin.com にリダイレクトされず、サインイン プロセス中にあなたのドメイン内に留まります。
詳細については、「 カスタム ドメインを有効にする」を参照してください。
ローカライゼーション
Azure AD B2C での言語のカスタマイズにより、顧客のニーズに合わせてさまざまな言語に対応できます。 Microsoft では 36 言語のローカライズを提供していますが、任意の言語に独自のローカライズを提供することもできます。
Azure Active Directory B2C での言語のカスタマイズでのローカライズのしくみについて説明します。
メールによる確認
Azure AD B2C では、サインアップフローとパスワード リセット フロー中に確認するよう顧客に要求することで、有効な電子メール アドレスが保証されます。 これにより、悪意のあるアクターが自動化されたプロセスを使用して、アプリケーションで不正なアカウントを生成することもできなくなります。
アプリケーションを使用するためにサインアップするユーザーに送信される電子メールをカスタマイズできます。 サードパーティの電子メール プロバイダーを使用すると、独自の電子メール テンプレートと From: アドレスと件名を使用できるほか、ローカライズとカスタムワンタイム パスワード (OTP) 設定をサポートできます。 詳細については、以下を参照してください。
独自のビジネス ロジックを追加し、RESTful API を呼び出す
ユーザー フローとカスタム ポリシーの両方で RESTful API と統合できます。 違いは、ユーザー フローでは指定した場所で呼び出しを行うのに対し、カスタム ポリシーでは独自のビジネス ロジックを体験に追加することです。 この機能を使用すると、外部 ID ソースからデータを取得して使用できます。 Azure AD B2C は、RESTful サービスとデータを交換して次のことができます。
- ユーザーフレンドリなカスタム エラー メッセージを表示します。
- ユーザー入力を検証して、形式が正しくないデータがユーザー ディレクトリに保持されないようにします。 たとえば、ユーザーが入力したデータを変更できます。たとえば、名をすべて小文字で入力した場合は大文字にするなどです。
- 企業の基幹業務アプリケーションとさらに統合することで、ユーザー データを強化します。
- RESTful 呼び出しを使用すると、プッシュ通知の送信、企業データベースの更新、ユーザー移行プロセスの実行、アクセス許可の管理、データベースの監査などを行うことができます。
ロイヤルティ プログラムは、REST API の呼び出しに対する Azure AD B2C のサポートによって有効になるもう 1 つのシナリオです。 たとえば、RESTful サービスは、ユーザーの電子メール アドレスを受信し、顧客データベースにクエリを実行してから、ユーザーのロイヤルティ番号を Azure AD B2C に返すことができます。
返されるデータは、Azure AD B2C のユーザーのディレクトリ アカウントに格納できます。 データは、ポリシーの後続の手順でさらに評価することも、アクセス トークンに含めることもできます。
REST API 呼び出しは、カスタム ポリシーによって定義されたユーザー体験の任意の手順で追加できます。 たとえば、REST API を呼び出すことができます。
- サインイン中、Azure AD B2C が資格情報を検証する直前
- サインイン直後
- Azure AD B2C がディレクトリに新しいアカウントを作成する前
- Azure AD B2C がディレクトリに新しいアカウントを作成した後
- Azure AD B2C がアクセス トークンを発行する前
詳細については、「 Azure AD B2C の API コネクタについて」を参照してください。
プロトコルとトークン
アプリケーションの場合、Azure AD B2C では、ユーザー体験用の OAuth 2.0、 OpenID Connect、 SAML プロトコル がサポートされています。 アプリケーションは、Azure AD B2C に認証要求を発行することで、ユーザー体験を開始します。 Azure AD B2C への要求の結果は、 ID トークン、アクセス トークン、SAML トークンなどのセキュリティ トークンです。 このセキュリティ トークンは、アプリケーション内でユーザーの ID を定義します。
外部 ID の場合、Azure AD B2C では、任意の OAuth 1.0、OAuth 2.0、OpenID Connect、SAML ID プロバイダーとのフェデレーションがサポートされます。
次の図は、Azure AD B2C が同じ認証フロー内のさまざまなプロトコルを使用して通信する方法を示しています。
- 証明書利用者アプリケーションは、OpenID Connect を使用して Azure AD B2C への承認要求を開始します。
- アプリケーションのユーザーが SAML プロトコルを使用する外部 ID プロバイダーを使用してサインインすることを選択すると、Azure AD B2C は SAML プロトコルを呼び出してその ID プロバイダーと通信します。
- ユーザーが外部 ID プロバイダーによるサインイン操作を完了すると、Azure AD B2C は OpenID Connect を使用して証明書利用者アプリケーションにトークンを返します。
アプリケーションの統合
ユーザーがアプリケーションにサインインする場合、アプリケーションは、ユーザー フローまたはカスタム ポリシーによって提供されるエンドポイントに対する承認要求を開始します。 ユーザー フローまたはカスタム ポリシーは、ユーザーのエクスペリエンスを定義および制御します。 ユーザー フロー ( サインアップやサインイン フローなど) が完了すると、Azure AD B2C によってトークンが生成され、ユーザーがアプリケーションにリダイレクトされます。 このトークンは Azure AD B2C に固有であり、ソーシャル アカウントを使用するときにサードパーティ ID プロバイダーによって発行されたトークンと混同しないでください。 サード パーティのトークンを使用する方法については、「 Azure Active Directory B2C で ID プロバイダーアクセス トークンをアプリケーションに渡す」を参照してください。
複数のアプリケーションで、同じユーザー フローまたはカスタム ポリシーを使用できます。 1 つのアプリケーションで複数のユーザー フローまたはカスタム ポリシーを使用できます。
たとえば、アプリケーションにサインインする場合、アプリケーションは サインアップまたはサインイン ユーザー フローを使用します。 ユーザーがサインインした後、プロファイルを編集して、アプリケーションが別の承認要求を開始する場合は、今度は プロファイル編集 ユーザー フローを使用します。
多要素認証 (MFA)
Azure AD B2C 多要素認証 (MFA) は、ユーザーのシンプルさを維持しながら、データとアプリケーションへのアクセスを保護するのに役立ちます。 2 番目の形式の認証を必要とすることでセキュリティを強化し、使いやすいさまざまな認証方法を提供することで強力な認証を実現します。
ユーザーは、管理者として行うことができる構成の決定に基づいて MFA に対してチャレンジを受ける場合と、チャレンジされない場合があります。
詳細については、「 Azure Active Directory B2C で多要素認証を有効にする」を参照してください。
条件付きアクセス
危険なユーザーや危険なサインインなど、Microsoft Entra ID Protection のリスク検出機能が自動的に検出され、Azure AD B2C テナントに表示されます。 これらのリスク検出を使用して修復アクションを決定し、組織のポリシーを適用する条件付きアクセス ポリシーを作成できます。
Azure AD B2C は、各サインイン イベントを評価し、ユーザーにアクセス権を付与する前にすべてのポリシー要件が満たされていることを確認します。 多要素認証 (MFA) などの具体的な修復によって、危険なユーザーや危険なサインインをブロックしたりチャレンジを実行したりすることができます。 詳細については、「 Identity Protection と条件付きアクセス」を参照してください。
パスワードの複雑さ
サインアップまたはパスワードのリセット中に、ユーザーは複雑さのルールを満たすパスワードを指定する必要があります。 既定では、Azure AD B2C では強力なパスワード ポリシーが適用されます。 Azure AD B2C には、ユーザーがローカル アカウントを使用するときに使用するパスワードの複雑さの要件を指定するための構成オプションも用意されています。
詳細については、「 Azure AD B2C でパスワードの複雑さの要件を構成する」を参照してください。
パスワードの強制的なリセット
Azure AD B2C テナント管理者は、 ユーザーが自分のパスワードを 忘れた場合に、ユーザーのパスワードをリセットできます。 または、ユーザーにパスワードの定期的なリセットを強制するポリシーを設定することもできます。 詳細については、「 強制パスワード リセット フローの設定」を参照してください。
スマート アカウントロックアウト
ブルート フォース パスワード推測の試行を防ぐために、Azure AD B2C は高度な戦略を使用して、要求の IP、入力されたパスワード、およびその他のいくつかの要因に基づいてアカウントをロックします。 ロックアウトの期間は、リスクと試行回数に基づいて自動的に増加します。
パスワード保護設定の管理の詳細については、「 Azure AD B2C での資格情報攻撃の軽減」を参照してください。
リソースと顧客 ID を保護する
Azure AD B2C は、 Microsoft Azure セキュリティ センターで説明されているセキュリティ、プライバシー、およびその他のコミットメントに準拠しています。
セッションは暗号化されたデータとしてモデル化され、暗号化解除キーは Azure AD B2C セキュリティ トークン サービス (STS) にのみ認識されます。 強力な暗号化アルゴリズム AES-192 が使用されます。 すべての通信パスは、機密性と整合性のために TLS で保護されます。 セキュリティ トークン サービスは、TLS に拡張検証 (EV) 証明書を使用します。 一般に、セキュリティ トークン サービスは、信頼されていない入力をレンダリングしないことでクロスサイト スクリプティング (XSS) 攻撃を軽減します。
ユーザー データへのアクセス
Azure AD B2C テナントは、従業員やパートナーに使用されるエンタープライズ Microsoft Entra テナントと多くの特性を共有します。 共有される側面には、管理ロールの表示、ロールの割り当て、監査アクティビティのメカニズムが含まれます。
次のような Azure AD B2C で特定の管理アクションを実行できるユーザーを制御するロールを割り当てることができます。
- ユーザー フローのすべての側面を作成および管理する
- すべてのユーザー フローで使用できる属性スキーマを作成および管理する
- 直接フェデレーションで使用する ID プロバイダーを構成する
- Identity Experience Framework で信頼フレームワーク ポリシーを作成および管理する (カスタム ポリシー)
- Identity Experience Framework (カスタム ポリシー) でフェデレーションと暗号化のシークレットを管理する
Azure AD B2C 管理ロールのサポートなど、Microsoft Entra ロールの詳細については、「 Microsoft Entra ID での管理者ロールのアクセス許可」を参照してください。
監査とログ
Azure AD B2C は、そのリソース、発行されたトークン、管理者アクセスに関するアクティビティ情報を含む監査ログを作成します。 監査ログを使用して、プラットフォームのアクティビティを理解し、問題を診断できます。 監査ログ エントリは、イベントを生成したアクティビティが発生した直後に使用できます。
Azure AD B2C テナントまたは特定のユーザーが使用できる監査ログには、次のような情報があります。
- B2C リソースにアクセスするためのユーザーの承認に関するアクティビティ (たとえば、B2C ポリシーの一覧にアクセスする管理者)
- 管理者が Azure portal を使用してサインインしたときに取得されるディレクトリ属性に関連するアクティビティ
- B2C アプリケーションでの作成、読み取り、更新、および削除 (CRUD) 操作
- B2C キー コンテナーに格納されているキーに対する CRUD 操作
- B2C リソースに対する CRUD 操作 (ポリシーや ID プロバイダーなど)
- ユーザー資格情報とトークン発行の検証
監査ログの詳細については、「 Azure AD B2C 監査ログへのアクセス」を参照してください。
利用状況分析
Azure AD B2C を使用すると、ユーザーがアプリにサインアップまたはサインインするタイミング、ユーザーが配置されている場所、使用しているブラウザーとオペレーティング システムを検出できます。
Azure Application Insights を Azure AD B2C カスタム ポリシーに統合することで、ユーザーのサインアップ、サインイン、パスワードのリセット、プロファイルの編集方法に関する分析情報を得ることができます。 このような知識があれば、今後の開発サイクルに合わせてデータドリブンの意思決定を行うことができます。
詳細については、「 Application Insights を使用して Azure Active Directory B2C でユーザーの動作を追跡する」を参照してください。
利用可能なリージョンとデータの保存場所
Azure AD B2C サービスは、リージョン 別に利用可能な製品で指定されているリージョンのデータ所在地のオプションを使用して、世界中で一般提供されています。 データ所在地は、 テナントの作成時に選択した国/地域によって決まります。
Azure Active Directory B2C の Azure Active Directory B2C サービスリージョンの可用性とデータ所在地とサービス レベル アグリーメント (SLA) の詳細について説明します。
Microsoft Graph API を使用した自動化
MS graph API を使用して、Azure AD B2C ディレクトリを管理します。 Azure AD B2C ディレクトリ自体を作成することもできます。 ユーザー、ID プロバイダー、ユーザー フロー、カスタム ポリシーなどを管理できます。
Microsoft Graph で Azure AD B2C を管理する方法の詳細について説明します。
Azure AD B2C サービスの制限と制限
Azure AD B2C サービスの制限と制限の詳細を確認する
次のステップ
これで、Azure Active Directory B2C の機能と技術的な側面を詳しく見ることができるようになりました。