次の方法で共有


Microsoft Entra ID でシングル サインオン用にヘッダー ベースの SSO 用に F5 の BIG-IP Easy Button を構成する

この記事では、F5 と Microsoft Entra ID を統合する方法について説明します。 F5 を Microsoft Entra ID と統合すると、次のことが可能になります。

  • F5 へのアクセス権を持つユーザーを Microsoft Entra ID で管理する。
  • ユーザーが自分の Microsoft Entra アカウントを使用して F5 に自動的にサインインできるようにする。
  • アカウントを一元的に管理する。

F5 BIG-IP APM 今すぐ購入

シナリオの説明

このシナリオでは、 HTTP 承認ヘッダー を使用して、保護されたコンテンツへのアクセスを管理する従来のレガシ アプリケーションについて説明します。

従来のアプリケーションには、Microsoft Entra ID との直接的な統合をサポートする最新のプロトコルがありません。 アプリケーションは最新化できますが、コストがかかり、慎重な計画が必要であり、潜在的なダウンタイムのリスクが生じます。 代わりに、プロトコル遷移によって従来のアプリケーションと最新の ID コントロール プレーンとの間のギャップを橋渡しするために、F5 BIG IP Application Delivery Controller (ADC) を使用します。

アプリケーションの前に BIG-IP があると、Microsoft Entra の事前認証とヘッダーベースの SSO でサービスをオーバーレイできるため、アプリケーションの全体的なセキュリティ態勢が大幅に向上します。

組織は、 Microsoft Entra アプリケーション プロキシを使用して、この種類のアプリケーションにリモート アクセスすることもできます。

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

このシナリオの SHA ソリューションは次のもので構成されています。

アプリケーション: 公開されたサービス BIG-IP Microsoft Entra SHA によって保護されます。

Microsoft Entra ID: BIG-IP に対するユーザー資格情報、条件付きアクセス、SAML ベースの SSO の検証を担当するセキュリティ アサーション マークアップ言語 (SAML) ID プロバイダー (IdP)。 SSO を介して、Microsoft Entra ID により、必要なセッション属性が BIG-IP に提供されます。

BIG-IP: バックエンド アプリケーションに対してヘッダー ベースの SSO を実行する前に認証を SAML IdP に委任して、アプリケーションにリバース プロキシと SAML サービス プロバイダー (SP) を渡します。

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

セキュリティで保護されたハイブリッド アクセス - SP によって開始されるフローのスクリーンショット。

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

前提条件

以前の BIG-IP エクスペリエンスは必要ありませんが、次のものが必要です。

  • Microsoft Entra ID 無料サブスクリプション (またはそれ以上)。

  • 既存の BIG-IP または Azure に BIG-IP Virtual Edition (VE) をデプロイします

  • 次のいずれかの F5 BIG-IP ライセンス SKU。

    • 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。

  • Microsoft Entra アプリケーション管理者 のアクセス許可を持つアカウント。

  • HTTPS 経由でサービスを発行するための SSL Web 証明書 、またはテスト中に既定の BIG-IP 証明書を使用します。

  • 既存のヘッダー ベースのアプリケーション、またはテスト用 の単純な IIS ヘッダー アプリを設定 します。

BIG-IP の構成方法

このシナリオで使用する BIG-IP は、テンプレートを使用した 2 つの方法や高度な構成を含め、さまざまな方法で構成できます。 この記事では、Easy ボタン テンプレートを提供する最新のガイド付き構成 16.1 について説明します。 Easy Button を使用すると、管理者は、Microsoft Entra ID と BIG-IP の間を行き来して SHA のためにサービスを有効にする必要がなくなります。 デプロイとポリシー管理は、APM のガイド付き構成ウィザードと Microsoft Graph との間で直接処理されます。 この充実した BIG-IP APM と Microsoft Entra ID の統合により、アプリケーションでは確実に ID フェデレーション、SSO、Microsoft Entra 条件付きアクセスを迅速かつ容易にサポートできるため、管理オーバーヘッドが軽減されます。

このガイド全体で参照されている文字列または値の例はすべて、実際の環境に合わせて置き換える必要があります。

Easy Button を登録する

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

この最初の手順では、Graph への Easy Button アクセスを承認するために使用されるテナント アプリの登録を作成します。 これらのアクセス許可により、BIG-IP は、発行されたアプリケーションの SAML SP インスタンスと SAML IdP としての Microsoft Entra ID との間に信頼を確立するために必要な構成をプッシュできます。

  1. アプリケーション管理者権限を持つアカウントを使用して Azure portal にサインインします。

  2. 左側のナビゲーション ウィンドウで、 Microsoft Entra ID サービスを 選択します。

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

  4. F5 BIG-IP Easy Button など、アプリケーションの表示名を入力します。

  5. この組織のディレクトリでのみアプリケーション >Accounts を使用できるユーザーを指定します。

  6. [ 登録 ] を選択して、最初のアプリの登録を完了します。

  7. API のアクセス許可に移動し、次の 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
  8. 組織に管理者の同意を付与します。

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

  10. [ 概要 ] ブレードで、 クライアント IDテナント ID を書き留めます。

Easy Button を構成する

APM の ガイド付き構成 を開始して 、Easy Button テンプレートを起動します。

  1. Microsoft Integration > Access > ガイド付き構成に移動し、Microsoft Entra アプリケーションを選択します。

  2. 次の手順を使用してソリューションを構成すると、必要なオブジェクトが作成されます。構成手順の一覧を確認し、[次へ] を選択します。

  3. [ ガイド付き構成] で、アプリケーションを発行するために必要な一連の手順に従います。

Configuration Properties

[ 構成プロパティ ] タブでは、BIG-IP アプリケーション構成と SSO オブジェクトが作成されます。 先ほど Microsoft Entra テナントに登録したクライアントをアプリケーションとして表すには、 Azure サービス アカウントの詳細 セクションを検討してください。 これらの設定*により、BIG-IP* の OAuth クライアント*では、通常は手動で構成する* SSO* プロパティと共に、SAML SP をテナント*に直接個別に登録できるようになります。 Easy Button により、公開*されて SHA が有効になっているすべての BIG-IP* サービス*に対してこの操作が行われます。

これらの一部はグローバル設定であるため、より多くのアプリケーションを公開するために再利用でき、デプロイの時間と労力をさらに削減するのに役立ちます。

  1. 管理者が Easy Button の構成 を簡単に区別できるように、一意の構成名を入力します。

  2. 単一 Sign-On (SSO) と HTTP ヘッダーを有効にします。

  3. テナントに Easy Button クライアントを登録するときに記録した テナント IDクライアント ID、クライアント シークレット を入力します。

  4. BIG-IP がテナントに正常に接続できることを確認し、[ 次へ] を選択します。

    [構成全般] プロパティと [サービス アカウント] プロパティのスクリーンショット。

サービス プロバイダー

サービス* プロバイダー*設定*では、SHA によって保護されるアプリケーション*の SAML SP インスタンス*のプロパティを定義します。

  1. 「ホスト」と入力します。 これは、セキュア アプリケーションのパブリック FQDN です。

  2. エンティティ ID を入力します。 これは、トークンを要求する SAML SP を識別するために Microsoft Entra ID によって使用される識別子です。

    サービス プロバイダーの設定のスクリーンショット。

    オプションの セキュリティ設定では、 Microsoft Entra ID で発行された SAML アサーションを暗号化するかどうかを指定します。 Microsoft Entra ID と BIG-IP APM の間でアサーションを暗号化すると、コンテンツ トークンが傍受されないこと、および個人や会社のデータが侵害されないことの追加の保証が提供されます。

  3. [Assertion Decryption 秘密キー] ボックスの一覧で、[新規作成] を選択します。

    [Configure Easy Button- Create New import]\(簡単なボタンの構成- 新しいインポートの作成\) のスクリーンショット。

  4. [ OK] を選択します。 [ SSL 証明書とキーのインポート ] ダイアログが新しいタブで開きます。

  5. PKCS 12 (IIS) を選択して、証明書と秘密キーをインポートします。 プロビジョニングが完了したら、ブラウザー タブを閉じて、メイン タブに戻ります。

    [Configure Easy Button- Import new cert]\(簡単なボタンの構成\ - 新しい証明書のインポート\ ) のスクリーンショット。

  6. [Enable Encrypted Assertion](暗号化アサーションを有効にする) をオンにします。

  7. 暗号化を有効にしている場合は、[ Assertion Decryption 秘密キー ] ボックスの一覧から証明書を選択します。 これは、BIG-IP APM が Microsoft Entra ID アサーションの解読に使用する証明書の秘密キーです。

  8. 暗号化を有効にしている場合は、アサーション復号化証明書の一覧から 証明書を 選択します。 これは、発行された SAML アサーションを暗号化するために BIG IP が Microsoft Entra ID にアップロードする証明書です。

サービス プロバイダーのセキュリティ設定のスクリーンショット。

マイクロソフト エントラ ID

このセクションでは、Microsoft Entra テナント内で新しい BIG-IP SAML アプリケーションを手動で構成するために通常使用するすべてのプロパティを定義します。 Easy Button には、Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP、その他のアプリ用の汎用 SHA テンプレート用の定義済みアプリケーション テンプレートのセットが用意されています。

このシナリオでは、[ Azure 構成] ページで、 F5 BIG-IP APM Azure AD Integration>Add を選択します。

Azure の構成

[Azure 構成] ページで、次の手順に従います。

  1. [ 構成プロパティ] に、BIG-IP が Microsoft Entra テナントで作成するアプリの 表示名 と、 ユーザーが MyApps ポータルに表示するアイコンを入力します。

  2. IdP によって開始されるサインオンを有効にするために 、サインオン URL (省略可能) には何も入力しないでください。

  3. 署名キー署名証明書の横にある更新アイコンを選択して、前にインポートした証明書を見つけます。

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

  5. 署名オプションを有効にする (省略可能)。 これにより、BIG-IP は、Microsoft Entra ID によって署名されたトークンと要求のみを受け入れるようになります。

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

  6. ユーザー グループとユーザー グループ は、Microsoft Entra テナントから動的に照会され、アプリケーションへのアクセスを承認するために使用されます。 後でテストに使用できるユーザーまたはグループを追加します。それ以外の場合は、すべてのアクセスが拒否されます。

    Azure 構成のスクリーンショット - ユーザーとグループを追加します。

ユーザー属性と要求

ユーザーが正常に認証されると、Microsoft Entra ID は、ユーザーを一意に識別する要求と属性の既定のセットを使用して SAML トークンを発行します。 [ ユーザー属性と要求] タブには、 新しいアプリケーションに対して発行する既定の要求が表示されます。 また、さらに多くの要求を構成することもできます。

この例では、属性をもう 1 つ含めることができます。

  1. Header Nameとして employeeid を入力します。

  2. user.employeeid として ソース属性 を入力します。

    ユーザー属性と要求のスクリーンショット。

追加のユーザー属性

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

この機能は Microsoft Entra ID と相関関係はありませんが、属性のもう 1 つのソースです。 

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

条件付きアクセス ポリシーは、デバイス、アプリケーション、場所、リスクの兆候に基づいてアクセスを制御するために、Microsoft Entra の事前認証後に適用されます。

既定では、[ 使用可能なポリシー] ビューには、ユーザー ベースのアクションを含まないすべての条件付きアクセス ポリシーが一覧表示されます。

既定では、[ 選択したポリシー ] ビューには、すべてのリソースを対象とするすべてのポリシーが表示されます。 これらのポリシーは、テナント レベルで適用されるため、選択を解除したり、[使用可能なポリシー] リストに移動したりすることはできません。

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

  1. [使用可能なポリシー] ボックスの一覧で目的 のポリシーを 選択します。
  2. 右矢印を選択し、[ 選択したポリシー ] リストに移動します。

選択したポリシーでは、[ 含める] または [除外] オプションがオンになっている必要があります。 両方のオプションをオンにした場合、選択したポリシーは適用されません。

条件付きアクセス ポリシーのスクリーンショット。

ポリシーの一覧は、最初にこのタブに切り替えたときに 1 回だけ列挙されます。ウィザードから手動でテナントにクエリを実行するための更新ボタンが用意されていますが、このボタンはアプリケーションがデプロイされている場合にのみ表示されます。

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

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

  1. 宛先アドレスを入力します。 これは、BIG-IP がクライアント トラフィックを受信するために使用できる任意の IPv4 または IPv6 アドレスです。 対応するレコードが DNS にも存在する必要があり、それによってクライアントでは、BIG-IP の公開済みアプリケーションの外部 URL を、アプリケーション自体ではなく、この IP に解決できるようになります。 テストでは、テスト PC の localhost DNS を使用しても問題ありません。

  2. HTTPS の場合は、 サービス ポート443 と入力します。

  3. [ リダイレクト ポートを有効にする] をオンにし、「 リダイレクト ポート」と入力します。 これにより、受信 HTTP クライアント トラフィックが HTTPS にリダイレクトされます。

  4. クライアント* SSL* プロファイル*を使用すると、HTTPS* 用の仮想サーバー*が有効になり、クライアント*接続が TLS* で暗号化されるようになります。 前提条件の一部として作成した クライアント SSL プロファイル を選択するか、テスト中は既定値のままにします。

    仮想サーバーのスクリーンショット。

プールのプロパティ

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

  1. [ プールの選択] から選択します。 新しいプールを作成するか、既存のプールを選択します。

  2. としてRound Robin選択します。

  3. プール サーバーの場合は、既存のノードを選択するか、ヘッダー ベースのアプリケーションをホストするサーバーの IP とポートを指定します。

    アプリケーション プールのスクリーンショット。

バックエンド アプリケーションでは HTTP ポート 80 を使用しますが、HTTPS の場合は当然のことながら 443 に切り替えます。

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

SSO を有効にすると、ユーザーは資格情報を入力しなくても、BIG-IP で公開されているサービスにアクセスできるようになります。 Easy Button ウィザードでは、SSO 用の Kerberos、OAuth Bearer、HTTP 承認ヘッダーがサポートされています。後者では、次の構成を有効にします。

  • ヘッダー操作:Insert

  • ヘッダー名:upn

  • ヘッダー値:%{session.saml.last.identity}

  • ヘッダー操作:Insert

  • ヘッダー名:employeeid

  • ヘッダー値:%{session.saml.last.attr.name.employeeid}

    SSO ヘッダーと HTTP ヘッダーのスクリーンショット。

中かっこ内で定義されている APM セッション変数は、大文字と小文字が区別されます。 たとえば、Microsoft Entra の属性名が orclguid として定義されている場合に「OrclGUID」と入力すると、属性マッピング エラーが発生します。

セッションの管理

BIG-IP のセッション管理の設定は、ユーザー セッションが終了されるか続行が許可される条件、ユーザーと IP アドレスの制限、および対応するユーザー情報を定義するために使用されます。 これらの設定の詳細については、 F5 のドキュメント を参照してください。

しかし、ユーザーがサインオフするときに IdP、BIG-IP、およびユーザー エージェント間のすべてのセッションが確実に終了されるようにする、シングル ログアウト (SLO) 機能についての説明はここにはありません。 Easy Button によって SAML アプリケーションが Microsoft Entra テナントでインスタンス化されると、ログアウト URL にも、APM の SLO エンドポイントが設定されます。 このように、Microsoft Entra マイ アプリ ポータルからの IdP Initiated サインアウトでは、BIG-IP とクライアント間のセッションも終了します。

これに加え、テナントから公開済みアプリケーションの SAML フェデレーション メタデータもインポートされて、APM に Microsoft Entra ID の SAML ログアウト エンドポイントが提供されます。 これにより、SP Initiated サインアウトでクライアントと Microsoft Entra ID との間のセッションが確実に終了するようになります。 しかし、これを真に効果的に行うには、APM で、ユーザーがいつアプリケーションからサインアウトしたのかを正確に知る必要があります。

BIG-IP Web トップ ポータルを使用して公開済みアプリケーションにアクセスする場合は、そこからのサインアウトが APM によって処理され、Microsoft Entra サインアウト エンドポイントも呼び出されます。 しかし、BIG-IP Web トップ ポータルが使用されていないために、サインアウトするようにユーザーが APM に指示する方法がないシナリオについて考えてみます。ユーザーがアプリケーション自体からサインアウトした場合でも、BIG-IP では技術的にはこれが認識されません。 このため、SP によって開始されるサインアウトでは、セッションが不要になったときに確実に安全に終了されるように、慎重に検討する必要があります。 これを実現する 1 つの方法は、SLO 関数をアプリケーションのサインアウト ボタンに追加して、クライアントを Microsoft Entra SAML または BIG-IP サインアウト エンドポイントにリダイレクトできるようにすることです。 テナントの SAML サインアウト エンドポイントの URL は、[ アプリの登録] > [エンドポイント] にあります。

アプリに変更を加えることができない場合は、BIG-IP でアプリケーションのサインアウト呼び出しをリッスンし、要求を検出したら SLO をトリガーすることを検討してください。 これを実現するために BIG-IP irules を使用する場合は、 Oracle PeopleSoft SLO ガイダンス を参照してください。 これを実現するために BIG-IP iRules を使用する方法の詳細については、F5 ナレッジ記事「 URI 参照ファイル名に基づく自動セッション終了 (ログアウト) の構成 」および 「ログアウト URI インクルード」オプションの概要を参照してください。

まとめ

この最後の手順では、構成の概要を示します。 [ デプロイ] を選択してすべての設定をコミットし、アプリケーションが "エンタープライズ アプリケーション" のテナント一覧に存在することを確認します。

これで、アプリケーションが公開され、その URL を介して直接または Microsoft のアプリケーション ポータルを介して、SHA によりアクセスできるようになります。

ブラウザーから、アプリケーションの外部 URL に接続するか、Microsoft MyApps ポータルアプリケーションのアイコンを選択します。 Microsoft Entra ID に対して認証を行った後、アプリケーションの BIG-IP の仮想サーバーにリダイレクトされ、SSO を通じて自動的にサインイン処理が行われます。

このパターンを使用する組織では、セキュリティを強化するため、アプリケーションへのすべての直接アクセスをブロックすることで、BIG-IP 経由の厳密なパスを強制することもできます。

詳細なデプロイ

ガイド付き構成テンプレートには、より具体的な要件を実現するための柔軟性が足りない場合があります。 これらのシナリオについては、 ヘッダーベースの SSO の高度な構成に関するページを参照してください。

または、BIG-IP では、 ガイド付き構成の厳密な管理モードを無効にするオプションが提供されます。 これにより、ウィザード ベースのテンプレートを使用して構成の大部分を自動化する場合でも、構成を手動で調整できるようになります。

Access > ガイド付き構成に移動し、アプリケーションの構成の行の右端にある小さな南京錠アイコンを選択できます。

[簡単な構成] ボタン - [厳密な管理] のスクリーンショット。

その時点で、ウィザード UI を使用した変更はできなくなりますが、アプリケーションの発行済みインスタンスに関連付けられているすべての BIG-IP オブジェクトは、直接管理のためにロック解除されます。

厳格なモードを再度有効にして構成をデプロイすると、ガイド付き構成の UI 外部で実行した設定はすべて上書きされるため、運用サービスに対しては、詳細構成の方式をお勧めします。

トラブルシューティング

さまざまな要因により、SHA によって保護されたアプリケーションにアクセスできない場合があります。 BIG-IP のログは、接続、SSO、ポリシー違反、正しく構成されていない変数マッピングなど、あらゆる種類の問題をすばやく区別するのに役立つ可能性があります。 ログの詳細レベルを上げることでトラブルシューティングを開始します。

  1. アクセス ポリシー>概要>イベント ログ>設定に移動します。

  2. 発行したアプリケーションの行を選択し、>アクセス システム ログを編集します

  3. SSO の一覧から [デバッグ ] を選択し、[ OK] を選択します

問題を再現してからログを検査しますが、詳細モードでは大量のデータが生成されるため、終了したら忘れずに、これを元に戻してください。

Microsoft Entra 事前認証が成功した直後に、BIG-IP ブランドのエラーが表示される場合は、Microsoft Entra から BIG-IP への SSO に関連する問題が発生している可能性があります。

  1. Access > Overview > Access レポートに移動します。

  2. 過去 1 時間のレポートを実行して、ログに手がかりがないかどうかを確認します。 セッションの [セッション変数の表示] リンクは、APM が Microsoft Entra ID から予想される要求を受信しているかどうかを理解するのにも役立ちます。

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

  1. その場合は、アクティブなセッション>アクセス ポリシー >の概要に進み、アクティブなセッションのリンクを選択します。

  2. この場所の [変数の表示] リンクは、特に BIG-IP APM が Microsoft Entra ID または別のソースから適切な属性を取得できない場合に、SSO の問題を引き起こす根本原因にも役立ちます。

詳細については、この F5 ナレッジ記事 「Active Directory の LDAP リモート認証の構成」を参照してください。 LDAP クエリに関するこの F5 ナレッジ記事では、LDAP 関連の問題を診断するのに役立つ優れた BIG-IP リファレンス テーブルもあります。