この記事では、F5 の BIG-IP Easy Button のガイド付き構成で、Microsoft Entra ID を使用して Oracle JD Edwards (JDE) をセキュリティで保護する方法について説明します。
BIG-IP と Microsoft Entra ID の統合には、以下のように数多くの利点があります。
Microsoft Entra 事前認証と条件付きアクセスによるゼロ トラスト ガバナンスの改善
Microsoft Entra ID と BIG-IP 公開サービスとの間の完全な SSO
1 つのコントロール プレーンである Azure portal からの ID とアクセスの管理
すべての利点については、F5 BIG-IP と Microsoft Entra の統合に関する記事と Microsoft Entra ID を使用したアプリケーション アクセスとシングル サインオンに関する記事を参照してください。
シナリオの説明
このシナリオでは、HTTP 認証ヘッダーを使用して保護されたコンテンツへのアクセスを管理する従来の Oracle JDE アプリケーションを説明します。
従来のアプリケーションには、Microsoft Entra ID との直接的な統合をサポートする最新のプロトコルがありません。 アプリケーションは最新化できますが、コストがかかり、慎重な計画が必要であり、潜在的なダウンタイムのリスクが生じます。 代わりに、プロトコル遷移によって従来のアプリケーションと最新の ID コントロール プレーンとの間のギャップを橋渡しするために、F5 BIG IP Application Delivery Controller (ADC) を使用します。
アプリの前に BIG-IP することで、Microsoft Entra 事前認証とヘッダーベースの SSO でサービスをオーバーレイできるため、アプリケーションの全体的なセキュリティ体制が大幅に向上します。
シナリオのアーキテクチャ
このシナリオの SHA ソリューションは次のいくつかのコンポーネントで構成されています。
Oracle JDE アプリケーション: Microsoft Entra SHA によって保護される BIG-IP の公開済みサービス。
Microsoft Entra ID: Security Assertion Markup Language (SAML) ID プロバイダー (IdP)。ユーザーの資格情報の検証、条件付きアクセス (CA)、および BIG-IP に対する SAML ベースの SSO に責任があります。 SSO を介して、Microsoft Entra ID により、必要なセッション属性が BIG-IP に提供されます。
BIG-IP: アプリケーションに対するリバース プロキシおよび SAML サービス プロバイダー (SP)。Oracle サービスへのヘッダーベースの SSO を実行する前に認証を SAML IdP に委任します。
このシナリオの SHA では、SP と IdP によって開始されたフローの両方がサポートされます。 次の図は、SP Initiated フローを示しています。
手順 | 説明 |
---|---|
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 無料サブスクリプション (またはそれ以上)
Azure で既存の BIG-IP または 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 全機能試用版ライセンス。
ユーザー ID (オンプレミス ディレクトリから Microsoft Entra ID に同期、または Microsoft Entra ID 内で直接作成してオンプレミス ディレクトリに返したもの)
Microsoft Entra アプリケーション管理者のアクセス許可を持つアカウント
HTTPS でサービスを公開するための SSL Web 証明書 (または、テスト中に使用する既定の BIG-IP 証明書)
既存の Oracle JDE 環境
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 との間に信頼を確立するために必要な構成をプッシュできます。
アプリケーションの管理者権限を持つアカウントを使用して、Azure portal にサインインします。
左側のナビゲーション ウィンドウから、Microsoft Entra ID サービスを選択します。
[管理] で、[アプリの登録]>[新規登録] の順に選択します。
F5 BIG-IP Easy Button
など、アプリケーションの表示名を入力します。アプリケーションを使用できるユーザー >[Accounts in this organizational directory only] (この組織ディレクトリのアカウントのみ) を指定します。
[登録] を選択して、初期のアプリ登録を完了します。
[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.ConditionalAccess
- User.Read.All
組織に管理者の同意を付与します
[Certificates & Secrets](証明書とシークレット) に移動し、新しいクライアント シークレットを生成して、それをメモします
[Overview](概要) に移動し、クライアント ID と テナント ID をメモします
Easy Button を構成する
APM* の [ガイド*付き構成*] を開始して、Easy Button テンプレート*を起動します。
[アクセス] > [ガイド付き構成] > [Microsoft 統合] に移動し、[Microsoft Entra アプリケーション] を選択します。
[次の手順に従ってソリューションを構成すると、必要なオブジェクトが作成されます] で、構成手順の一覧を確認し、[次へ] を選択します。
[ガイド付き構成] で、アプリケーションの公開に必要な一連の手順に従います。
Configuration Properties
[構成のプロパティ] タブでは、BIG-IP アプリケーション構成と SSO オブジェクトが作成されます。 [Azure サービス アカウントの詳細] セクションは、アプリケーションとして、以前に Microsoft Entra テナントに登録したクライアントを表すものとします。 これらの設定*により、BIG-IP* の OAuth クライアント*では、通常は手動で構成する* SSO* プロパティと共に、SAML SP をテナント*に直接個別に登録できるようになります。 Easy Button により、公開*されて SHA が有効になっているすべての BIG-IP* サービス*に対してこの操作が行われます。
これらの一部はグローバル設定であり、より多くのアプリケーションを発行するために再利用でき、デプロイの時間と労力がさらに短縮されます。
管理者が Easy Button 構成を容易に区別できる一意の構成名を指定します
[Single Sign-On (SSO) & HTTP Headers](シングル サインオン (SSO) と HTTP ヘッダー) を有効にします
メモした、登録したアプリケーションのテナント ID、クライアント ID、クライアント シークレットを入力します
[Next] (次へ) を選択する前に、BIG-IP がテナントに正常に接続できることを確認してください。
サービス プロバイダー
サービス* プロバイダー*設定*では、SHA によって保護されるアプリケーション*の SAML SP インスタンス*のプロパティを定義します。
ホストを入力します。 これは、セキュリティで保護されるアプリケーションのパブリック FQDN です
エンティティ ID を入力します。 これは、トークンを要求する SAML SP を識別するために Microsoft Entra ID によって使用される識別子です
次に、オプションの [セキュリティ設定] で、発行された SAML アサーションを Microsoft Entra ID で暗号化する必要があるかどうかを指定します。 Microsoft Entra ID と BIG-IP APM の間でアサーションを暗号化すると、コンテンツ トークンが傍受されないこと、および個人や会社のデータが侵害されないことが保証されます。
[アサーション解読秘密キー] の一覧から、[新規作成] を選択します
OK を選択します。 新しいタブで [Import SSL Certificate and Keys](SSL 証明書とキーのインポート) ダイアログが開きます
PKCS 12 (IIS) を選択して、証明書と秘密キーをインポートします。 プロビジョニングが完了したら、ブラウザー タブを閉じて、メイン タブに戻ります。
[Enable Encrypted Assertion](暗号化アサーションを有効にする) をオンにします
暗号化を有効にした場合は、[Assertion Decryption Private Key](アサーション解読秘密キー) の一覧から証明書を選択します。 これは、Microsoft Entra アサーションを解読するために BIG-IP APM で使用される証明書の秘密キーです。
暗号化を有効にした場合は、[Assertion Decryption Certificate](アサーション解読証明書) の一覧から証明書を選択します。 これは、発行された 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 の構成] ページで、[JD Edwards Protected by F5 BIG-IP]>[追加] を選択します。
Azure の構成
BIG-IP が Microsoft Entra テナントに作成するアプリの [表示名] と、MyApps ポータルでユーザーに表示されるアイコンを入力します。
[サインオン URL (オプション)] に、セキュリティで保護される JDE アプリケーションのパブリック FQDN を入力します。
[署名キー] と [署名証明書] の横にある更新アイコンを選択して、先ほどインポートした証明書を見つけます
[Signing Key Passphrase]\(署名キーのパスフレーズ) で証明書のパスワードを入力します
[署名オプション] (省略可能) を有効にします。 これにより、BIG-IP は、Microsoft Entra ID によって署名されたトークンと要求のみを受け入れるようになります
ユーザーとユーザー グループは、Microsoft Entra テナントから動的に照会され、アプリケーションへのアクセスを承認するために使用されます。 後でテストに使用できるユーザーまたはグループを追加します。それ以外の場合は、すべてのアクセスが拒否されます
ユーザー属性と要求
ユーザーが正常に認証されると、Microsoft Entra ID は、ユーザーを一意に識別する要求と属性の既定のセットを使用して SAML トークンを発行します。 [ユーザー属性と要求] タブには、新しいアプリケーションに対して発行する既定の要求が表示されます。 また、さらに多くの要求を構成することもできます。
必要に応じて、追加のMicrosoft Entra 属性を含めることができますが、Oracle JDE シナリオでは既定の属性のみが必要です。
追加のユーザー属性
[追加のユーザー属性] タブでは、セッション拡張のために、他のディレクトリに格納されている属性を必要とする、さまざまな分散システムをサポートできます。 次に、LDAP ソースからフェッチされた属性を追加の SSO ヘッダーとして挿入して、ロール、パートナー ID などに基づいてアクセスをさらに制御できます。
注
この機能は Microsoft Entra ID と相関関係はありませんが、属性のもう 1 つのソースです。
条件付きアクセス ポリシー
条件付きアクセス ポリシーは、デバイス、アプリケーション、場所、リスクの兆候に基づいてアクセスを制御するために、Microsoft Entra の事前認証後に適用されます。
既定では、[ 使用可能なポリシー] ビューには、ユーザーベースのアクションを含まないすべての条件付きアクセス ポリシーが一覧表示されます。
[選択されたポリシー] ビューには、既定で、すべてのリソースをターゲットとするすべてのポリシーが表示されます。 これらのポリシーは、テナント レベルで適用されるため、選択を解除したり、[使用可能なポリシー] リストに移動したりすることはできません。
公開されているアプリケーションに適用するポリシーを選択するには:
[Available Policies](使用可能なポリシー) リストで目的のポリシーを選択します
右矢印を選択して、これを [Selected Policies](選択されたポリシー) リストに移動します
選択されたポリシーについては、[含める] または [除外する] オプションをオンにする必要があります。 両方のオプションをオンにすると、ポリシーは適用されません。
注
ポリシーの一覧は、最初にこのタブに切り替えたときに 1 回だけ列挙されます。ウィザードから手動でテナントにクエリを実行するための更新ボタンが用意されていますが、このボタンはアプリケーションがデプロイされている場合にのみ表示されます。
仮想サーバーのプロパティ
仮想サーバーは BIG-IP データ プレーン オブジェクトであり、アプリケーションに対するクライアント要求をリッスンする仮想 IP アドレスで表されます。 受信したトラフィックは、ポリシーの結果と設定に従って送信される前に、仮想サーバーに関連付けられている APM プロファイルに対して処理および評価されます。
宛先アドレスを入力します。 これは、BIG-IP がクライアント トラフィックを受信するために使用できる任意の IPv4 または IPv6 アドレスです。 対応するレコードが DNS にも存在する必要があり、それによってクライアントでは、BIG-IP の公開済みアプリケーションの外部 URL を、アプリケーション自体ではなく、この IP に解決できるようになります。 テストでは、テスト PC の localhost DNS を使用しても問題ありません。
[Service Port](サービス ポート) で、HTTPS 用に「443」と入力します
[Enable Redirect Port](リダイレクト ポートを有効にする) をオンにし、リダイレクト ポートを入力します。 これにより、受信 HTTP クライアント トラフィックが HTTPS にリダイレクトされます
クライアント* SSL* プロファイル*を使用すると、HTTPS* 用の仮想サーバー*が有効になり、クライアント*接続が TLS* で暗号化されるようになります。 前提条件の一部として作成したクライアント* SSL* プロファイル*を選択するか、テスト*する場合は既定値*のままにします
プールのプロパティ
[Application Pool](アプリケーション プール) タブには、1 つまたは複数のアプリケーション サーバーを含むプールとして表される、BIG-IP の背後にあるサービスの詳細が表示されます。
[Select a Pool](プールの選択) から選択します。 新しいプールを作成するか、既存のプールを選択します
[Load Balancing Method](負荷分散方法) で、[Round Robin](ラウンド ロビン) を選択します
[プール サーバー] では、既存のノードを選択するか、Oracle JDE アプリケーションをホストするサーバーの IP とポートを指定します。
シングル サインオンと HTTP ヘッダー
Easy Button ウィザードでは、公開されたアプリケーションに対する SSO 用に、Kerberos、OAuth Bearer、HTTP Authorization ヘッダーがサポートされています。 Oracle JDE アプリケーションにはヘッダーが必要なため、[HTTP ヘッダー] を有効にして、以下のプロパティを入力します。
- ヘッダー操作: 置換
- ヘッダー名: JDE_SSO_UID
- ヘッダー値: %{session.sso.token.last.username}
注
中かっこ内で定義されている 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 インクルード オプションの概要」を参照してください。
まとめ
この最後の手順では、構成の概要を示します。 [デプロイ] を選択してすべての設定をコミットし、エンタープライズ アプリケーションのテナント リストにアプリケーションが表示されることを確認します。
関連コンテンツ
ブラウザーから Oracle JDE アプリケーションの外部 URL に接続するか、Microsoft MyApps ポータルでアプリケーションのアイコンを選択します。 Microsoft Entra ID への認証を行った後、アプリケーションの BIG-IP の仮想サーバーにリダイレクトされ、SSO を通じて自動的にサインイン処理が行われます。
このパターンを使用する組織では、セキュリティを強化するため、アプリケーションへのすべての直接アクセスをブロックすることで、BIG-IP 経由の厳密なパスを強制することもできます。
詳細なデプロイ
ガイド付き構成テンプレートには、より具体的な要件を実現するための柔軟性が足りない場合があります。 そうしたシナリオの場合は、ヘッダーベースの SSO の詳細構成に関するページを参照してください。 また、BIG-IP には、ガイド付き構成の厳格な管理モードを無効にするオプションが用意されています。 これにより、ウィザード ベースのテンプレートを使用して構成の大部分を自動化する場合でも、構成を手動で調整できるようになります。
[Access](アクセス) > [Guided Configuration] の順に移動して、アプリケーションの構成の行の右端にある小さな南京錠アイコンを選択します。
その時点で、ウィザード UI を使用した変更はできなくなりますが、アプリケーションの発行済みインスタンスに関連付けられているすべての BIG-IP オブジェクトは、直接管理のためにロック解除されます。
注
厳格モードを再度有効にし、構成を展開すると、ガイド付き構成 UI の外部で実行されるすべての設定が上書きされるため、運用サービスの高度な構成方法をお勧めします。
トラブルシューティング
さまざまな要因により、SHA によって保護されたアプリケーションにアクセスできない場合があります。 BIG-IP のログは、接続、SSO、ポリシー違反、正しく構成されていない変数マッピングなど、あらゆる種類の問題をすばやく区別するのに役立つ可能性があります。 ログの詳細レベルを上げることでトラブルシューティングを開始します。
[Access Policy](アクセス ポリシー) > [Overview](概要) > [Event Logs](イベント ログ) > [Settings](設定) に移動します
公開されたアプリケーションの行を選択し、[Edit](編集) > [Access System Logs](システム ログへのアクセス) を選択します
SSO の一覧から [Debug](デバッグ) を選択して、[OK] を選択します
問題を再現してからログを検査しますが、詳細モードでは大量のデータが生成されるため、終了したら忘れずに、これを元に戻してください。
Microsoft Entra 事前認証が成功した直後に、BIG-IP ブランドのエラーが表示される場合は、Microsoft Entra から BIG-IP への SSO に関連する問題が発生している可能性があります。
[Access](アクセス) > [Overview](概要) > [Access reports](レポートへのアクセス) に移動します。
過去 1 時間のレポートを実行して、ログに手がかりがないかどうかを確認します。 セッションに対する [セッションの表示] 変数リンクも、APM が Microsoft Entra ID から予想される要求を受信しているかどうかを把握するのに役立ちます。
BIG-IP のエラー ページが表示されない場合は、問題は、バックエンド要求や、BIG-IP からアプリケーションへの SSO に関係している可能性が高くなります。
その場合は、[アクセス ポリシー] > [概要] > [アクティブ セッション] の順に進み、アクティブ セッションのリンクを選択します
この場所の [変数の表示] リンクは、SSO の問題の根本原因にも役立つ場合があります。特に、BIG-IP APM が Microsoft Entra ID または別のソースから適切な属性を取得できない場合
詳細については、BIG-IP APM 変数の割り当ての例と F5 BIG-IP セッション変数リファレンスを参照してください。