重要
2025 年 5 月 1 日より、Azure AD B2C は新規のお客様向けに購入できなくなります。 詳細については、FAQ を参照してください。
このチュートリアルでは、Azure Active Directory B2C (Azure AD B2C) と Datawiza アクセス プロキシ (DAP) を統合する方法について説明します。これにより、シングル サインオン (SSO) ときめ細かいアクセス制御が可能になり、Azure AD B2C がオンプレミスのレガシ アプリケーションを保護できるようになります。 このソリューションを使用すると、企業はアプリケーションを書き換えることなく、レガシから Azure AD B2C に移行できます。
[前提条件]
作業を開始するには、以下が必要です。
- Microsoft Entra サブスクリプション
- お持ちでない場合は、Azure 無料アカウントを取得できます
- Azure サブスクリプションにリンクされた Azure AD B2C テナント
-
DAB を実行するには、アプリケーションを開発、出荷、実行するためのオープン プラットフォームである Docker が必要です
- アプリケーションは、仮想マシンやベア メタルなどのプラットフォームで実行できます
- レガシ 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 構成とアクセス制御ポリシーの管理に役立ちます
次のアーキテクチャ図は、実装を示しています。
- ユーザーは、オンプレミス アプリケーションへのアクセスを要求します。 DAB は要求をアプリケーションにプロキシします。
- DAP によって、ユーザーの認証状態がチェックされます。 セッション トークンまたは無効なトークンがない場合、ユーザーは認証のために Azure AD B2C にアクセスします。
- Azure AD B2C は、Azure AD B2C テナントでの DAP 登録中に指定されたエンドポイントにユーザー要求を送信します。
- DAP はアクセス ポリシーを評価し、アプリケーションに転送される HTTP ヘッダーの属性値を計算します。 DAP は、ID プロバイダー (IdP) を呼び出して、ヘッダー値を設定する情報を取得する場合があります。 DAP はヘッダー値を設定し、要求をアプリケーションに送信します。
- ユーザーは、アプリケーションにアクセスして認証されます。
Datawiza にオンボードする
従来のオンプレミス アプリを Azure AD B2C と統合するには、 Datawiza にお問い合わせください。
Azure AD B2C テナントを構成する
docs.datawiza.com に移動して次の手順を実行します。
Azure AD B2C テナントに Web アプリケーションを登録し、サインアップとサインインのユーザー フローを構成する方法について説明します。 詳細については、 Azure AD B2C に関するページを参照してください。
Azure portal でユーザー フローを構成します。
注
DCM で DAB を設定する場合は、テナント名、ユーザー フロー名、クライアント ID、クライアント シークレットが必要です。
DCMC でアプリケーションを作成する
DCMC で、アプリケーションを作成し、このアプリケーションの
PROVISIONING_KEYとPROVISIONING_SECRETのキー ペアを生成します。 Datawiza Cloud Management Console を参照してください。Azure AD B2C を使用して IdP を構成します。 パート 1: Azure AD B2C の構成を参照してください。
ヘッダー ベースのアプリケーションで DAB を実行する
Docker または Kubernetes を使用して DAP を実行できます。 ユーザーがヘッダーベースのサンプル アプリケーションを作成するには、Docker イメージを使用します。
詳細情報: DAP と SSO の統合を構成するには、「アプリを使用して Datawiza アクセス プロキシをデプロイする」を参照してください
サンプルの Docker イメージ docker-compose.yml file が提供されています。 コンテナー レジストリにサインインして、DAP イメージとヘッダー ベースのアプリケーションをダウンロードします。
アプリを使用して 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"ヘッダーベースのアプリケーションでは、Azure AD B2C で SSO が有効になっています。
ブラウザーを開き、「
http://localhost:9772/」と入力します。Azure AD B2C サインイン ページが表示されます。
ヘッダー ベースのアプリケーションにユーザー属性を渡す
DAB は IdP からユーザー属性を取得し、ヘッダーまたは Cookie を使用してアプリケーションに渡します。 ユーザー属性を構成すると、ユーザー属性の緑色のチェック マークが表示されます。
詳細情報: 電子メール アドレス、名、姓などのユーザー属性をヘッダー ベースのアプリケーションに 渡します 。
フローをテストする
- オンプレミスのアプリケーション URL に移動します。
- DAP は、ユーザー フローで構成したページにリダイレクトされます。
- 一覧から IdP を選択します。
- プロンプトで、資格情報を入力します。 必要に応じて、Microsoft Entra 多要素認証トークンを含めます。
- Azure AD B2C にリダイレクトされ、アプリケーション要求が DAP リダイレクト URI に転送されます。
- DAB はポリシーを評価し、ヘッダーを計算し、アップストリーム アプリケーションにユーザーを送信します。
- 要求されたアプリケーションが表示されます。