次の方法で共有


チュートリアル: ヘッダーベース SSO 用に F5 BIG-IP Easy Button を構成する

ヘッダーベースのアプリケーションを、Microsoft Entra ID と F5 BIG-IP Easy Button ガイド付き構成 16.1 でセキュリティで保護する方法について説明します。

BIG-IP と Microsoft Entra ID の統合には、以下のような利点が多数あります:

詳細情報:

シナリオの説明

このシナリオでは、保護されたコンテンツへのアクセスを管理するために HTTP Authorization ヘッダーを使用するレガシ アプリケーションを対象にしています。 レガシ アプリケーションは、Microsoft Entra ID との直接統合をサポートする最新のプロトコルに対応していません。 最新化にはコストも時間もかかり、ダウンタイムのリスクが生じます。 代わりに、プロトコルの切り換えと共に、F5 BIG IP Application Delivery Controller (ADC) を使用して、レガシ アプリケーションと最新の ID コントロール プレーンとの間のギャップを埋めます。

アプリケーションの手前の BIG-IP により、Microsoft Entra の事前認証およびヘッダーベース SSO を使用したサービスのオーバーレイが可能となります。 この構成により、アプリケーションのセキュリティ態勢全体が向上します。

注意

Microsoft Entra アプリケーション プロキシを組織で使用すると、このタイプのアプリケーションへのリモート アクセスを実現できます。 詳細情報: Microsoft Entra アプリケーション プロキシからのオンプレミス アプリケーションへのリモート アクセス

シナリオのアーキテクチャ

SHA ソリューションには次のものが含まれます:

  • アプリケーション - Microsoft Entra SHA で保護された BIG-IP 公開サービス
  • Microsoft Entra ID - ユーザー資格情報、条件付きアクセス、BIG-IP への SAML ベースの SSO を検証する Security Assertion Markup Language (SAML) ID プロバイダー (IdP)。 SSO により、Microsoft Entra ID から BIG-IP にセッション属性が提供されます。
  • BIG-IP - アプリケーションに対するリバース プロキシおよび SAML サービス プロバイダー (SP)。バックエンド アプリケーションへのヘッダーベースの SSO を実行する前に認証を SAML IdP に委任します。

このシナリオの場合、SHA では、SP と IdP によって開始される各フローがサポートされます。 次の図は、SP によって開始されるフローを示しています。

SP によって開始されるフローを使用した構成の図。

  1. ユーザーがアプリケーション エンドポイント (BIG-IP) に接続します。
  2. BIG-IP APM アクセス ポリシーにより、ユーザーが Microsoft Entra ID (SAML IdP) にリダイレクトされます。
  3. Microsoft Entra がユーザーを事前認証し、条件付きアクセス ポリシーを適用します。
  4. ユーザーが BIG-IP (SAML SP) にリダイレクトされ、発行された SAML トークンを使用して SSO が実行されます。
  5. BIG-IP により、Microsoft Entra 属性がアプリケーション要求のヘッダーとして挿入されます。
  6. アプリケーションが要求を承認し、ペイロードを返します。

前提条件

このシナリオでは、以下が必要です:

  • Azure サブスクリプション
  • 次のいずれかのロール: クラウド アプリケーション管理者、アプリケーション管理者
  • BIG-IP、または Azure に BIG-IP Virtual Edition (VE) をデプロイします
  • 次のいずれかの F5 BIG-IP ライセンス:
    • F5 BIG-IP® Best バンドル
    • F5 BIG-IP Access Policy Manager™ (APM) スタンドアロン ライセンス
    • BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM) に対する F5 BIG-IP Access Policy Manager™ (APM) アドオン ライセンス
    • 90 日間の BIG-IP 全機能試用版。 「無料試用版」を参照してください
  • オンプレミスのディレクトリから Microsoft Entra ID に同期されたユーザー ID
  • HTTPS を介してサービスを発行するための SSL Web 証明書。または、テストの場合には既定の BIG-IP 証明書を使用します
  • ヘッダーベースのアプリケーション。または、テストの場合には IIS ヘッダー アプリを設定します

BIG-IP の構成

このチュートリアルでは、Easy Button テンプレートを備えたガイド付き構成 v16.1 を使用します。 Easy Button を使用すると、管理者は SHA サービスを有効にするために行き来する必要がなくなります。 [ガイド付き構成] ウィザードと Microsoft Graph でデプロイとポリシー管理を処理します。 BIG-IP APM と Microsoft Entra を統合すると、ID フェデレーション、SSO、条件付きアクセスをアプリケーションで確実にサポートできます。

注意

サンプルの文字列や値は、お使いの環境のものに置き換えます。

Easy Button を登録する

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

クライアントまたはサービスは、Microsoft Graph にアクセスする前に、Microsoft ID プラットフォームによって信頼される必要があります。

詳細情報: クイックスタート: Microsoft ID プラットフォームにアプリケーションを登録する

Graph への Easy Button アクセスを認可するために、テナント アプリの登録を作成します。 BIG-IP は、これらの権限を使って、発行済みアプリケーションの SAML SP インスタンスと SAML IdP である Microsoft Entra ID の間に信頼を確立するための構成をプッシュします。

  1. Microsoft Entra 管理センタークラウド アプリケーション管理者 以上の権限でサインインします。

  2. [ID]>[アプリケーション]>[アプリの登録]>[新しい登録] の順に移動します。

  3. [管理] で、[アプリの登録] > [新規登録] を選びます。

  4. アプリケーションの名前を入力します。

  5. アプリケーションを使用するユーザーを指定します。

  6. [この組織のディレクトリ内のアカウントのみ] を選択します。

  7. [登録] を選択します。

  8. [API のアクセス許可] に移動します。

  9. 次の Microsoft Graph アプリケーションのアクセス許可 を承認します:

    • Application.Read.All
    • Application.ReadWrite.All
    • Application.ReadWrite.OwnedBy
    • Directory.Read.All
    • Group.Read.All
    • IdentityRiskyUser.Read.All
    • Policy.Read.All
    • Policy.ReadWrite.ApplicationConfiguration
    • Policy.ReadWrite.ConditionalAccess
    • User.Read.All
  10. 組織に管理者の同意を与えます。

  11. [証明書とシークレット] で、新しい クライアント シークレット を生成します。 クライアント シークレットをメモします。

  12. [概要] で、クライアント ID とテナント ID をメモします。

Easy Button を構成する

  1. APM ガイド付き構成を開始します。

  2. Easy Button テンプレートを開始します。

  3. [アクセス] > [ガイド付き構成] に移動します。

  4. [Microsoft 統合] を選びます

  5. [Microsoft Entra アプリケーション] を選択します。

  6. 構成の手順を確認します。

  7. [次へ] を選択します。

  8. アプリケーションを発行するには、図に示されている手順の順序を使用します。

    発行の順序の図。

構成プロパティ

[構成のプロパティ] タブを使用して、BIG-IP アプリケーション構成と SSO オブジェクトを作成します。 [Azure サービス アカウントの詳細] は、Microsoft Entra テナントに登録したクライアントの構成です。 BIG-IP OAuth クライアントの設定を使用して、SSO プロパティと共に SAML SP をテナントに登録します。 Easy Button により、発行されて SHA が有効になっている BIG-IP サービスに対してこのアクションが実行されます。

設定を再利用して、さらにアプリケーションを発行できます。

  1. 構成名を入力します。
  2. [シングル サインオン (SSO) と HTTP ヘッダー] で、[オン] を選択します。
  3. [テナント ID], [クライアント ID][クライアント シークレット] に、メモした内容を入力します。
  4. BIG-IP がテナントに接続されたことを確認します。
  5. [次へ] を選択します

サービス プロバイダー

[サービス プロバイダー] の設定では、SHA で保護されたアプリケーションの SAML SP インスタンス設定を定義します。

  1. [ホスト] (アプリケーション パブリック FQDN) を入力します。

  2. [エンティティ ID] (トークンを要求した SAML SP を特定するために Microsoft Entra ID が使用する ID) を入力します。

  3. (省略可能) 発行された SAML アサーションを Microsoft Entra ID で暗号化するには、[セキュリティの設定] で、[暗号化アサーションを有効にする] を選択します。 Microsoft Entra ID と BIG-IP APM の暗号化アサーションは、コンテンツ トークンが傍受されず、個人または企業のデータが侵害されないことを確実にするために役立ちます。

  4. [セキュリティの設定] で、[アサーション解読の秘密キー] の一覧から、[新規作成] を選びます。

    [アサーション解読の秘密キー] の一覧にある [新規作成] オプションのスクリーンショット。

  5. [OK] を選択します。

  6. [SSL 証明書とキーのインポート] ダイアログが表示されます。

  7. [インポートの種類] で、[PKCS 12 (IIS)] を選びます。 この操作により、証明書と秘密キーがインポートされます。

  8. [証明書とキー名][新規] を選び、入力します。

  9. パスワード を入力します。

  10. [インポート] を選択します。

  11. ブラウザー タブを閉じて、メイン タブに戻ります。

[SSL 証明書キー ソース] の選択と入力のスクリーンショット。

  1. [暗号化されたアサーションを有効にする] チェック ボックスをオンにします。
  2. 暗号化を有効にした場合は、[アサーション解読の秘密キー] の一覧から証明書を選びます。 BIG-IP APM では、この証明書の秘密キーを使用して Microsoft Entra アサーションの暗号化を解除します。
  3. 暗号化を有効にした場合は、[アサーション解読の証明書] の一覧から証明書を選びます。 BIG-IP は、発行された SAML アサーションを暗号化するために、この証明書を Microsoft Entra ID にアップロードします。

[セキュリティの設定] の 2 つの入力と 1 つのオプションのスクリーンショット。

Microsoft Entra ID

Microsoft Entra テナントで新しい BIG-IP SAML アプリケーションを構成するには、以下の手順を使用します。 Easy Button には、Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP 用のアプリケーション テンプレートと、汎用の SHA テンプレートが用意されています。

  1. [Azure の構成][構成プロパティ] で、[F5 BIG-IP APM Microsoft Entra ID 統合] を選びます。
  2. [追加] を選択します。

Azure 構成

  1. BIG-IP で Microsoft Entra テナント内に作成するアプリの [表示名] を入力します。 ユーザーには、この名前がアイコンと共に Microsoft [マイ アプリ] 上に表示されます。

  2. [サインオン URL] (省略可能) は、スキップします。

  3. [署名キー][署名証明書] の横にある [更新] ボタンを押して、インポートした証明書を検索します。

  4. [署名キーのパスフレーズ] に証明書のパスワードを入力します。

  5. (省略可能) Microsoft Entra ID による署名付きのトークンや要求を BIG-IP で受け付けるには、[署名オプション] をオンにします。

    [Azure の構成] のスクリーンショット - 署名証明書情報を追加する

  6. [ユーザーとユーザー グループ] の入力は動的に照会されます。

    重要

    テストに使うユーザーまたはグループを追加します。そうしないと、すべてのアクセスは拒否されます。 [ユーザーとユーザー グループ] で、[+ 追加] を選びます。

    [ユーザーとユーザー グループ] の [追加] オプションのスクリーンショット。

ユーザー属性と要求

ユーザーの認証が実行されると、Microsoft Entra ID は、要求とユーザー識別用の属性を含んだ SAML トークンを発行します。 [ユーザー属性と要求] タブには、アプリケーションの既定の要求があります。 追加の要求を構成するには、このタブを使用します。

次のようにして、もう 1 つの属性を含めます:

  1. [ヘッダー名] として「employeeid」と入力します。

  2. [ソース属性] として「user.employeeid」と入力します。

    [追加の要求] の値のスクリーンショット。

追加のユーザー属性

[追加のユーザー属性] タブでは、セッションの拡張を有効にします。 この機能は、Oracle、SAP、他のディレクトリに属性を格納する必要がある他の JAVA 実装などの分散システムに使用します。 ライトウェイト ディレクトリ アクセス プロトコル (LDAP) ソースからフェッチされた属性は、追加の SSO ヘッダーとして挿入されます。 このアクションは、ロール、パートナー ID などに基づいてアクセスを制御するのに役立ちます。

注意

この機能には、Microsoft Entra ID との関連性はありません。 これは属性ソースです。 

条件付きアクセス ポリシー

条件付きアクセス ポリシーは、デバイス、アプリケーション、場所、リスクの兆候に基づいてアクセスを制御します。

  • [使用可能なポリシー] では、ユーザー アクションのない条件付きアクセス ポリシーが検索されます
  • [選択されたポリシー] では、クラウド アプリ ポリシーが見つかります
    • これらのポリシーは、テナント レベルで適用されるため、選択解除することも、[使用可能なポリシー] に移動することもできません

公開されているアプリケーションに適用するポリシーを選択するには:

  1. [条件付きアクセス ポリシー] タブの [使用可能なポリシー] の一覧で、ポリシーを選びます。
  2. [右矢印] を選択して、これを [選択されたポリシー] リストに移動します。

注意

ポリシーに対して [含める] または [除外する] オプションを選ぶことができます。 両方のオプションが選択されている場合、ポリシーは適用されません。

[選択されたポリシー] でポリシーに対して [除外する] オプションが選択されているスクリーンショット。

注意

[条件付きアクセス ポリシー] タブを選ぶと、ポリシーの一覧が表示されます。[更新] を選ぶと、ウィザードによってテナントが照会されます。 アプリケーションがデプロイされると、[更新] 内容が表示されます。

仮想サーバーのプロパティ

仮想サーバーは、仮想 IP アドレスで表される BIG-IP データ プレーン オブジェクトです。 サーバーは、アプリケーションに対するクライアント要求をリッスンします。 受信されたトラフィックは処理され、仮想サーバーに関連する APM プロファイルに対して評価されます。 トラフィックはポリシーに従って送信されます。

  1. [宛先アドレス] に、BIG-IP でクライアント トラフィックの受信に使う IPv4 または IPv6 アドレスを入力します。 クライアントが BIG-IP 公開アプリケーションの外部 URL をこの IP に解決できるようにする、ドメイン ネーム サーバー (DNS) 内の対応するレコードを確認します。 テストの場合には、コンピューターの localhost DNS を使用できます。

  2. [サービス ポート] には「443」と入力し、[HTTPS] を選びます。

  3. [リダイレクト ポートを有効にする] チェック ボックスをオンにします。

  4. [リダイレクト ポート] に値を入力します。 このオプションにより、受信 HTTP クライアント トラフィックが HTTPS にリダイレクトされます。

  5. 作成した クライアント SSL プロファイル を選びます。または、テストの場合には既定値のままにします。 [クライアント SSL プロファイル] では、クライアント接続が TLS で暗号化されるように、HTTPS 用の仮想サーバーを有効にできます。

    [仮想サーバーのプロパティ] の宛先アドレス、サービス ポート、選択済みプロファイルのスクリーンショット。

プールのプロパティ

[アプリケーション プール] タブには、プールとして表される、BIG-IP の背後にあるサービスを設定します。これには、1 つ以上のアプリケーション サーバーが含まれます。

  1. [プールの選択] で、[新規作成] を選ぶか、別のものを選びます。

  2. [負荷分散方法] では、[ラウンド ロビン] を選びます。

  3. [プール サーバー] では、ノードを選ぶか、ヘッダーベースのアプリケーションをホストするサーバーの IP アドレスおよびポートを選びます。

    [プールのプロパティ] での IP アドレスまたはノード名、およびポートの入力のスクリーンショット。

    注意

    Microsoft バックエンド アプリケーションは HTTP ポート 80 にあります。 [HTTPS] を選んだ場合は、443 を使用してください。

シングル サインオンと HTTP ヘッダー

SSO を使用すると、ユーザーは認証情報を入力することなく、BIG-IP で発行済みのサービスにアクセスします。 Easy Button ウィザードでは、SSO 用に Kerberos、OAuth Bearer、HTTP Authorization ヘッダーがサポートされています。

  1. [シングル サインオンと HTTP ヘッダー][SSO ヘッダー] にある [ヘッダー操作] で、[挿入] を選びます

  2. [ヘッダー名] に「upn」を使用します。

  3. [ヘッダー値] に「%{session.saml.last.identity}」を使用します。

  4. [ヘッダー操作] で、[挿入] を選びます。

  5. [ヘッダー名]に「employeeid」を使用します。

  6. [ヘッダー値] には、「%{session.saml.last.attr.name.employeeid}」を使います。

    [SSO ヘッダー] の入力と選択のスクリーンショット。

    注意

    中かっこ内の APM セッション変数では、大文字と小文字が区別されます。 不整合があると、属性マッピングが失敗します。

セッションの管理

BIG-IP セッション管理設定を使用して、ユーザー セッションの終了または継続の条件を定義します。

詳細については、support.f5.com にアクセスして、「K18390492: セキュリティ | BIG-IP APM 操作ガイド」を参照してください

シングル ログアウト (SLO) を使用すると、ユーザーがサインアウトしたときに IdP、BIG-IP、ユーザー エージェントの各種セッションを終了できます。Easy Button によって Microsoft Entra テナント内の SAML アプリケーションがインスタンス化されると、サインアウト URL に APM SLO エンドポイントが設定されます。 [マイ アプリ] からの IdP によって開始されたサインアウトにより、BIG-IP とクライアントのセッションが終了します。

詳細情報: [マイ アプリ] を参照してください

発行済みアプリケーションの SAML フェデレーション メタデータがお使いのテナントからインポートされます。 Microsoft Entra ID の SAML サインアウト エンドポイントは、このインポートによって APM に伝えられます。 これにより、SP によってサインアウトが開始されたときにクライアントと Microsoft Entra のセッションを確実に終了できます。 ユーザーのサインアウトが発生したタイミングを APM が認識するようにします。

BIG-IP Web トップ ポータルが発行済みアプリケーションにアクセスする場合は、APM がサインアウトの処理と Microsoft Entra サインアウト エンドポイントの呼び出しを行います。 BIG-IP Web ポータルが使用されない場合、ユーザーはサインアウトするよう APM に指示できません。ユーザーがアプリケーションからサインアウトした場合、BIG-IP で認識されません。 したがって、SP によって開始されるサインアウトによってセッションが安全に終了されるようにします。 アプリケーションの [サインアウト] ボタンに SLO 機能を付加すると、クライアントを Microsoft Entra SAML または BIG-IP サインアウト エンドポイントにリダイレクトさせることができます。 テナントの SAML サインアウト エンドポイント URL を見つけるには、[アプリの登録] > [エンドポイント] に移動します。

アプリを変更できない場合は、BIG-IP でアプリケーションのサインアウト呼び出しをリッスンして SLO をトリガーできるようにします。

詳細情報:

デプロイ

デプロイでは、構成の概要を提供します。

  1. 設定をコミットするには、[デプロイ] を選びます。
  2. エンタープライズ アプリケーションのテナント一覧でアプリケーションを確認します。
  3. アプリケーションが発行され、その URL、または Microsoft のアプリケーション ポータルで、SHA を介してアクセスできるようになります。

テスト

  1. ブラウザーで、アプリケーションの外部 URL に接続するか、[マイ アプリ] でアプリケーションのアイコンを選びます。
  2. Microsoft Entra ID に対して認証を行います。
  3. アプリケーションの BIG-IP 仮想サーバーにリダイレクトされ、SSO でサインインします。

次のスクリーンショットでは、ヘッダー ベースのアプリケーションからのヘッダー出力が挿入されています。

[サーバー変数] の下の UPN、従業員 ID、イベントのロールのスクリーンショット。

注意

アプリケーションへの直接アクセスをブロックできます。これにより BIG-IP を介したパスが強制されます。

詳細なデプロイ

一部のシナリオでは、[ガイド付き構成] テンプレートは柔軟性が不足します。

詳細情報: チュートリアル: ヘッダーベースの SSO 用に F5 BIG-IP Access Policy Manager を構成する

BIG-IP では、ガイド付き構成の 厳格な管理モード を無効にできます。 その後、構成を手動で変更しますが、ほとんどの構成はウィザード テンプレートを使用して自動化されます。

  1. 厳格モードを無効にするには、[アクセス] > [ガイド付き構成] に移動します。

  2. アプリケーション構成の行で、[パッドロック] アイコンを選びます。

  3. アプリケーションの発行済みインスタンスに関連する BIG-IP オブジェクトは、管理のためにロック解除されます。 ウィザードでの変更はできなくなります。

    南京錠アイコンのスクリーンショット。

    注意

    厳格モードを再度有効にして構成をデプロイすると、このアクションによって、ガイド付き構成に含まれていない設定が上書きされます。 運用サービスには高度な構成をお勧めします。

トラブルシューティング

トラブルシューティングを行う場合は、次のガイダンスを使用します。

ログの詳細

BIG-IP のログは、接続、SSO、ポリシー、正しく構成されていない変数マッピングなどに関する問題の切り分けに役立ちます。 トラブルシューティングを行うには、ログの詳細を増やします。

  1. [アクセス ポリシー] > [概要] に移動します。
  2. [イベント ログ] を選びます。
  3. [設定] を選択します。
  4. 発行済みのアプリケーションの行を選択します。
  5. [編集] を選択します。
  6. [システム ログへのアクセス] を選びます。
  7. SSO の一覧から [デバッグ] を選びます。
  8. [OK] を選択します。
  9. 問題を再現します。
  10. ログを調べます。

注意

完了したら、この機能を元に戻してください。 詳細モードでは、データが過剰に生成されます。

BIG-IP のエラー メッセージ

Microsoft Entra の事前認証後に BIG-IP のエラー メッセージが表示される場合は、問題が Microsoft Entra ID から BIG-IP への SSO に関連している可能性があります。

  1. [アクセス ポリシー] > [概要] に移動します。
  2. [レポートへのアクセス] を選びます。
  3. 直近 1 時間のレポートを実行します。
  4. ログに手がかりがないか確認します。

期待どおりの Microsoft Entra 要求を APM が受信しているか確認するには、セッションの [セッション変数の表示] リンクが役立ちます。

BIG-IP エラー メッセージなし

BIG-IP エラー メッセージが表示されない場合、その問題はバックエンド要求、または BIG-IP からアプリケーションへの SSO に関連している可能性があります。

  1. [アクセス ポリシー] > [概要] に移動します。
  2. [アクティブなセッション] を選びます。
  3. アクティブなセッション リンクを選びます。

[変数の表示] リンクを使用すると、特に BIG-IP APM で正しい属性が取得されない場合の SSO の問題を特定できます。

詳細情報: