チュートリアル: セキュリティ保護されたハイブリッド アクセスを提供するために、Azure Active Directory B2C と Datawiza を構成する

このチュートリアルでは、Azure Active Directory B2C (Azure AD B2C) と Datawiza アクセス プロキシ (DAP) を統合する方法について説明します。これにより、シングル サインオン (SSO) と詳細なアクセス制御が可能になり、Azure AD B2C がオンプレミスのレガシ アプリケーションを保護するのに役立ちます。 このソリューションにより、企業はアプリケーションを書き直すことなく、レガシから Azure AD B2C に移行できます。

前提条件

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

  • Microsoft Entra サブスクリプション
  • お使いの Azure サブスクリプションにリンクされている Azure AD B2C テナント
  • Docker は、アプリケーションを開発、出荷、実行するためのオープン プラットフォームで、DAB を実行するために必要です
    • アプリケーションは、仮想マシンやベアメタルなどのプラットフォームで実行できます
  • レガシ ID システムから Azure AD B2C に移行するオンプレミスのアプリケーション
    • このチュートリアルでは、DAB はアプリケーションと同じサーバーにデプロイされます
    • アプリケーションは localhost: 3001 で実行され、DAP で localhost: 9772 を介してアプリケーションへのトラフィックがプロキシされます
    • アプリケーション トラフィックは最初に DAB に到達し、次にアプリケーションにプロキシされます

シナリオの説明

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

  • Azure AD B2C: ユーザー資格情報を検証する承認サーバー
    • 認証済みユーザーは、Azure AD B2C ディレクトリに格納されているローカル アカウントを使用して、オンプレミスのアプリケーションにアクセスします
  • Datawiza アクセス プロキシ (DAP): HTTP ヘッダーを介してアプリケーションに ID を渡すサービス
  • Datawiza Cloud Management Console (DCMC): DAB の管理コンソール。 DCMC UI と RESTful API は、DAB 構成とアクセス制御ポリシーの管理に役立ちます

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

ハイブリッド アプリケーションへのセキュリティ保護されたアクセスのための Azure AD B2C と Datawiza の統合のアーキテクチャの図。

  1. ユーザーは、オンプレミス アプリケーションへのアクセスを要求します。 DAB で、アプリケーションへの要求がプロキシされます。
  2. DAP で、ユーザーの認証状態が確認されます。 セッション トークンがないか、または無効なトークンの場合、ユーザーは認証のために Azure AD B2C に移動します。
  3. Azure AD B2C によって、Azure AD B2C テナントでの DAP の登録時に指定されたエンドポイントにユーザー要求が送信されます。
  4. DAP によって、アクセス ポリシーが評価され、アプリケーションに転送される HTTP ヘッダー内の属性値が計算されます。 DAP によって、ID プロバイダー (IdP) が呼び出され、ヘッダー値を設定するための情報が取得される場合があります。 DAP によって、ヘッダー値が設定され、要求がアプリケーションに送信されます。
  5. ユーザーがアプリケーションへのアクセスを含めて認証されます。

Datawiza を使用してオンボードする

従来のオンプレミスのアプリを Azure AD B2C と統合するには、Datawiza にお問い合わせください。

Azure AD B2C テナントを構成する

docs.datawiza.com にアクセスします。

  1. Azure AD B2C テナントで Web アプリケーションを登録し、サインアップとサインインのユーザー フローを構成する方法について確認します。 詳細については、Azure AD B2C に関するページを参照してください。

  2. Azure portal でユーザー フローを構成します。

Note

DCMC で DAB を設定するときに、テナント名、ユーザー フロー名、クライアント ID、クライアント シークレットが必要です。

DCMC でアプリケーションを作成する

  1. DCMC で、アプリケーションを作成し、このアプリケーションの PROVISIONING_KEYPROVISIONING_SECRET のキー ペアを生成します。 「Datawiza Cloud Management Console」を参照してください。

  2. Azure AD B2C を使用して IdP を構成します。 「パート I: Azure AD B2C 構成」を参照してください。

    IdP 構成値のスクリーンショット。

ヘッダーベースのアプリケーションで DAB を実行する

Docker または Kubernetes を使用して DAP を実行できます。 ユーザーがサンプル ヘッダーベースのアプリケーションを作成するには、Docker イメージを使用します。

詳細情報: DAP と SSO の統合を構成するには、「アプリで Datawiza アクセス プロキシをデプロイする」を参照してください

サンプル Docker イメージ docker-compose.yml file が提供されています。 コンテナー レジストリにサインインして、DAP イメージとヘッダーベースのアプリケーションをダウンロードします。

  1. アプリで Datawiza アクセス プロキシをデプロイします

    version: '3'
    
    services:
    datawiza-access-broker:
    image: registry.gitlab.com/datawiza/access-broker
    container_name: datawiza-access-broker
    restart: always
    ports:
      - "9772:9772"
    environment:
      PROVISIONING_KEY: #############################
      PROVISIONING_SECRET: #############################
    
    header-based-app:
    image: registry.gitlab.com/datawiza/header-based-app
    container_name: ab-demo-header-app
    restart: always
    environment:
      CONNECTOR: B2C
    ports:
      - "3001:3001"
    
  2. ヘッダーベースのアプリケーションで Azure AD B2C を使用して SSO が有効にされています。

  3. ブラウザーを開いて、「http://localhost:9772/」と入力します。

  4. Azure AD B2C サインイン ページが表示されます。

ヘッダーベースのアプリケーションにユーザー属性を渡す

DAB では IdP からユーザー属性が取得され、ヘッダーまたは Cookie を使用してアプリケーションに渡されます。 ユーザー属性を構成すると、ユーザー属性に緑色のチェック記号が表示されます。

渡されたユーザー属性のスクリーンショット。

詳細情報: ヘッダー ベースのアプリケーションに、メール アドレス、名、姓などのユーザー属性を渡します

フローをテストする

  1. オンプレミスアプリケーションの URL に移動します。
  2. DAP によって、ユーザー フローで構成したページにリダイレクトされます。
  3. 一覧から IdP を選択します。
  4. プロンプトで資格情報を入力します。 必要に応じて、Microsoft Entra 多要素認証トークンを含めます。
  5. Azure AD B2C にリダイレクトされ、それによってアプリケーションの要求が DAP のリダイレクト URI に転送されます。
  6. DAB によって、ポリシーが評価され、ヘッダーが計算されて、上流のアプリケーションにユーザーが送信されます。
  7. 要求されたアプリケーションが表示されます。

次のステップ