Von Bedeutung
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
次のベスト プラクティスと推奨事項では、Azure Active Directory (Azure AD) B2C を既存または新しいアプリケーション環境に統合する主な側面の一部について説明します。
基本要素
ベスト プラクティス | 説明 |
---|---|
緊急アクセス アカウントを作成する | この緊急アクセス アカウントは、資格情報が必要なときに唯一の管理者に到達できないなどの状況で、Azure AD B2C テナントにアクセスするのに役立ちます。 緊急アクセス アカウントを作成する方法について説明します |
ほとんどのシナリオでユーザー フローを選択する | Azure AD B2C の Identity Experience Framework は、サービスの中核となる強みです。 ポリシーは、サインアップ、サインイン、プロファイル編集などの ID エクスペリエンスを完全に記述します。 最も一般的な ID タスクを設定するために、Azure AD B2C ポータルには、ユーザー フローと呼ばれる定義済みの構成可能なポリシーが含まれています。 ユーザー フローを使用すると、わずか数回のクリックで数分で優れたユーザー エクスペリエンスを作成できます。 ユーザー フローとカスタム ポリシーを使用するタイミングについて説明します。 |
アプリの登録 | セキュリティで保護されているすべてのアプリケーション (Web、ネイティブ) と API を Azure AD B2C に登録する必要があります。 アプリに iOS と Android の Web バージョンとネイティブ バージョンの両方がある場合は、同じクライアント ID を持つ 1 つのアプリケーションとして Azure AD B2C に登録できます。 OIDC、SAML、Web、ネイティブ アプリを登録する方法について説明します。 Azure AD B2C で使用できるアプリケーションの種類の詳細について説明します。 |
月間アクティブ ユーザーの課金に移行する | Azure AD B2C は、毎月のアクティブな認証から、月間アクティブ ユーザー (MAU) の課金に移行しました。 ほとんどのお客様は、このモデルのコスト効率が高いことがわかります。 月間アクティブ ユーザーの課金について詳しくは、こちらをご覧ください。 |
セキュリティのベスト プラクティスに従う | 継続的かつ進化する脅威と攻撃があり、すべての所有リソースと同様に、Azure AD B2C デプロイは、WAF の実装に関するガイダンス (DDOS やボットなどの脅威に対する防御) や、詳細なベスト ガイダンス B2C セキュリティ アーキテクチャのその他の防御など、セキュリティに関するベスト プラクティスに従う必要があります。 |
計画と設計
アプリケーションとサービスのアーキテクチャを定義し、現在のシステムのインベントリを作成し、Azure AD B2C への移行を計画します。
ベスト プラクティス | 説明 |
---|---|
エンド ツー エンド のソリューションを設計する | Azure AD B2C 統合を計画するときに、アプリケーションのすべての依存関係を含めます。 現在環境内にある、またはソリューションに追加する必要がある可能性があるすべてのサービスと製品 (Azure Functions、顧客関係管理 (CRM) システム、Azure API Management ゲートウェイ、ストレージ サービスなど) について考えてみましょう。 すべてのサービスのセキュリティとスケーラビリティを考慮します。 |
ユーザーのエクスペリエンスを文書化する | 顧客がアプリケーションで体験できるすべてのユーザー体験について詳しく説明します。 アプリケーションの ID とプロファイルの側面を操作するときに発生する可能性があるすべての画面と分岐フローを含めます。 計画に使いやすさ、アクセシビリティ、ローカライズを含めます。 |
適切な認証プロトコルを選択する | さまざまなアプリケーション シナリオとその推奨される認証フローの詳細については、「 シナリオとサポートされている認証フロー」を参照してください。 |
概念実証 (POC) のエンド ツー エンド ユーザー エクスペリエンスをパイロットする | Microsoft のコード サンプルとコミュニティ サンプルから始めます。 |
移行計画を作成する | 事前に計画を立て、移行をよりスムーズに進めることができます。 ユーザー移行の詳細を確認します。 |
使いやすさとセキュリティ | ソリューションは、アプリケーションの使いやすさと組織の許容できるリスク レベルの間で適切なバランスを取る必要があります。 |
オンプレミスの依存関係をクラウドに移動する | 回復性の高いソリューションを確保するには、既存のアプリケーションの依存関係をクラウドに移動することを検討してください。 |
既存のアプリを b2clogin.com に移行する | login.microsoftonline.com の廃止は、2020 年 12 月 4 日にすべての Azure AD B2C テナントに対して有効になります。 詳細については、こちらを参照してください。 |
Identity Protection と条件付きアクセスを使用する | リスクの高い認証とアクセス ポリシーを大幅に制御するために、これらの機能を使用します。 Azure AD B2C Premium P2 が必要です。 詳細については、こちらを参照してください。 |
テナント サイズ | Azure AD B2C テナント サイズを考慮して計画する必要があります。 既定では、Azure AD B2C テナントは 125 万個のオブジェクト (ユーザー アカウントとアプリケーション) に対応できます。 カスタム ドメインをテナントに追加して確認することで、この制限を 525 万オブジェクトに増やすことができます。 より大きなテナント サイズが必要な場合は、 サポートにお問い合わせください。 |
実装
実装フェーズでは、次の推奨事項を検討してください。
ベスト プラクティス | 説明 |
---|---|
Visual Studio Code 用の Azure AD B2C 拡張機能を使用してカスタム ポリシーを編集する | Visual Studio Code とこのコミュニティで構築された 拡張機能を Visual Studio Code Marketplace からダウンロードします。 公式の Microsoft 製品ではありませんが、Visual Studio Code 用の Azure AD B2C 拡張機能には、カスタム ポリシーの操作を容易にするのに役立ついくつかの機能が含まれています。 |
Azure AD B2C のトラブルシューティング方法について説明します | 開発中に カスタム ポリシーのトラブルシューティングを行う 方法について説明します。 通常の認証フローの外観について説明し、異常やエラーを検出するためのツールを使用します。 たとえば、 Application Insights を使用して、ユーザー体験の出力ログを確認します。 |
実績のあるカスタム ポリシー パターンのライブラリを活用する | 強化された Azure AD B2C 顧客 ID とアクセス管理 (CIAM) ユーザー体験の サンプル を見つけます。 |
テスティング
Azure AD B2C の実装をテストして自動化します。
ベスト プラクティス | 説明 |
---|---|
グローバル トラフィックを考慮する | 異なるグローバル アドレスのトラフィック ソースを使用して、パフォーマンスとローカライズの要件をテストします。 すべての HTML、CSS、および依存関係がパフォーマンスニーズを満たしていることを確認します。 |
機能と UI のテスト | ユーザー フローをエンド ツー エンドでテストします。 Selenium、VS Web テストなどを使用して、数分ごとに合成テストを追加します。 |
ペンテスト | ソリューションを公開する前に、侵入テストの演習を実行して、サードパーティの依存関係を含むすべてのコンポーネントがセキュリティで保護されていることを確認します。 アクセス トークンを使用して API をセキュリティで保護し、アプリケーション シナリオに適した認証プロトコルを使用したことを確認します。 侵入テストと Microsoft Cloud 統合侵入テストの契約規則の詳細について説明します。 |
A/B テスト | ユーザー全体にロールアウトする前に、小数のランダムなユーザー セットで新機能をフライト化します。 Azure AD B2C で JavaScript を有効にすると、Optimizely、Clarity などの A/B テスト ツールと統合できます。 |
負荷テスト | Azure AD B2C はスケーリングできますが、アプリケーションは、すべての依存関係をスケーリングできる場合にのみスケーリングできます。 運用モードでポリシーをロード テストすることをお勧めします。これは、カスタム ポリシー ファイルの DeploymentMode 要素の<TrustFrameworkPolicy> 属性をProduction に設定します。 この設定により、テスト中のパフォーマンスが運用環境レベルのパフォーマンスと一致します。 API と CDN をロード テストします。
開発者のベスト プラクティスを通じて回復性の詳細を確認します。 |
スロットリング | 短期間に同じソースから送信される要求が多すぎる場合、Azure AD B2C はトラフィックを調整します。 ロード テスト中にいくつかのトラフィック ソースを使用し、アプリケーションで AADB2C90229 エラー コードを適切に処理します。 |
オートメーション | 継続的インテグレーションと配信 (CI/CD) パイプラインを使用して、テストとデプロイ ( Azure DevOps など) を自動化します。 |
オペレーション
Azure AD B2C 環境を管理します。
ベスト プラクティス | 説明 |
---|---|
複数の環境を作成する | 運用とデプロイのロールアウトを容易にするために、開発、テスト、運用前、運用用に個別の環境を作成します。 それぞれに Azure AD B2C テナントを作成します。 |
カスタム ポリシーにバージョン管理を使用する | Azure AD B2C カスタム ポリシーには、GitHub、Azure Repos、または別のクラウドベースのバージョン管理システムを使用することを検討してください。 |
Microsoft Graph API を使用して B2C テナントの管理を自動化する | Microsoft Graph API: Identity Experience Framework の管理 (カスタム ポリシー) キー ユーザー フロー |
Azure DevOps との統合 | CI/CD パイプラインを使用すると、異なる環境間でのコードの移動が容易になり、運用環境の準備が常に確保されます。 |
カスタム ポリシーを展開する | Azure AD B2C は、エンド ユーザーにパフォーマンスを提供するためにキャッシュに依存します。 任意の方法を使用してカスタム ポリシーをデプロイする場合、ユーザーが変更を確認するまでに最大 30 分 の遅延が予想されます。 この動作の結果として、カスタム ポリシーを展開するときに次のプラクティスを検討してください。 - 開発環境にデプロイする場合は、カスタム ポリシー ファイルの DeploymentMode 要素の<TrustFrameworkPolicy> 属性をProduction に設定します。 - アプリ内のトラフィックが少ない場合は、更新されたポリシー ファイルを運用環境にデプロイします。 - 運用環境に展開して既存のポリシー ファイルを更新する場合は、更新されたファイルを新しい名前でアップロードします。これは新しいバージョンのポリシーとして機能します。 次に、新しい名前/バージョンへのアプリ参照を更新します。 古いポリシー ファイルは、後で削除することも、ロールバックを簡単に行うことができる最新の既知の適切な構成として保持することもできます。 - バージョン管理を行わずに既存のポリシー ファイルを更新するために運用環境に展開する必要がある場合は、いくつかの簡単な規則に従って、新しいポリシーを古いポリシーと下位互換性のあるものにします。 技術プロファイル、要求、または SubJourney を変更する必要がある場合は、新しいバージョンを作成し、ポリシーを発行して、Azure AD B2C キャッシュが新しいバージョンを取得するまで 30 分待ちます。 次に、以降の更新で、新しいバージョンを使用するように変更を加え、別のポリシー更新を実行します。 さらに 30 分待ってから、必要に応じて古いバージョンの要素を削除できます。 すべてのビジネス ロジックが SubJourneys 内にあることを確認します。 - DeploymentMode を運用環境で Development に設定して、キャッシュ動作をバイパスできます。 ただし、この方法はお勧めしません。
Application Insights を使用して Azure AD B2C ログを収集すると、ID プロバイダーとの間で送受信されるすべての要求が収集されます。これはセキュリティとパフォーマンスのリスクです。 |
アプリ登録の更新プログラムをデプロイする | アプリケーションのリダイレクト URI の更新など、Azure AD B2C テナントのアプリケーション登録を変更する場合、運用環境で変更が有効になるまでに最大 2 時間 (3600 秒) の遅延が予想されます。 アプリ内のトラフィックが少ない場合は、運用環境でアプリケーションの登録を変更することをお勧めします。 |
Azure Monitor との統合 | 監査ログ イベント は 7 日間だけ保持されます。 Azure Monitor と統合 してログを長期間使用したり、サードパーティのセキュリティ情報およびイベント管理 (SIEM) ツールと統合して環境に関する分析情報を得ることができます。 |
アクティブなアラートと監視を設定する | Application Insights を使用して Azure AD B2C でユーザーの動作を追跡します。 |
サポートと状態の更新
サービスの状態を最新の状態に保ち、サポート オプションを見つけます。
ベスト プラクティス | 説明 |
---|---|
サービスの更新情報 | Azure AD B2C 製品の更新とお知らせを最新の状態に保つ。 |
Microsoft サポート | Azure AD B2C の技術的な問題に関するサポート 要求を提出します。 課金とサブスクリプション管理のサポートは無料で提供されます。 |
Azure の状態 | すべての Azure サービスの現在の正常性状態を表示します。 |