次の方法で共有


Azure AD B2C を使用した外部プロセスとの回復性のあるインターフェイス

この記事では、アプリケーションの API エラーに対する回復性を高めるために、RESTful API を計画および実装する方法に関するガイダンスを示します。

正しい API 配置を確認する

Identity Experience Framework (IEF) ポリシーを使用し、RESTful API 技術プロファイルを使用して外部システムを呼び出します。 IEF ランタイム環境は外部システムを制御しません。これは潜在的な障害点となります。

API を使用して外部システムを管理する

インターフェイスを呼び出して特定のデータにアクセスするときに、そのデータが認証の決定要因となっていることを確認します。 その情報がアプリケーションの機能にとって不可欠であるかどうかを評価します。 たとえば、e コマースや、管理などの二次的な機能などです。 認証にその情報が必要ない場合は、呼び出しをアプリケーション ロジックに移動することを検討します。

認証用のデータが比較的静的で小さく、外部化すべきでない場合は、ディレクトリに配置します。

可能であれば、事前認証されたパスから API 呼び出しを削除します。 できない場合は、API のサービス拒否 (DoS) 攻撃と分散サービス拒否 (DDoS) 攻撃に対する保護を有効にします。 攻撃者はサインイン ページを読み込み、API に大量の DoS 攻撃を実行してアプリケーションを無効にしようとする可能性があります。 たとえば、サインインとサインアップのフローで HIP チャレンジ (CAPTCHA) を使用します。

ID プロバイダーとのフェデレーション後、サインアップ中、またはユーザーの作成前に、サインアップ ユーザー フローの API コネクタを使用して Web API と統合します。 ユーザー フローはテストされるため、ユーザー フロー レベルの機能、パフォーマンス、またはスケールのテストを実行する必要はありません。 アプリケーションの機能、パフォーマンス、スケールをテストします。

Azure AD B2C RESTful API 技術プロファイルでは、キャッシュ動作は提供されません。 代わりに、RESTful API プロファイルは、ポリシーに組み込まれている再試行ロジックとタイムアウトを実装します。

データを書き込む必要がある API の場合は、タスクを使用してこれらのアクションをバックグラウンド ワーカーに実行させます。 Azure キューなどのサービスを使用します。 この方法により、API から効率的に返され、ポリシー実行のパフォーマンスが向上します。

API エラー

API は Azure AD B2C システムの外部にあるため、技術プロファイルでエラー処理を有効にします。 ユーザーに通知され、アプリケーションが障害に適切に対処できることを確認します。

API エラーの処理

API はさまざまな理由で失敗するため、アプリケーションの回復性を高めてください。 API が要求の処理を完了できない場合は、HTTP 4XX エラー メッセージを返します。 Azure AD B2C ポリシーでは、API が利用できない状況に対処し、場合によってはエクスペリエンスを低下させるようにしてください。

一時的なエラーをスムーズに処理します。 RESTful API プロファイルを使用して、さまざまなサーキット ブレーカーのエラー メッセージを構成します。

継続的インテグレーションと継続的デリバリー (CICD) を監視して使用します。 技術プロファイル エンジンで使用されるパスワードや証明書などの API アクセス資格情報をローテーションします。

API 管理のベスト プラクティス

REST API をデプロイし、RESTful 技術プロファイルを構成するときは、次のベスト プラクティスに従って一般的なエラーを回避してください。

API Management

API Management (APIM) は、API の公開、管理、分析を行います。 APIM は、バックエンド サービスとマイクロサービスに安全にアクセスするための認証を処理します。 API ゲートウェイを使用して、API のデプロイ、キャッシュ、負荷分散をスケールアウトします。

API ごとに何度も呼び出すのではなく、適切なトークンを取得して、Azure APIM API をセキュアにすることをお勧めします。

次のステップ