Azure Active Directory B2C のデプロイ計画
Azure Active Directory B2C (Azure AD B2C) は、インフラストラクチャとの統合を容易にする ID およびアクセス管理ソリューションです。 以下のガイダンスを使って、Azure AD B2C のデプロイ全体の要件とコンプライアンスを理解してください。
Azure AD B2C のデプロイを計画する
必要条件
- システムをオフにする主な理由を評価します
- 「Azure Active Directory B2C とは」をご覧ください
- 新しいアプリケーションの場合は、顧客 ID アクセス管理 (CIAM) システムの設計を計画します
- 「計画と設計」をご覧ください
- 顧客の場所を特定し、対応するデータセンターにテナントを作成します
- アプリケーションの種類とサポートされているテクノロジを確認します。
- Microsoft Authentication Library (MSAL) の概要
- Azure でオープンソース言語、フレームワーク、データベース、ツールを使って開発します。
- バックエンド サービスには、クライアント資格情報フローを使います
- ID プロバイダー (IdP) から移行するには:
- シームレスな移行
- [https://resources.azure.com](
user-migration
) に移動します
- プロトコルを選びます
- Kerberos、Microsoft Windows NT LAN Manager (NTLM)、Web Services Federation (WS-Fed) を使う場合は、ビデオ「Azure AD B2C へのアプリケーションと ID の移行」をご覧ください
移行した後は、アプリケーションで Open Authorization (OAuth) 2.0 や OpenID Connect (OIDC) などの最新の ID プロトコルをサポートできます。
利害関係者
テクノロジ プロジェクトの成功は、期待、成果、責任の管理に依存します。
- アプリケーション アーキテクト、テクニカル プログラム マネージャー、所有者を明らかにします
- Microsoft アカウントまたはエンジニアリング チームとやり取りするための配布リスト (DL) を作成します
- 質問をし、回答を得て、通知を受け取ります
- サポートしてくれる組織外のパートナーまたはリソースを明らかにします
詳細情報: 適切な関係者を含める
通信
保留中および現在の変更についてユーザーと定期的に話し合い、事前に伝えます。 エクスペリエンスがどのように、いつ変わるかを通知し、サポートの連絡先を提供します。
タイムライン
実現可能な期待を抱き、重要なマイルストーンを満たすためのコンティンジェンシー計画を立てられるようにしす。
- パイロットの期日
- 開始日
- 配布に影響を与える日付
- 依存関係
Azure AD B2C のデプロイを実装する
- アプリケーションとユーザー ID をデプロイする - クライアント アプリケーションをデプロイし、ユーザー ID を移行します
- クライアント アプリケーションのオンボードと成果物 - クライアント アプリケーションをオンボードして、ソリューションをテストします
- セキュリティ - ID ソリューションのセキュリティを強化します
- コンプライアンス - 規制要件に対応します
- ユーザー エクスペリエンス - 使いやすいサービスにします
認証と認可をデプロイする
- Azure AD B2C と対話する前に、アプリケーションを管理しているテナントに登録します
- 認可の場合は、Identity Experience Framework (IEF) サンプル ユーザー体験を使います
- クラウドネイティブ環境にはポリシー ベースの制御を使います
- Open Policy Agent (OPA) について詳しくは、
openpolicyagent.org
を参照してください
- Open Policy Agent (OPA) について詳しくは、
詳しくは、Microsoft Identity PDF の「Azure AD B2C に関する専門知識の獲得」 (開発者向けコース) を参照してください。
ペルソナ、アクセス許可、委任、呼び出しのチェックリスト
- アプリケーションにアクセスするペルソナを特定します
- 既存および将来の、システムのアクセス許可とエンタイトルメントの管理方法を定義します
- アクセス許可ストアがあること、およびディレクトリに追加するアクセス許可があるかどうかを確認します
- 委任された管理の管理方法を定義します
- 例: 顧客の顧客管理など
- アプリケーションが API Manager (APIM) を呼び出すことを確認します
- アプリケーションがトークンを発行される前に、IdP から呼び出すことが必要な場合があります
アプリケーションとユーザー ID をデプロイする
Azure AD B2C プロジェクトは、1 つ以上のクライアント アプリケーションから始まります。
- Azure Active Directory B2C の新しいアプリの登録エクスペリエンス
- 実装については、「Azure Active Directory B2C のサンプル コード」をご覧ください
- カスタム ユーザー フローに基づいてユーザー体験を設定します
アプリケーションのデプロイのチェックリスト
- CIAM のデプロイに含まれるアプリケーション
- 使用中のアプリケーション
- 例: Web アプリケーション、API、シングルページ Web アプリ (SPA)、ネイティブ モバイル アプリケーション
- 使用中の認証:
- 例: Security Assertion Markup Language (SAML) または OIDC とフェデレーションされたフォーム
- OIDC の場合は、応答の種類 (コードまたは id_token) を確認します
- フロントエンドとバックエンドのアプリケーションがホストされている場所 (オンプレミス、クラウド、ハイブリッド クラウド) を確認します
- 使われているプラットフォームまたは言語を確認します。
- たとえば、ASP.NET、Java、Node.js
- 「クイックスタート: Azure Active Directory B2C を使用した ASP.NET アプリケーションのサインインの設定」をご覧ください
- ユーザー属性が格納されている場所を確認します
- 例: ライトウェイト ディレクトリ アクセス プロトコル (LDAP)、データベース
ユーザー ID のデプロイのチェックリスト
- アプリケーションにアクセスするユーザーの数を確認します
- 必要な IdP の種類を決定します。
- 例: Facebook、ローカル アカウント、Active Directory フェデレーション サービス (AD FS)
- 「Active Directory フェデレーション サービス (AD FS)」をご覧ください
- アプリケーション、Azure AD B2C、IdP (該当する場合) で必要なクレーム スキーマの概要を確認します
- 「ClaimsSchema」をご覧ください
- サインインとサインアップの間に収集する情報を決定します
クライアント アプリケーションのオンボードと成果物
アプリケーションのオンボードに関しては、次のチェックリストを使います
領域 | 説明 |
---|---|
アプリケーション ターゲット ユーザー グループ | エンド カスタマー、ビジネス顧客、またはデジタル サービスの中から選びます。 従業員のサインインが必要かどうかを決定します。 |
アプリケーションのビジネス価値 | ビジネスのニーズまたは目標を理解して、最適な Azure AD B2C ソリューションおよび他のクライアント アプリケーションとの統合を決定します。 |
ID グループ | IoT デバイスのサインイン アカウントとサービス アカウントに関する企業-消費者間 (B2C)、企業間 (B2B) 企業-従業員間 (B2E)、企業-マシン間 (B2M) などの要件で、ID をグループにクラスター化します。 |
ID プロバイダー (IdP) | 「ID プロバイダーの選択」をご覧ください。 たとえば、顧客間 (C2C) モバイル アプリでは、簡単なサインイン プロセスを使います。 デジタル サービスでの B2C には、コンプライアンス要件があります。 メール サインインを検討します。 |
規制上の制約 | リモート プロファイルまたはプライバシー ポリシーが必要かどうかを判断します。 |
サインインとサインアップのフロー | メールの検証またはサインアップの間のメールの検証を確認します。 チェックアウト プロセスについては、「動作のしくみ: Microsoft Entra 多要素認証」をご覧ください。 Microsoft Graph API を使用した Azure AD B2C ユーザーの移行に関するビデオをご覧ください。 |
アプリケーションと認証プロトコル | Web アプリケーション、シングルページ アプリケーション (SPA)、ネイティブなどのクライアント アプリケーションを実装します。 クライアント アプリケーションと Azure AD B2C 用の認証プロトコル: OAuth、OIDC、SAML。 ビデオ「Microsoft Entra ID を使用した Web API の保護」を参照してください。 |
ユーザー移行 | Azure AD B2C にユーザーを移行するかどうかを確認します: Just-In-Time (JIT) 移行および一括インポートとエクスポート。 ビデオ「Azure AD B2C のユーザー移行戦略」をご覧ください。 |
配布に関しては、次のチェックリストを使います。
領域 | 説明 |
---|---|
プロトコル情報 | 両方のバリエーションのベース パス、ポリシー、メタデータ URL を収集します。 サンプル サインイン、クライアント アプリケーション ID、シークレット、リダイレクトなどの属性を指定します。 |
アプリケーション サンプル | 「Azure Active Directory B2C のサンプル コード」をご覧ください。 |
侵入テスト | 運用チームに侵入テストについて通知してから、OAuth の実装を含むユーザー フローをテストします。 「侵入テスト」と「エンゲージメントの侵入テスト ルール」をご覧ください。 |
単体テスト | 単体テストとトークンの生成。 「Microsoft ID プラットフォームと OAuth 2.0 リソース所有者のパスワード資格情報」をご覧ください。 Azure AD B2C トークンの制限に達した場合は、「Azure Active Directory B2C: ファイル サポート要求」をご覧ください。 トークンを再利用して、インフラストラクチャに関する調査を減らします。 Azure Active Directory B2C でリソース所有者パスワード資格情報フローを設定します。 ROPC フローを使用してアプリ内のユーザーを認証しないでください。 |
ロード テスト | Azure AD B2C サービスの制限と制約について確認します。 1 か月あたりの予想される認証とユーザー サインインの数を計算します。 高負荷トラフィックの期間とビジネス上の理由 (休日、移行、イベント) を評価します。 サインアップ、トラフィック、地理的分散の予想されるピーク率を決定します (1 秒あたりなど)。 |
セキュリティ
アプリケーションのセキュリティを強化するには、次のチェックリストを使います。
- 多要素認証などの認証方法:
- 高価値のトランザクションや他のリスク イベントをトリガーするユーザーには、多要素認証をお勧めします。 たとえば、銀行、財務、チェックアウトのプロセスなどです。
- 「Microsoft Entra ID で使用できる認証方法と検証方法」を参照してください。
- ボット対策メカニズムの使用を確認します
- 不正なアカウントの作成またはサインインの試みのリスクを評価します
- サインインまたはサインアップの一部としての必要な条件付きセキュリティ体制を確認します
Microsoft Entra ID 保護と条件付きアクセスを使うと、次のことができます。
- 最新のセキュリティ境界は組織のネットワークの外にまで広がるようになっています。 境界には、ユーザーとデバイスの ID が含まれます。
- 「条件付きアクセスとは」を参照してください。
- Microsoft Entra ID 保護を使用して Azure AD B2C のセキュリティを強化する
- 「Azure AD B2C における ID 保護と条件付きアクセス」をご覧ください
コンプライアンス
規制要件に準拠し、バックエンド システムのセキュリティを強化するには、仮想ネットワーク (VNet)、IP 制限、Web Application Firewall などを使用できます。 次の要件を考慮します。
- 規制のコンプライアンス要件
- 例: Payment Card Industry Data Security Standard (PCI DSS)
- PCI Security Standards Council について詳しくは、pcisecuritystandards.org をご覧ください
- 別のデータベース ストアへのデータ ストレージ
- この情報をディレクトリに書き込むことができないかどうかを判断します
ユーザー側の表示と操作
ユーザー エクスペリエンスの要件を定義するには、次のチェックリストを使います。
- CIAM 機能を拡張してシームレスなエンド ユーザー エクスペリエンスを構築するための統合を特定します
- スクリーンショットとユーザー ストーリーを使ってアプリケーションのエンド ユーザー エクスペリエンスを示します
- たとえば、サインイン、サインアップ、サインアップとサインイン (SUSI)、プロファイルの編集、パスワードのリセットのスクリーンショット
- CIAM ソリューションでクエリ文字列パラメータを使って渡されるヒントを探します
- ユーザー エクスペリエンスを大幅にカスタマイズする場合は、フロントエンド開発者の使用を検討します
- Azure AD B2C では、HTML と CSS をカスタマイズできます
- 「JavaScript の使用に関するガイドライン」をご覧ください
- iframe のサポートを使って埋め込みエクスペリエンスを実装します。
- 「埋め込みのサインアップまたはサインイン エクスペリエンス」をご覧ください
- シングルページ アプリケーションの場合は、
<iframe>
要素に読み込まれる 2 つ目のサインイン HTML ページを使います
監視、監査、ログ
監視、監査、ログに関しては、次のチェックリストを使います。
- 監視
- 監査とログ記録
リソース
- Microsoft Graph アプリケーションを登録する
- Microsoft Graph を使用して Azure AD B2C を管理する
- Azure Pipelines を使用してカスタム ポリシーをデプロイする
- Azure PowerShell を使用して Azure AD B2C のカスタム ポリシーを管理する