チュートリアル: Oracle EBS への SSO 用に F5 BIG-IP Easy Button を構成する
F5 BIG-IP Easy Button のガイド付き構成で Microsoft Entra ID を使用して Oracle E-Business Suite (EBS) をセキュリティで保護する方法について説明します。 BIG-IP と Microsoft Entra ID の統合には、次のようなさまざまな利点があります。
- Microsoft Entra 事前認証と条件付きアクセスによるゼロ トラスト ガバナンスの改善
- 「条件付きアクセスとは」を参照してください。
- 「ゼロ トラスト セキュリティ」を参照してください
- Microsoft Entra ID と BIG-IP の公開済みサービス間の完全な SSO
- マネージド ID と 1 つのコントロール プレーンからのアクセス
- 「Microsoft Entra 管理センター」を参照してください
詳細情報:
シナリオの説明
このシナリオでは、HTTP 認証ヘッダーを使用して保護されたコンテンツへのアクセスを管理する従来の Oracle EBS アプリケーションを説明します。
レガシ アプリケーションには、Microsoft Entra 統合をサポートするための最新のプロトコルがありません。 最新化にはコストも時間もかかり、ダウンタイムのリスクが生じます。 代わりに、プロトコルを切り換えて、F5 BIG-IP Application Delivery Controller (ADC) を使用して、レガシ アプリケーションと最新の ID コントロール プレーンとの間のギャップを埋めます。
アプリの手前の BIG-IP が、Microsoft Entra の事前認証とヘッダーベース SSO をサービスにオーバーレイできるようにします。 この構成により、アプリケーションのセキュリティ態勢が向上します。
シナリオのアーキテクチャ
セキュア ハイブリッド アクセス (SHA) ソリューションは、次のコンポーネントで構成されています。
- Oracle EBS アプリケーション - 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 セッション属性を提供します
- Oracle Internet Directory (OID) - ユーザー データベースをホストします
- BIG-IP では、LDAP を使用して認可属性を検証します
- Oracle E-Business Suite AccessGate - OID サービスで認可属性を検証し、EBS アクセス Cookie を発行します
- BIG-IP - アプリケーションへのリバース プロキシおよび SAML サービス プロバイダー (SP)
- 認証が SAML IdP に委任された後、Oracle アプリケーションへのヘッダーベースの SSO が発生します
SHA では、SP と IdP によって開始されるフローがサポートされます。 次の図は、SP によって開始されるフローを示しています。
- ユーザーがアプリケーション エンドポイント (BIG-IP) に接続します。
- BIG-IP APM アクセス ポリシーにより、ユーザーが Microsoft Entra ID (SAML IdP) にリダイレクトされます。
- Microsoft Entra がユーザーを事前認証し、条件付きアクセスのポリシーを適用します。
- ユーザーは BIG-IP (SAML SP) にリダイレクトされ、発行された SAML トークンを使用して SSO が実行されます。
- BIG-IP によって、ユーザーの一意の ID (UID) 属性に対して LDAP クエリが実行されます。
- BIG-IP によって、返された UID 属性が、Oracle EBS セッション Cookie 要求の user_orclguid ヘッダーとして Oracle AccessGate に挿入されます。
- Oracle AccessGate によって、OID サービスに対して UID が検証され、Oracle EBS アクセス Cookie が発行されます。
- Oracle EBS ユーザー ヘッダーと Cookie がアプリケーションに送信され、ユーザーにペイロードが返されます。
前提条件
次のコンポーネントが必要です。
- Azure サブスクリプション
- お持ちでない場合は、Azure 無料アカウントを取得してください。
- クラウド アプリケーション管理者またはアプリケーション管理者ロール。
- BIG-IP、または Azure に BIG-IP Virtual Edition (VE) をデプロイします
- 「F5 BIG-IP Virtual Edition VM を Azure にデプロイする」を参照してください
- 次のいずれかの 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 Connect 同期: 同期を理解してカスタマイズする」を参照してください
- HTTPS でサービスを公開するための SSL 証明書。または、テスト中は既定の証明書を使用します
- 「SSL プロファイル」を参照してください
- Oracle EBS、Oracle AccessGate、LDAP 対応 Oracle Internet Database (OID)
BIG-IP の構成方法
このチュートリアルでは、Guided Configuration v16.1 Easy Button テンプレートを使用します。 Easy Button を使用すると、管理者は SHA のサービスを有効にするために行き来する必要がなくなります。 APM のガイド付き構成ウィザードと Microsoft Graph によって、デプロイとポリシー管理が処理されます。 この統合により、アプリケーションでは確実に ID フェデレーション、SSO、条件付きアクセスをサポートでき、管理オーバーヘッドが軽減されます。
注意
サンプルの文字列や値は、お使いの環境のものに置き換えてください。
Easy Button を登録する
ヒント
この記事の手順は、開始するポータルによって若干異なる場合があります。
クライアントまたはサービスは、Microsoft Graph にアクセスする前に、Microsoft ID プラットフォームによって信頼される必要があります。
詳細情報: クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録する
Graph への Easy Button アクセスを認可するために、テナント アプリの登録を作成します。 BIG-IP は、公開アプリケーションの SAML SP インスタンスと、SAML IdP としての Microsoft Entra ID との間に信頼を確立するための構成をプッシュします。
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[アプリの登録]>[新しい登録] の順に移動します。
アプリケーションの名前を入力します。 たとえば、F5 BIG-IP Easy Button です
アプリケーションを使用できるユーザー >[Accounts in this organizational directory only] (この組織ディレクトリのアカウントのみ) を指定します。
[登録] を選択します。
[API permissions] (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
組織に管理者の同意を付与します。
[証明書とシークレット] にアクセスします。
新しいクライアント シークレットを生成します。 クライアント シークレットをメモします。
[概要] に移動します。 クライアント ID とテナント ID をメモします。
Easy Button を構成する
APM Guided Configuration (ガイド付き構成) を開始します。
Easy Button テンプレートを開始します。
[Access](アクセス) > [Guided Configuration] > [Microsoft Integration](Microsoft 統合) に移動します。
[Microsoft Entra アプリケーション] を選択します。
構成オプションを確認します。
[次へ] を選択します。
アプリケーションの発行に役立つ図を使用します。
Configuration Properties
[構成のプロパティ] タブでは、BIG-IP アプリケーション構成と SSO オブジェクトが作成されます。 [Azure Service Account Details] (Azure サービス アカウントの詳細) セクションは、アプリケーションとして Microsoft Entra テナントに登録したクライアントを表します。 BIG-IP OAuth クライアントでは、これらの設定を使用して、SSO プロパティと共に SAML SP をテナントに登録します。 Easy Button により、発行されて SHA が有効になっている BIG-IP サービスに対してこのアクションが実行されます。
時間と労力を削減するために、グローバル設定を再利用して他のアプリケーションを発行します。
- 構成名を入力します。
- [シングル サインオン (SSO) と HTTP ヘッダー] で、[オン] を選びます。
- [テナント ID]、[クライアント ID]、[クライアント シークレット] には、Easy Button クライアント登録時にメモした内容を入力します。
- BIG-IP がテナントに接続されたことを確認します。
- [次へ] を選択します。
サービス プロバイダー
保護されたアプリケーションの SAML SP インスタンスのプロパティには、サービス プロバイダー設定を使用します。
[ホスト] には、アプリケーションのパブリック FQDN を入力します。
[エンティティ ID] には、トークンを要求する SAML SP に対して Microsoft Entra ID が使用する識別子を入力します。
(省略可能) [セキュリティ設定] で、[暗号化アサーションを有効にする] オプションをオンまたはオフにします。 Microsoft Entra ID と BIG-IP APM との間でアサーションを暗号化することは、コンテンツ トークンが傍受されないこと、および個人や会社のデータが侵害されないことを意味します。
[アサーション解読秘密キー] の一覧から、[新規作成] を選択します
[OK] を選択します。
新しいタブで [SSL 証明書とキーのインポート] ダイアログが表示されます。
[PKCS 12 (IIS)] を選択します。
証明書と秘密キーがインポートされます。
ブラウザー タブを閉じて、メイン タブに戻ります。
[暗号化アサーションを有効にする] をオンにします。
有効にする暗号化に対して、Microsoft Entra アサーションの暗号化解除に BIG-IP APM が使用する証明書の秘密キーを、[Assertion Decryption Private Key] (アサーション解読秘密キー) の一覧から選択します。
有効にする暗号化に対して、発行された SAML アサーションを暗号化するために BIG-IP が Microsoft Entra ID にアップロードする証明書を、[Assertion Decryption Certificate] (アサーション解読証明書) の一覧から選択します。
Microsoft Entra ID
Easy Button には、Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP 用のアプリケーション テンプレートと、汎用の SHA テンプレートが用意されています。 次のスクリーンショットは、[Azure の構成] の下にある [Oracle E-Business Suite] オプションです。
- [Oracle E-Business Suite] を選択します。
- [追加] を選択します。
Azure 構成
BIG-IP が Microsoft Entra テナント内に作成するアプリと、MyApps のアイコンの [表示名] を入力します。
[サインオン URL (省略可能)] に、EBS アプリケーションのパブリック FQDN を入力します。
Oracle EBS ホームページの既定のパスを入力します。
[署名キー] と [署名証明書] の横にある更新アイコンを選択します。
インポートした証明書を見つけます。
[署名キーのパスフレーズ] に証明書のパスワードを入力します。
(省略可能) [署名オプション] を有効にします。 このオプションにより、Microsoft Entra ID によって署名されたトークンとクレームを BIG-IP が受け入れるようになります。
[ユーザーとユーザー グループ] には、テストに使うユーザーまたはグループを追加します。そうしないと、すべてのアクセスが拒否されます。 ユーザーとユーザー グループは、Microsoft Entra テナントから動的に照会され、アプリケーションへのアクセスを承認します。
ユーザー属性とクレーム
ユーザーが認証されると、Microsoft Entra ID は、ユーザーを識別する既定のクレームと属性を使用して SAML トークンを発行します。 [ユーザー属性と要求] タブには、新しいアプリケーションのために発行する既定の要求が表示されます。 さらに要求を構成するには、この領域を使用します。 必要に応じて Microsoft Entra 属性を追加しますが、Oracle EBS シナリオでは既定の属性が必要です。
追加のユーザー属性
[追加のユーザー属性] タブでは、セッション拡張用のディレクトリに格納されている属性を必要とする分散システムがサポートされます。 LDAP ソースからフェッチされた属性を追加の SSO ヘッダーとして挿入して、ロール、パートナー ID などに基づいてアクセスを制御します。
[詳細設定] オプションを有効にします。
[LDAP 属性] チェック ボックスをオンにします。
[認証サーバーの選択] で [新規作成] を選択します。
実際の設定に応じて、ターゲット LDAP サービスのサーバー アドレスに [Use pool](プールを使用) または [Direct](直接) サーバー接続モードを選択します。 単一の LDAP サーバーの場合は、[Direct](直接) を選択します。
[サービス ポート] には、「3060」 (既定値)、「3161」 (セキュア)、または Oracle LDAP サービス用の別のポートを入力します。
[基本検索 DN] を入力します。 識別名 (DN) を使用して、ディレクトリ内のグループを検索します。
[管理者の DN] には、APM が LDAP クエリの認証に使用するアカウント識別名を入力します。
[管理パスワード] には、パスワードを入力します。
既定の [LDAP Schema Attributes](LDAP スキーマ属性) をそのまま使用します。
[LDAP クエリのプロパティ] の [検索 DN] に、ユーザー オブジェクト検索用の LDAP サーバー ベース ノードを入力します。
[必須属性] には、LDAP ディレクトリから返されるユーザー オブジェクト属性名を入力します。 EBS の場合、既定値は orclguid です。
条件付きアクセス ポリシー
条件付きアクセスのポリシーは、デバイス、アプリケーション、場所、リスクの兆候に基づいてアクセスを制御します。 ポリシーは、Microsoft Entra の事前認証後に適用されます。 [使用可能なポリシー] ビューには、ユーザー アクションのない条件付きアクセス ポリシーがあります。 [選択されたポリシー] ビューには、クラウド アプリのポリシーがあります。 これらのポリシーは、テナント レベルで適用されるため、選択解除することも、[使用可能なポリシー] に移動することもできません。
公開されるアプリケーションのポリシーを選択するには、以下の手順を実行します。
[使用可能なポリシー] でポリシーを選択します。
右矢印を選択します。
ポリシーを [選択されたポリシー] に移動します。
注意
一部のポリシーでは、[含める] または [除外する] オプションが選択されています。 両方のオプションがオンになっている場合、そのポリシーは適用されません。
注意
[条件付きアクセス ポリシー] タブを選択すると、ポリシーの一覧が表示されます。 [最新の情報に更新] を選択すると、ウィザードによってテナントが照会されます。 デプロイされたアプリケーションの更新が表示されます。
仮想サーバーのプロパティ
仮想サーバーは BIG-IP データ プレーン オブジェクトであり、アプリケーション クライアント要求をリッスンする仮想 IP アドレスで表されます。 受信されたトラフィックは処理され、仮想サーバーに関連する APM プロファイルに対して評価されます。 その後、トラフィックはポリシーに従って送信されます。
[Destination Address] (宛先アドレス) に、BIG-IP でクライアント トラフィックの受信に使用する IPv4 または IPv6 アドレスを入力します。 クライアントが BIG-IP で発行済みのアプリケーションの外部 URL をこの IP に解決できるようにする、DNS 内の対応するレコードを確保してください。 テストのために、テスト コンピューターの localhost DNS を使用します。
[Service Port] (サービス ポート) には「443」と入力し、[HTTPS] を選びます。
[リダイレクト ポートを有効にする] を選択します。
[リダイレクト ポート] には「80」と入力し、[HTTP] を選択します。 このアクションにより、受信 HTTP クライアント トラフィックが HTTPS にリダイレクトされます。
作成したクライアント SSL プロファイルを選びます。または、テストの場合には既定値のままにします。 クライアント SSL プロファイルを使用すると、HTTPS 用の仮想サーバーが有効になります。 クライアント接続は TLS 経由で暗号化されます。
プールのプロパティ
[Application Pool] (アプリケーション プール) タブには、BIG-IP の背後にあるサービスがあります。これは、1 つ以上のアプリケーション サーバーが含まれるプールです。
[Select a Pool] (プールの選択) から、[Create New] (新規作成) を選ぶか、別のオプションを選びます。
[Load Balancing Method] (負荷分散方法) では、[Round Robin] (ラウンド ロビン) を選びます。
[プール サーバー] で、Oracle EBS をホストするサーバーの [IP Address/Node Name] (IP アドレスとノード名) と [ポート] を選択して入力します。
[HTTPS] を選択します。
[アクセス ゲート プール] で、[アクセス ゲート サブパス] を確認します。
[プール サーバー] で、Oracle EBS をホストするサーバーの [IP Address/Node Name] (IP アドレスとノード名) と [ポート] を選択して入力します。
[HTTPS] を選択します。
シングル サインオンと HTTP ヘッダー
Easy Button ウィザードでは、公開済みアプリケーションへの SSO のために、Kerberos、OAuth Bearer、HTTP 承認ヘッダーがサポートされています。 Oracle EBS アプリケーションではヘッダーが必要であるため、HTTP ヘッダーを有効にします。
[シングル サインオンと HTTP ヘッダー] で、[HTTP ヘッダー] を選択します。
[ヘッダー操作] で、[replace] (置換) を選びます。
[ヘッダー名] に「USER_NAME」と入力します。
[ヘッダー値] に「%{session.sso.token.last.username}」と入力します。
[ヘッダー操作] で、[replace] (置換) を選びます。
[ヘッダー名] に「USER_ORCLGUID」と入力します。
[ヘッダー値] に「%{session.ldap.last.attr.orclguid}」と入力します。
Note
中かっこ内の 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 とクライアント間のセッションが終了します。
Microsoft マイ アプリを参照してください
発行済みアプリケーションの SAML フェデレーション メタデータがテナントからインポートされます。 このアクションによって、Microsoft Entra ID の SAML サインアウト エンドポイントが APM に提供されます。 次に、SP Initiated サインアウトが、クライアントと 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 をトリガーします。
詳細情報:
- PeopleSoft SLO ログアウト
- support.f5.com にアクセスして、以下を参照してください。
デプロイ
- 設定をコミットするには、[Deploy] (デプロイ) を選びます。
- テナントの [エンタープライズ アプリケーション] の一覧にアプリケーションが表示されていることを確認します。
テスト
- ブラウザーから、Oracle EBS アプリケーションの外部 URL に接続するか、マイ アプリのアプリケーションのアイコンを選択します。
- Microsoft Entra ID に対して認証を行います。
- アプリケーションの BIG-IP 仮想サーバーにリダイレクトされ、SSO でサインインされます。
セキュリティを向上させるには、アプリケーションへの直接アクセスをブロックして、BIG-IP を介したパスを強制します。
詳細なデプロイ
ガイド付き構成テンプレートに要件の柔軟性が欠けている場合があります。
詳細情報: チュートリアル: ヘッダーベースの SSO 用に F5 BIG-IP の Access Policy Manager を構成する。
構成を手動で変更する
別の方法として、BIG-IP でガイド付き構成の厳格な管理モードを無効にして、構成を手動で変更します。 ウィザード テンプレートによって、ほとんどの構成が自動化されます。
[アクセス] > [ガイド付き構成] に移動します。
アプリケーション構成の行の右端で、南京錠アイコンを選択します。
厳格モードを無効にした後は、ウィザードで変更することはできません。 ただし、発行済みのアプリ インスタンスに関連する BIG-IP オブジェクトは、管理のためにロック解除されます。
注意
厳格モードを再度有効にすると、新しい構成によって、ガイド付き構成なしで実行された設定が上書きされます。 運用サービスに対しては詳細構成の方式をお勧めします。
トラブルシューティング
次の手順を実行すると、問題のトラブルシューティングに役立ちます。
ログの詳細度を上げる
BIG-IP のログを使用して、接続、SSO、ポリシー違反、正しく構成されていない変数マッピングなどの問題を分離します。 ログの詳細レベルを上げます。
- [Access Policy] (アクセス ポリシー) > [Overview] (概要) > [Event Logs] (イベント ログ) に移動します。
- [設定] を選択します。
- 発行されたアプリケーションの行を選択します。
- [編集] > [システム ログへのアクセス] を選択します。
- SSO の一覧から [デバッグ] を選びます。
- [OK] を選択します。
- 問題を再現します。
- ログを調べます。
詳細モードでは過剰なデータが生成されるため、設定の変更を元に戻します。
BIG-IP エラー メッセージ
Microsoft Entra の事前認証後に BIG-IP のエラーが表示される場合は、問題が Microsoft Entra ID と BIG-IP の SSO に関連している可能性があります。
- [**アクセス] > [概要] に移動します。
- [Access reports] (レポートへのアクセス) を選びます。
- 直近 1 時間のレポートを実行します。
- ログに手がかりがないか確認します。
ご使用のセッションの [View session] (セッションの表示) リンクを使用して、APM が予想される Microsoft Entra クレームを受信したことを確認します。
BIG-IP エラー メッセージなし
BIG-IP エラー ページが表示されない場合、問題はバックエンド要求、または BIG-IP とアプリケーションの SSO に関連している可能性があります。
- [Access Policy] (アクセス ポリシー) > [Overview] (概要) に移動します。
- [アクティブ セッション] を選びます。
- アクティブなセッションのリンクを選択します。
[View Variables] (変数の表示) リンクを使用して、SSO の問題を調査します (特に BIG-IP APM が Microsoft Entra ID または別のソースから適切な属性を取得しない場合)。
詳細情報:
- devcentral.f5.com にアクセスして、「APM 変数の割り当ての例」を参照してください
- techdocs.f5.com にアクセスして、手動チャプター: セッション変数に関する記事を参照してください
APM サービス アカウントを検証する
次の bash シェル コマンドを使用して、LDAP クエリの APM サービス アカウントを検証します。 このコマンドによって、ユーザー オブジェクトの認証とクエリが実行されます。
ldapsearch -xLLL -H 'ldap://192.168.0.58' -b "CN=oraclef5,dc=contoso,dc=lds" -s sub -D "CN=f5-apm,CN=partners,DC=contoso,DC=lds" -w 'P@55w0rd!' "(cn=testuser)"
詳細情報:
- support.f5.com にアクセスして、「K11072: AD 向けの LDAP リモート認証の構成」を参照してください
- techdocs.f5.com にアクセスして、「手動チャプター: LDAP クエリ」を参照してください