Grit のアプリ プロキシを使用して、ヘッダーベースの認証を使用するアプリケーションを Azure Active Directory B2C に移行する

このサンプル チュートリアルでは、Grit のアプリ プロキシを使用して、ヘッダーベースの認証を使用するレガシ アプリケーションを Azure Active Directory B2C (Azure AD B2C) に移行する方法について説明します。

Grit のアプリ プロキシを使用する利点を次に示します。

  • アプリケーションのコードを変更せずに、簡単にデプロイできるため、ROI が高速化される

  • ユーザーは多要素認証、生体認証、パスワードレスなどの最新の認証エクスペリエンスを使用でき、セキュリティが強化される。

  • レガシ認証ソリューションのライセンス コストを大幅に削減できる

前提条件

作業を開始するには、以下が必要です。

  • Grit のアプリ プロキシのライセンス。 ライセンスについて詳しくは、Grit のサポート担当者にお問い合わせください。 このチュートリアルでは、ライセンスは必要ありません。

  • Azure サブスクリプション。 所有していない場合は、無料アカウントを入手してください。

  • お使いの Azure サブスクリプションにリンクされている Azure AD B2C テナント

シナリオの説明

Grit 統合には、次のコンポーネントが含まれています。

  • Azure AD B2C: ユーザーの資格情報を検証する承認サーバー - 認証されたユーザーは、Azure AD B2C ディレクトリに保存されているローカル アカウントを使用してオンプレミス アプリケーションにアクセスします。

  • Grit アプリ プロキシ: HTTP ヘッダーを介してアプリケーションに ID を渡すサービス。

  • Web アプリケーション: ユーザーがアクセスを要求するレガシ アプリケーション。

次のアーキテクチャの図に、この実装を示します。

実装のアーキテクチャ図を示すスクリーンショット。

  1. ユーザーは、オンプレミス アプリケーションへのアクセスを要求します。

  2. Grit アプリ プロキシが Azure Web Application Firewall (WAF) を介して要求を受信し、それをアプリケーションに送信します。

  3. Grit アプリ プロキシがユーザー認証の状態を確認します。 セッション トークンがないか、または無効なトークンの場合、ユーザーは認証のために Azure AD B2C に移動します。

  4. Azure AD B2C が、Azure AD B2C テナントでの Grit アプリ プロキシの登録時に指定されたエンドポイントにユーザー要求を送信します。

  5. Grit アプリ プロキシがアクセス ポリシーを評価し、アプリケーションに転送される HTTP ヘッダー内の属性値を計算します。 Grit アプリ プロキシがヘッダー値を設定し、要求をアプリケーションに送信します。

  6. ユーザーが認証され、アプリケーションへのアクセスが許可/拒否されます。

Grit アプリ プロキシを使用してオンボードする

オンボードについて詳しくは、Grit のサポート担当者にお問い合わせください。

Azure AD B2C で Grit のアプリ プロキシ ソリューションを構成する

このチュートリアルでは、Grit にバックエンド アプリケーションと Azure AD B2C ポリシーが既に用意されています。 このチュートリアルでは、バックエンド アプリケーションにアクセスするするためにプロキシを構成する方法について説明します。

UX を使用して、セキュリティのためにバックエンド アプリケーションの各ページを構成できます。 各ページで必要な認証の種類と、必要なヘッダー値を構成できます。

グループ メンバーシップまたはその他の条件に基づいて、特定ページへのユーザーのアクセス許可を拒否する必要がある場合、これはユーザーの認証過程で処理されます。

  1. https://proxyeditor.z13.web.core.windows.net/ に移動します。

  2. ドロップダウンが表示されたら、ドロップダウンを選択し、[Create New](新規作成) を選択します。

  3. 文字と数字のみを含むページの名前を入力します。

  4. [B2C Policy](B2C ポリシー) ボックスに「B2C_1A_SIGNUP_SIGNIN」と入力します。

  5. [HTTP method](HTTP メソッド) で [GET] を選択します。

  6. [endpoint](エンドポイント) フィールドに「https://anj-grit-legacy-backend.azurewebsites.net/Home/Page」と入力します。これは、レガシ アプリケーションのエンドポイントになります。

    Note

    このデモは一般公開されており、入力する値はパブリックに表示されます。 このデモで、セキュア アプリケーションは構成しないでください。

    プロキシの構成 UI を示すスクリーンショット。

  7. [ADD HEADER](ヘッダーの追加) を選択します。

  8. [destination header](宛先ヘッダー) フィールドに「x-iss」と入力して、アプリケーションに送信する必要がある有効な HTTP ヘッダーを構成します。

  9. [Value](値) フィールドに、「given_name」(B2C ポリシーの要求の名前) と入力します。 要求の値はヘッダーに渡されます。

  10. ソースとして [Token](トークン) を選択します。

  11. [SAVE SETTINGS](設定の保存) を選択します。

  12. ポップアップでリンクを選択します。 これによりサインイン ページに移動します。 サインアップ リンクを選択し、必要な情報を入力します。 サインアップ プロセスが完了すると、レガシ アプリケーションにリダイレクトされます。 アプリケーションで、サインアップ時に [Given name](名前を指定) フィールドに指定した名前が表示されます。

フローをテストする

  1. オンプレミスアプリケーションの URL に移動します。

  2. Grit アプリ プロキシによって、ユーザー フローで構成したページにリダイレクトされます。 一覧から IdP を選択します。

  3. プロンプトで資格情報を入力します。 必要に応じて、Microsoft Entra 多要素認証トークンを含めます。

  4. Azure AD B2C にリダイレクトされ、それによってアプリケーションの要求が Grit アプリ プロキシのリダイレクト URI に転送されます。

  5. Grit のアプリ プロキシによって、ポリシーが評価され、ヘッダーが計算され、上流のアプリケーションにユーザーが送信されます。

  6. 要求されたアプリケーションが表示されます。

その他のリソース