次の方法で共有


チュートリアル: SAP ERP への SSO 用に F5 の BIG-IP Easy Button を構成する

この記事では、F5 BIG-IP Easy Button ガイド付き構成 16.1 で、Microsoft Entra ID を使用して SAP Enterprise Resource Planning (ERP) をセキュリティで保護する方法について説明します。 BIG-IP と Microsoft Entra ID の統合には、多くの利点があります。

詳細情報:

シナリオの説明

このシナリオでは、SAP ERP アプリケーションによって、Kerberos 認証を使用して保護されたコンテンツへのアクセスを管理します。

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

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

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

セキュア ハイブリッド アクセス (SHA) ソリューションは、次のコンポーネントで構成されています。

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

SHA では、SP と IdP によって開始されるフローがサポートされます。 次の図は、SP Initiated フローを示しています。

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

  1. ユーザーがアプリケーション エンドポイント (BIG-IP) に接続します。
  2. BIG-IP Access Policy Manager (APM) アクセス ポリシーにより、ユーザーが Microsoft Entra ID (SAML IdP) にリダイレクトされます。
  3. Microsoft Entra ID によって、ユーザーの事前認証と、条件付きアクセス ポリシーの適用が行われます。
  4. ユーザーは BIG-IP (SAML SP) にリダイレクトされ、発行された SAML トークンを使用して SSO が実行されます。
  5. BIG-IP は、キー配布センター (KDC) から Kerberos チケットを要求します。
  6. BIG-IP がバックエンド アプリケーションに対し、SSO 用の Kerberos チケットとともに要求を送信する
  7. アプリケーションが要求を承認し、ペイロードを返します。

前提条件

BIG-IP の構成方法

このチュートリアルでは、Easy Button テンプレートを備えたガイド付き構成 16.1 を使用します。 Easy Button を使用すると、管理者は Microsoft Entra ID と BIG-IP の間を移動せずに SHA のサービスを有効化できます。 APM のガイド付き構成ウィザードと Microsoft Graph によって、デプロイとポリシー管理が処理されます。 この統合により、アプリケーションでは ID フェデレーション、SSO、条件付きアクセスのサポートが確保されます。

Note

このガイドの文字列または値の例は、実際の環境のものに置き換えてください。

Easy Button を登録する

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

クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください

Microsoft Entra ID で Easy Button クライアントを登録すると、BIG-IP 公開アプリケーションの SAML SP インスタンスと、SAML IdP としての Microsoft Entra ID の間の信頼が確立されます。

  1. Microsoft Entra 管理センターに、少なくともクラウド アプリケーション管理者としてサインインします。

  2. [Entra ID]>[アプリの登録]>[新規登録] にアクセスします。

  3. 新しいアプリケーションの名前を入力 します

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

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

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

  7. 次の 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
  8. 組織に管理者の同意を付与します。

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

  10. シークレットをメモします。

  11. [概要] から、クライアント IDテナント ID を書き留めます。

Easy Button を構成する

  1. APM Guided Configuration (ガイド付き構成) を開始します。
  2. Easy Button テンプレートを起動します。
  3. ブラウザーから F5 BIG-IP 管理コンソールにサインインします。
  4. Access > ガイド付き構成> Microsoft Integration に移動します。
  5. Microsoft Entra アプリケーションを選択します
  6. 構成ファイルリストを確認します。
  7. [ 次へ] を選択します。
  8. Microsoft Entra Application Configuration の下の構成シーケンスに従います。

構成シーケンスのスクリーンショット。

構成プロパティ

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

Note

一部の設定はグローバルであり、より多くのアプリケーションを公開するために再利用できます。

  1. 構成名を入力します。 一意の名前を使用すると、Easy Button の構成が区別されます。
  2. [シングル Sign-On (SSO) と HTTP ヘッダー] で、[オン] を選択します。
  3. [テナント ID]、[クライアント ID]、[クライアント シークレット] に、テナント登録時に指定したテナント ID、クライアント ID、およびクライアント シークレットを入力します。
  4. [ テスト接続] を選択します。 このアクションにより、BIG-IP がテナントに接続されたことを確認します。
  5. [ 次へ] を選択します。

サービス プロバイダー

[サービス プロバイダー] 設定を使用して、SHA によってセキュリティ保護されたアプリケーションの SAML SP インスタンス プロパティを定義します。

  1. [ホスト] に、セキュリティで保護されているアプリケーションのパブリック完全修飾ドメイン名 (FQDN) を入力します。

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

    サービス プロバイダーのオプションと選択のスクリーンショット。

  3. (省略可能) セキュリティ設定 を使用して、発行された SAML アサーションを Microsoft Entra ID で暗号化することを示します。 Microsoft Entra ID と BIG-IP APM 間の暗号化されたアサーションにより、コンテンツ トークンが傍受されることや、データが侵害されないことへの信頼が高まります。

  4. Assertion Decryption 秘密キーから、[新規作成] を選択します。

    [Assertion Decryption 秘密キー] リストの [新規作成] オプションのスクリーンショット。

  5. [ OK] を選択します

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

  7. 証明書と秘密キーをインポートするには、 PKCS 12 (IIS) を選択します。

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

    [SSL 証明書とキーのインポート] のオプションと選択のスクリーンショット。

  9. [ 暗号化されたアサーションを有効にする] で、チェック ボックスをオンにします。

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

  11. 暗号化を有効にした場合は、[ Assertion Decryption Certificate]\(アサーション復号化証明書 \) の一覧から、発行された SAML アサーションを暗号化するために Microsoft Entra ID にアップロード BIG-IP 証明書を選択します。

サービス プロバイダーのオプションと選択のスクリーンショット。

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

Easy Button には、Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP 用のアプリケーション テンプレートと、汎用の SHA テンプレートが用意されています。

  1. Azure 構成を開始するには、 SAP ERP Central Component > Add を選択します。

    Azure Configuration の SAP ERP Central Component オプションと [追加] ボタンのスクリーンショット。

    Note

    Microsoft Entra テナントで新しい BIG-IP SAML アプリケーションを手動で構成する場合は、以下のセクションの情報を使用できます。

Azure の構成

  1. [表示名] に、Microsoft Entra テナントで BIG-IP が作成したアプリの名前を入力します。 マイ アプリ ポータルのアイコンに名前が表示されます。

  2. (省略可能) サインオン URL (省略可能) は空白のままにします。

    [表示名] と[サインオン URL] のエントリのスクリーンショット。

  3. [署名キー] の横にある [更新] を選択します

  4. [ 署名証明書] を選択します。 このアクションで、入力した証明書を検索します。

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

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

    署名キー、署名証明書、および署名キー パスフレーズのエントリのスクリーンショット。

  7. ユーザーとユーザー グループ は、Microsoft Entra テナントから動的に照会されます。 グループがあると、アプリケーションへのアクセスを承認しやすくなります。

  8. テストに使用するユーザーまたはグループを追加します。そうしないと、アクセスが拒否されます。

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

ユーザー属性と要求

ユーザーが Microsoft Entra ID への認証を行うと、ユーザーを識別する既定の要求と属性を使用して SAML トークンを発行します。 [ ユーザー属性と要求 ] タブには、新しいアプリケーションに対して発行する既定の要求が表示されます。 それを使用して、より多くの要求を構成します。

このチュートリアルは、内部および外部で使用される .com ドメイン サフィックスを基に作成されています。 機能する Kerberos の制約付き委任 (KCD) の SSO 実装を実現するために、その他の属性は必要ありません。

[ユーザー属性] > [要求] タブのスクリーンショット。

より多くの Microsoft Entra 属性を含めることができます。 このチュートリアルでは、SAP ERP に既定の属性が必要です。

詳細情報: チュートリアル: Kerberos 認証用に F5 BIG-IP Access Policy Manager を構成する。 別のサフィックスを使用する複数のドメインまたはユーザーのサインインに関する手順を参照してください。

追加のユーザー属性

[ 追加のユーザー属性 ] タブでは、セッション拡張のために、他のディレクトリに格納されている属性を必要とする分散システムがサポートされます。 次に、Lightweight Directory Access Protocol (LDAP) ソースからの属性を追加の SSO ヘッダーとして挿入すると、ロールベースのアクセス、パートナー ID などを制御できます。

Note

この機能は Microsoft Entra ID と相関関係ありません。別の属性ソースです。

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

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

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

[選択したポリシー] ビューには、クラウド アプリを対象とするポリシーが一覧表示されます。 これらのポリシーはテナント レベルで適用され、選択解除することも、[使用可能なポリシー] リストに移動することもできません。

公開されるアプリケーションのポリシーを選択するには、以下の手順を実行します。

  1. 使用可能なポリシーの一覧から、ポリシーを選択します。
  2. 右矢印を選択します。
  3. ポリシーを 選択したポリシー の一覧に移動します。

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

[選択したポリシー] の除外されたポリシーのスクリーンショット。

Note

このタブを最初に選択すると、ポリシーの一覧が表示されます。 [更新 ] ボタンを使用してテナントのクエリを実行します。 アプリケーションがデプロイされると、更新内容が表示されます。

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

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

  1. 宛先アドレスを入力します。 BIG-IP でクライアント トラフィックを受信するために使用される IPv4/IPv6 アドレスを使用します。 対応するレコードは、ドメイン ネーム サーバー (DNS) に存在します。これにより、クライアントは BIG-IP 公開アプリケーションの外部 URL をこの IP アドレスに解決できます。 テストのために、テスト コンピューターの localhost DNS を使用できます。
  2. [サービス ポート] に「443」と入力します
  3. [HTTPS] を選択します。
  4. [ Enable Redirect Port]\(リダイレクト ポートを有効にする\) で、チェック ボックスをオンにします。
  5. [リダイレクト ポート] に番号を入力し、[HTTP] を選択します。 このオプションにより、受信 HTTP クライアント トラフィックが HTTPS にリダイレクトされます。
  6. 作成した クライアント SSL プロファイル を選択します。 または、テスト用に既定値のままにします。 クライアント SSL プロファイルを使用すると、HTTPS 用の仮想サーバーが有効になり、クライアント接続がトランスポート層セキュリティ (TLS) で暗号化されるようになります。

仮想サーバーのプロパティのオプションと選択のスクリーンショット。

プールのプロパティ

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

  1. [ プールの選択] で、[ 新規作成] を選択するか、プールを選択します。

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

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

    アプリケーション プールのオプションと選択のスクリーンショット。

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

SSO を使用すると、ユーザーは資格情報を入力することなく、BIG-IP で発行済みのサービスにアクセスできます。 Easy Button ウィザードでは、SSO 用に Kerberos、OAuth Bearer、HTTP Authorization ヘッダーがサポートされています。 次の手順では、作成した Kerberos 委任アカウントが必要です。

  1. [シングル サインオン& HTTP ヘッダー][詳細設定]で、[オン] を選択します。

  2. [選択されたシングル サインオンの種類]で、[Kerberos] を選択します。

  3. [Username Source]\(ユーザー名ソース\) に、ユーザー ID ソースとしてセッション変数を入力します。 session.saml.last.identity は、サインインしているユーザー ID と共に Microsoft Entra 要求を保持します。

  4. ユーザー・ドメインが BIG-IP kerberos 領域と異なる場合は、ユーザー 領域ソース ・オプションが必要です。 したがって、APM セッション変数には、サインインしているユーザー ドメインが含まれます。 たとえば、「 session.saml.last.attr.name.domain 」のように入力します。

    シングル サインオンと HTTP ヘッダーのオプションと選択のスクリーンショット。

  5. KDC の場合は、ドメイン コントローラーの IP、または DNS が構成されている場合は FQDN を入力します。

  6. UPN サポートの場合は、チェック ボックスをオンにします。 APM では、kerberos チケット発行にユーザー プリンシパル名 (UPN) を使用します。

  7. SPN パターンの場合は、「HTTP/%h」と入力します。 このアクションでは、クライアント要求ホスト ヘッダーを使用して、APM に対し Kerberos トークンを要求しているサービス プリンシパル名 (SPN) をビルドするように通知します。

  8. [承認の送信] では、認証をネゴシエートするアプリケーションのオプションを無効にします。 たとえば、 Tomcat です。

    SSO メソッド構成のオプションと選択のスクリーンショット。

セッションの管理

BIG-IP セッション管理設定を使用して、ユーザー セッションの終了または継続の条件を定義します。 条件には、ユーザーと IP アドレスの制限、および対応するユーザー情報が含まれます。

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

運用ガイドでは、シングル ログアウト (SLO) についての記載はありません。 ユーザーがサインアウトした場合、この機能により IdP、BIG-IP、ユーザー エージェント間のセッションが確実に終了します。Easy Button により、SAML アプリケーションが Microsoft Entra テナントに SAML アプリケーションをデプロイします。 ログアウト URL に APM SLO エンドポイントを設定します。 マイ アプリ ポータルから IdP によって開始されたサインアウトにより、BIG-IP とクライアント セッションが終了します。

デプロイ時に、テナントから公開アプリケーションの SAML フェデレーション メタデータがインポートされます。 このアクションにより、APM に Microsoft Entra ID の SAML サインアウト エンドポイントが提供され、SP が開始したサインアウトによってクライアントと Microsoft Entra のセッションが終了します。

配置

  1. [ デプロイ] を選択します
  2. アプリケーションがテナントの エンタープライズ アプリケーション の一覧に含まれているかどうかを確認します。
  3. ブラウザーで、アプリケーションの外部 URL に接続するか、[マイ アプリ] でアプリケーション アイコンを選択します。
  4. Microsoft Entra ID に対して認証します。
  5. BIG-IP 仮想サーバーにリダイレクトされ、SSO を通じてサインインされます。

セキュリティを強化するため、アプリケーションへの直接アクセスをブロックして、BIG-IP を介したパスを適用できます。

詳細なデプロイ

ガイド付き構成テンプレートは、柔軟性が不足している場合があります。

詳細情報: チュートリアル: Kerberos 認証用に F5 BIG-IP Access Policy Manager を構成する。

厳格な管理モードを無効化する

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

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

  2. アプリケーション構成の行の最後で、 南京錠を選択します。

  3. 公開アプリケーションに関連する BIG-IP オブジェクトは、管理のためにロック解除されます。 ウィザード UI を介した変更はできなくなります。

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

    Note

    厳格な管理モードを再有効化して、ガイド付き構成 UI 以外の設定を上書きする構成をデプロイするには、運用サービス向けの詳細構成の方式をお勧めします。

トラブルシューティング

SHA で保護されたアプリケーションにアクセスできない場合は、次のトラブルシューティング ガイダンスを参照してください。

  • Kerberos は時刻に依存します。 サーバーとクライアントが正しい時刻に設定され、信頼性の高いタイム ソースと同期されていることを確認します。
  • ドメイン コントローラーと Web アプリのホスト名が DNS で解決されることを確認します。
  • 環境内に重複する SPN がないことを確認します。
    • ドメイン コンピューターのコマンド ラインで、setspn -q HTTP/my_target_SPN のクエリを使用します。

インターネット インフォメーション サービス (IIS) アプリケーションの KCD 構成を検証するには、「アプリケーション プロキシの KCD 構成のトラブルシューティング」を参照してください。

techdocs.f5.comに移動して、Kerberos のシングル サインオン方法をご覧ください。

ログ分析

ログの冗長性

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. [Access > Overview] に移動します。
  2. [ レポートへのアクセス] を選択します。
  3. 直近 1 時間のレポートを実行します。
  4. ログを調べます。

現在のセッションの [セッション変数の表示] リンクを使用して、APM が予想される Microsoft Entra 要求を受け取るかどうかを確認します。

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

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

  1. アクセス ポリシー >概要に移動します。
  2. [アクティブなセッション] を選択します
  3. 現在のセッションのリンクを選択します。
  4. [ 変数の表示 ] リンクを使用して、KCD の問題を特定します。特に、BIG-IP APM がセッション変数から正しいユーザー識別子とドメイン識別子を取得しない場合です。

詳細情報: