この記事のポイント
- Azure AD B2Cは、顧客向けアプリケーションに安全で使いやすい認証機能を提供するクラウドサービスです
- マルチプラットフォーム対応の認証と柔軟なカスタマイズ機能で、優れたユーザー体験を実現
- ソーシャルログインやMFAなど、多様な認証オプションで高度なセキュリティを確保
- 月間アクティブユーザー数に基づく料金体系で、初期50,000ユーザーまで無料
- eコマースやSaaSなど、様々な業界での活用事例が豊富
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
デジタルサービスの普及に伴い、顧客向けの安全で使いやすい認証システムの重要性が高まっています。Microsoft提供のAzure AD B2Cは、この課題に応える包括的なソリューションとして注目を集めています。
本記事では、Azure AD B2Cの基本概念から具体的な設定方法、実践的な活用例まで詳しく解説します。マルチプラットフォーム対応の認証機能や柔軟なカスタマイズ性など、主要な特徴を踏まえながら、導入のメリットと具体的な実装方法を紹介します。
さらに、eコマースプラットフォームやSaaSアプリケーションでの活用事例も交えながら、Azure AD B2Cを活用した効果的な顧客ID管理の方法について探っていきます。
Azure AD B2Cとは
Azure AD B2Cは、企業が顧客向けのアプリやサービスで使うクラウドベースのID管理サービス(IDaaS)です。
顧客が安全でスムーズにログインできるようにする大変便利なツールで、多様な認証オプション、カスタマイズ可能なエクスペリエンス、強固なセキュリティ、スケーラビリティ、自動化されたユーザー管理機能を備えています。
Azure AD B2Cイメージ
Azure AD B2Cの主な特徴
Azure AD B2Cの特徴は多岐にわたります。
まず、セキュリティの強化が挙げられます。多要素認証(MFA)やリスクベースの条件付きアクセスを活用することで、セキュリティレベルを向上させることができます。
次に、カスタマイズの柔軟性です。企業は自社のブランドに合わせてログインページや認証の流れを自由に設定できます。
また、ソーシャルログイン機能により、ユーザーはFacebookやGoogleアカウントを使って簡単にログインできるため、利便性が向上します。
さらに、Azure AD B2Cは大規模な運用に対応しており、数百万のユーザーを同時に管理できるため、世界中のユーザーに対してもスケールのあるサービスを提供できます。
顧客向けIDaaS(Identity as a Service)としての位置づけ
Azure AD B2Cは、顧客向けのIDaaS(Identity as a Service)として位置づけられ、企業が提供するオンラインサービスの使いやすさを向上させる役割を果たします。特に、顧客のIDやログインを効率的に管理するためのCIAM(Customer Identity and Access Management)ソリューションとして大変役に立ちます。
このプラットフォームにを使うことで、企業はたくさんの顧客を一度に管理でき、顧客それぞれに合わせたサービスを安全に提供できます。
また、GDPRやCCPAといった法律にも対応しているので、安心して使うことができます。
Microsoft Entra IDとの違い
Microsoftが提供するIDサービスにはほかに、Microsoft Entra IDがあります。ではAzure AD B2CとMicrosoft Entra IDにはどんな違いがあるのでしょうか。両者の違いは以下のとおりです。
-
対象
- Microsoft Entra ID: 主に従業員やパートナー向けのID管理サービスです。
- Azure AD B2C: 外部の顧客向けに設計されています。
-
カスタマイズ
- Azure AD B2C: ログイン画面や認証プロセスを企業のニーズに合わせて柔軟にカスタマイズ可能です。
- Microsoft Entra ID: カスタマイズの自由度はAzure AD B2Cほど高くありません。
-
ソーシャルログイン対応
- Azure AD B2C: 顧客がFacebookやGoogleアカウントを使用してログインできるようになっています。
- Microsoft Entra ID: 外部IDプロバイダーとの統合は可能ですが、限定的です。
Microsoft Entra IDについてはこちらもご覧ください。
➡️Microsoft Entra IDとは?その機能や料金体系をわかりやすく解説!
Azure AD B2Cの主要機能
ここではAzure AD B2Cが提供する多様な機能についてご紹介します。
マルチプラットフォーム対応の認証
Azure AD B2Cのマルチプラットフォーム認証は、どんなデバイスやプラットフォームからでも簡単にアクセスできるようにしてくれる機能です。
Webアプリ、モバイルアプリ、シングルページアプリ(SPA)など、いろいろな種類のアプリに対応しています。
マルチプラットフォーム認証イメージ(参考・マイクロソフト)
この機能によって、ユーザーは自分が使いたいデバイスやアプリから安全にログインでき、より快適にサービスを利用できます。
さらに、開発者にとっても、異なるデバイスやアプリで同じ認証ルールを使うことができるので、管理しやすいというメリットがあります。
カスタマイズ可能なユーザーエクスペリエンス
Azure AD B2Cの以下のようなカスタマイズ機能があるので、企業は自社のブランドイメージを保ちながら、顧客に親しみやすい画面を提供することができます。
- 企業はログイン画面や認証の流れを自社のデザインに合わせて自由に変更できます。
- HTMLやCSSを使って、ログインページ、登録フォーム、パスワードリセット画面などを細かくカスタマイズ可能です。
- 多言語に対応しており、世界中の顧客に合った言語でサービスを提供できます。
スケーラビリティと高可用性
Azure AD B2Cは、Microsoftの世界中にあるクラウドインフラを活用して、大規模なユーザーにも対応できる優れたスケーラビリティと安定性を提供しています。
そのためたとえ数百万のユーザーが利用するアプリでも、高いパフォーマンスを維持しながらスムーズに動作することができます。
また、複数の地域にあるデータセンターを利用した高い稼働率と災害復旧の対応力も確保されています。
セキュリティと脅威保護
Azure AD B2Cでは、最新のセキュリティ機能と脅威保護メカニズムが標準で提供されています。そのため以下のような高度なセキュリティ機能を実装することができます。
- 多要素認証(MFA)
- ユーザーがログインする際に、複数の認証要素を求めることで、セキュリティを強化します。
- ユーザーがログインする際に、複数の認証要素を求めることで、セキュリティを強化します。
- リスクベースの条件付きアクセス
- ユーザーのログインのリスクを評価し、リスクが高いと判断された場合には、追加の認証を要求することが可能です。
- ユーザーのログインのリスクを評価し、リスクが高いと判断された場合には、追加の認証を要求することが可能です。
- 不正アクセス防止
- 不審なアクティビティを検知し、迅速に対処するための機能が提供されます。
- 不審なアクティビティを検知し、迅速に対処するための機能が提供されます。
さらに、Microsoftの脅威インテリジェンスネットワークと連携しているので、以下のようなセキュリティオプションを設定できます。
- パスワードの複雑さポリシーの強制
- アカウントロックアウト機能
- IPアドレスによるアクセス制限
こうした機能により、企業は顧客の個人情報を保護し、セキュリティのリスクを最小限に抑えることができます。
Azure AD B2Cの認証フロー
このセクションでは、Azure AD B2Cの安全で信頼性の高い認証プロセスについてご説明します。
サポートされる認証プロトコル(OAuth 2.0、OpenID Connect、SAML)
Azure AD B2Cは、以下のようにさまざまなログイン方法をサポートしているので、開発者は自分のアプリに適した方法を選んで使うことができます。
-
OAuth 2.0:
他のサービス(API)に安全にアクセスするための仕組みで、アプリがユーザーの代わりにAPIにアクセスするためのアクセストークンを取得します。
アプリは、このトークンを使って安全にAPIから情報を取得したり、データを送信することができます。
-
OpenID Connect:
ユーザーが誰であるかを確認するための仕組みです。ユーザーがアプリを介してOAuth 2.0を使ってログインし、IDトークという特別なトークンを取得します。
このIDトークンには、ユーザーの情報(例えば名前やメールアドレス)が含まれているので、それを使ってユーザーが誰であるかを確認します。
こうしたログイン方法をサポートしているので、Azure AD B2Cはさまざまなアプリと互換性があり、既存のシステムと簡単に連携できるのです。
ユーザーフローとカスタムポリシー
Azure AD B2Cでは、ユーザーのログインや登録などの流れを以下の2つの方法で設定することができます。
-
ユーザーフロー
あらかじめ用意された設定を用いながら、一般的なログインや登録の手続きを簡単に作成できます。
【特徴】- グラフィカルユーザーインターフェース(GUI)を使って、直感的に設定できます。
- 複雑なコードを書く必要がないため、手間が少なくて済みます。
-
カスタムポリシー
もっと自由に、特別な要件に合わせてログインの流れを設定したい場合に使う方法です。
【特徴】- XMLファイルを使って、複雑な手続きや他のシステムとの連携を実現できます。
- 企業の特定のニーズに合わせて、独自のルールや条件を設定できます。
こうした方法を使うことで、企業は自分たちのニーズにぴったり合った認証プロセスを作ることができます。
外部IDプロバイダーとの統合
Azure AD B2Cでは、次のような外部のIDプロバイダー(IdP)と連携することで、ユーザーに多様なログイン方法を提供しています。
- ソーシャルIDプロバイダー
Facebook、Google、Twitter、LinkedInなどの人気ソーシャルメディアと連携できます。
- エンタープライズIDプロバイダー
SAMLやWS-Federationといったプロトコルを使って、企業の既存のID管理システムと統合できます。
- カスタムIDプロバイダー
RESTful APIを利用して、自社のIDプロバイダーを作成し、Azure AD B2Cと連携することが可能です。
外部IDプロバイダー統合イメージ(参考:マイクロソフト)
ユーザーにとっては既存のアカウントを使用できるので登録の手間が減り、企業にとっては顧客のIDを一元管理しながら多様な認証オプションを提供することができるという双方にとってのメリットがあります。
Azure AD B2Cの設定と管理
Azure AD B2Cの設定と管理は、初期のセットアップから日々の運用まで、様々な側面があります。ここでは、主要な設定と管理タスクについて詳しく説明します。
テナントの作成とセットアップ
以下の手順でテナントの作成とセットアップを行います。
-
Azureポータルにアクセスし、Azureアカウントでサインインします。
AzureポータルB2C画面
-
Azureポータル画面の「リソースの作成」で「azure ad b2c」で検索し、「Azure Active Directory B2C」をクリックします。
AzureActiveDirectoryB2C選択画面
-
「新しいB2Cテナントの作成または既存のテナントへのリンク」画面で「新しいAzure AD B2C テナントを作成する」をクリックします。
新しいB2Cテナントの作成または既存のテナントへのリンク画面
-
「テナントの作成」画面、「構成」タブで適切な設定をします。
「次: 確認および作成 >」をクリックします。
構成タブ画面
-
「確認および作成」タブで適切な設定がされていることを確認します。
「作成」をクリックします。
確認および作成タブ画面
アプリケーション登録プロセス
以下の手順でアプリケーションを登録します。今回は例としてWebアプリケーションの登録を紹介します。
- Azure portal で、 "Azure AD B2C" を検索して選択します。
- 「アプリの登録」 を選択し、 「新規登録」 を選択します。
- アプリケーションの名前に任意の名前を入力します。
- 「サポートされているアカウントの種類」で、「Accounts in any identity provider or organizational directory (for authenticating users with user flows)」((ユーザー フローを使用してユーザーを認証するための) 任意の ID プロバイダーまたは組織のディレクトリのアカウント) を選択します。
- 「リダイレクト URI」で、「Web」 を選択し、URL テキスト ボックスに「https://jwt.ms」と入力します。
- 「アクセス許可」で、「openid と offline_access アクセス許可に対して管理者の同意を付与します」 チェック ボックスをオンにします。
- 「登録」を選択します。
ポリシー設定とユーザーフローの構成
ここからはポリシー設定とユーザーフローの作成をします。
ポリシー設定
-
署名・暗号化キー設定
- Azureポータルで「ポリシーキー」から「追加」を選択します。
- 署名キー:名前に
TokenSigningKeyContainer
、キータイプRSA
、キー使用法署名
で作成します。 - 暗号化キー:名前に
TokenEncryptionKeyContainer
、キータイプRSA
、キー使用法暗号化
で作成します。
-
アプリケーション登録
- IdentityExperienceFrameworkとProxyIdentityExperienceFrameworkの2つのアプリを登録します。
- それぞれ「新規登録」し、リダイレクトURIやアクセス許可を設定します。
-
カスタムポリシーセットアップ
- GitHubから
active-directory-b2c-custom-policy-starterpack
をダウンロードします。 - XMLファイル内の
yourtenant
部分をテナント名に置き換え、アプリケーションIDを追加します。
- GitHubから
-
ポリシーファイルのアップロード
- 「Identity Experience Framework」から次の順にアップロードします。
TrustFrameworkBase.xml
TrustFrameworkLocalization.xml
TrustFrameworkExtensions.xml
SignUpOrSignin.xml
など。
- 「Identity Experience Framework」から次の順にアップロードします。
ユーザーフロー作成
- 「ポリシー」で、「ユーザー フロー」を選択し、「新しいユーザー フロー」を選択します。
- 「ユーザー フローを作成する」ページで、「サインアップとサインイン」 ユーザー フローを選択します。
- 「バージョンの選択」 で 「Recommended」推奨を選択して、「作成」を選択します。 (ユーザー フローのバージョンに関する詳細情報)。
- ユーザー フローの 「名前」 を入力します。
- 「ID プロバイダー」 の 「電子メールのサインアップ」 を選択します。
- 「ユーザー属性とトークン要求」 で、サインアップ中にユーザーから収集して送信する要求と属性を選択します。
たとえば、「Show more」(さらに表示) を選択し、「国/リージョン」、「表示名」 、「郵便番号」の属性と要求を選択します。
OK」を選択します。
- 「作成」を選択して、ユーザー フローを追加します。 B2C_1_ というプレフィックスが自動的に名前に追加されます。
Azure AD B2Cの統合とカスタマイズ
このセクションでは、Azure AD B2Cの柔軟な統合の仕組みやカスタマイズに焦点を当ててご説明します。
Webアプリケーションとモバイルアプリへの統合
Azure AD B2Cは、さまざまなアプリケーションと簡単に統合でき、安全な認証環境を提供します。以下、主なアプリケーションタイプごとの統合を紹介します。
-
Webアプリケーション
- 対応フレームワーク: ASP.NET Core、Node.js、Java、Pythonなどの主要なフレームワークをサポートしています。
- 認証プロトコル: OpenID ConnectやOAuth 2.0を使用して、認証を実装します。
- ライブラリの利用: MicrosoftのMSAL(Microsoft Authentication Library)を使用することで、認証コードの管理が簡素化されます。
-
シングルページアプリケーション(SPA)
- 対応フレームワーク: Angular、React、Vueなど、人気のSPAフレームワークと統合可能です。
- 認証フロー: 暗黙的フローや認可コードフローWithPKCEを使用して、安全な認証を実現します。
-
モバイルアプリ
- SDKの提供: iOS、Android、Xamarin用のSDKが提供され、ネイティブアプリ向けの認証フローを簡単に実装できます。
- セキュリティ強化: ネイティブアプリにおける認証を簡素化し、安全な実装を支援します。
RESTful APIの呼び出しとカスタムロジックの追加
Azure AD B2Cは、認証プロセス中にカスタムAPIを呼び出す機能を提供し、柔軟なビジネスロジックの実装を可能にします。以下にその具体的な活用方法を紹介します。
-
カスタムAPI統合
- RESTful APIの呼び出し: ユーザーフローやカスタムポリシーの中で、RESTful APIを簡単に呼び出すことができます。
- データ交換: 外部システムとのデータ交換や検証ロジックを実装し、スムーズな連携を実現します。
-
カスタムロジックの例
- ユーザー登録時の検証: ユーザー登録時に、追加情報の検証を行うことで、データの整合性を確保します。
- 外部データベースとの同期: ユーザーデータを外部データベースと同期させることで、最新の情報を保持します。
- リスクベースの認証: ユーザーの行動やリスクに応じて、追加の認証ステップを実装し、セキュリティを強化します。
- ダイナミックなユーザープロファイルの更新: ユーザーの行動に基づいて、プロファイル情報を動的に更新することで、それぞれのユーザーに合わせた対応ができます。
ブランディングとUIのカスタマイズ
Azure AD B2Cは、以下のように、企業のブランドアイデンティティに合わせてユーザーインターフェースをカスタマイズする機能を提供します。
-
ページレイアウトのカスタマイズ
- HTMLテンプレートを使用してページ構造を変更
- CSSスタイルシートでデザインを調整
- JavaScriptで動的な要素や追加の機能を実装
-
多言語サポート
- 複数の言語をサポートするローカライズされたリソースファイルを作成
- ユーザーの言語設定に基づいて適切な言語を表示
-
ロゴと背景画像の変更
- 企業ロゴを追加
- カスタム背景画像や色を設定
Azure AD B2Cのユースケースと活用例
Azure AD B2Cは、様々な業界や用途で活用できる柔軟なIDaaS(Identity as a Service)ソリューションです。
ここでは、代表的なユースケースと具体的な活用例を紹介します。
eコマースプラットフォームでの顧客認証
eコマースでは、Azure AD B2Cを使うことで、以下のようなシステムを作ることができます。
-
シングルサインオン(SSO)
- 一度ログインすれば、すべての関連サービスにアクセスできます。
- セッション管理が適切に行われていると、ユーザーは何度もログインしなくても快適にサービスを利用することができます。
-
ソーシャルメディアアカウントとの連携
- FacebookやGoogleアカウントで簡単にログインできます。
- 新しい顧客が登録しやすくなります。
-
多要素認証(MFA)の導入
- 高額な取引のときに追加の認証を求めることができます。
- フィッシングやアカウント乗っ取りを防ぐのに役立ちます。
-
ユーザーごとの最適化
- 顧客の情報を使って、特別なおすすめやオファーを表示することができます。
- ログインしている状態に応じて、画面やコンテンツを変えることも可能です。
マルチテナントSaaSアプリケーションの認証
SaaSプロバイダーにとって、複数の顧客組織(テナント)を効率的に管理することは重要です。
Azure AD B2Cを使うと、マルチテナント環境での認証が以下のように簡単になります。
-
テナントごとの認証ポリシー
- 各顧客のセキュリティ要件に合わせて、認証のルールを設定できます。
- パスワードの強度、MFA(多要素認証)、セッションの有効期限などを個別に管理可能です。
-
ブランドのカスタマイズ
- テナントごとにログイン画面やユーザーインターフェースを変更できます。
- 顧客のブランドに合わせた一貫性のある体験を提供できます。
-
役割に基づくアクセス制御(RBAC)
- テナント内のユーザーの役割や権限を管理できます。
- 組織の構造に基づいて、適切なアクセス権を設定します。
-
フェデレーション認証
- 企業顧客の既存のIDプロバイダー(Azure ADやOktaなど)と連携します。
- シングルサインオンを実現し、ユーザー管理の負担を軽減できます。
プログレッシブプロファイリングの実装
「プログレッシブプロファイリング」は、必要な顧客情報を少しずつ集めていくという戦略です。
最初に必要最小限の情報を収集し、その後の利用状況や反応に応じて、追加の情報を段階的にリクエストしていくのでユーザーの負担を減らすことができます。
サービスの利用環境を改善しつつ、企業側も顧客に関する詳細なデータを時間をかけて取得できる利点があります
Azure AD B2Cを使うと、このアプローチを実現することができます。
-
段階的な情報収集
- 初回登録時には必要な最小限の情報(メールアドレスや名前)だけを求めます。
- サービス利用が進むにつれて、住所や興味関心などの追加情報を収集します。
-
ユーザーフローのカスタマイズ
- 特定のアクションや特典にアクセスする際に、必要な追加情報の入力を求めるフローを設計します。
- ユーザーの行動に応じて、最適なタイミングで情報収集を行います。
-
インセンティブの提供
- プロファイルが充実するごとに、特別オファーやポイントを付与します。
- ゲームの要素を取り入れ、ユーザーの参加を促進します。
-
動的なUI調整
- 収集した情報に基づいて、ユーザーインターフェースやコンテンツを自動で調整します。
- 各ユーザーの特定のニーズや好みに基づいて個別にカスタマイズされたサービスや情報を提供し、顧客の満足度を高めます。
Azure AD B2Cの料金体系
さて、ここではAzure AD B2Cの料金体系についてご説明します。
月間アクティブユーザー(MAU)ベースの課金モデル
Azure AD B2Cの料金は、月間アクティブユーザー(MAU)に基づいて決まるため、コストを抑えつつ予算の予測がしやすくなります。
ここで月間アクティブユーザー (MAU) とは、特定の月にサービスを利用したりアクセスしたりするユーザーの数を指します。
たとえば、「ある月に100人のユーザーがアプリを利用」した場合、その月のMAUは100になります。
無料枠と段階的な料金構造
最初の50,000 MAUまで無料です。使用した分だけの支払いで、非アクティブなユーザーに対する課金はありません。
【基本料金】
以下の二つのプランがあります。
-
Premium P1
すべての基本機能に加え、条件付きアクセスやID保護機能があります。
-
Premium P2
Premium P1の機能に加え、より高度なIDガバナンスと保護機能があります。
料金プラン
プラン | 最初の 50,000 MAU | 50,000 MAU を超えた分 (MAU) |
---|---|---|
Premium P1 | ¥0 | ¥0.470617/月間アクティブユーザー |
Premium P2 | ¥0 | ¥2.353082/月間アクティブユーザー |
【追加料金】
以下のサービスを使用した場合、追加料金がかかります。
- SMS/電話ベースの多要素認証: ¥4.345/試行
- Go-Local データ所在地: 月間アクティブユーザーあたり¥2.897の追加料金
※料金は変更される可能性があるため、最新の情報は公式ページで最新情報を確認してください。
まとめ
本記事では、Azure AD B2Cの概要から具体的な活用方法、そして料金体系まで幅広く解説してきました。
Azure AD B2C(Business to Consumer)は、企業が顧客向けに提供するアプリケーションやサービスのための強力なIDaaS(Identity as a Service)ソリューションです。顧客向けID管理の課題に対する包括的なソリューションとして高い柔軟性とセキュリティを提供しているため、eコマースやSaaSなど様々な業界で活用できます。
ぜひAzure AD B2Cを活用して、顧客ID管理を革新し安全で使いやすい認証を導入してみてください。
本記事が皆様のお役に立てたら幸いです。