チュートリアル: 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 と統合すると、以下に示すさまざまな利点があります。
- リモート作業を可能にする Microsoft ゼロ トラスト フレームワーク
- 条件付きアクセスとは
- Microsoft Entra ID と BIG-IP 公開サービスの間のシングル サインオン (SSO)
- Microsoft Entra 管理センターから ID とアクセスを管理します
詳細情報:
シナリオの説明
このシナリオでは、Kerberos 認証を使用して保護されたコンテンツへのアクセスを管理する SAP ERP アプリケーションについて説明します。
レガシ アプリケーションには、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 - ユーザーの資格情報、条件付きアクセス、BIG-IP への SAML ベース SSO を検証する Security Assertion Markup Language (SAML) ID プロバイダー (IdP)
- BIG-IP - アプリケーションへのリバース プロキシおよび SAML サービス プロバイダー (SP)。 BIG-IP では SAML IdP に認証を委任した後、SAP サービスに対するヘッダーベースの SSO を実行します
SHA では、SP と IdP によって開始されるフローがサポートされます。 次の図は、SP によって開始されるフローを示しています。
- ユーザーがアプリケーション エンドポイント (BIG-IP) に接続します。
- BIG-IP Access Policy Manager (APM) アクセス ポリシーにより、ユーザーが Microsoft Entra ID (SAML IdP) にリダイレクトされます。
- Microsoft Entra ID がユーザーを事前認証し、強制的な条件付きアクセス ポリシーを適用します。
- ユーザーは BIG-IP (SAML SP) にリダイレクトされ、発行された SAML トークンを使用して SSO が実行されます。
- BIG-IP は、キー配布センター (KDC) から Kerberos チケットを要求します。
- BIG-IP がバックエンド アプリケーションに対し、SSO 用の Kerberos チケット一緒に要求を送信する
- アプリケーションが要求を承認し、ペイロードを返します。
前提条件
- Microsoft Entra ID 無料アカウント以上
- お持ちでない場合は、Azure 無料アカウントを取得してください。
- BIG-IP、または Azure の BIG-IP Virtual Edition (VE)
- 次のいずれかの F5 BIG-IP ライセンス:
- F5 BIG-IP® Best バンドル
- F5 BIG-IP APM スタンドアロン ライセンス
- 既存の BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM) に対する F5 BIG-IP APM アドオン ライセンス
- 90 日間の BIG-IP 全機能試用版ライセンス
- オンプレミス ディレクトリから Microsoft Entra ID に同期されたユーザー ID、または Microsoft Entra ID 内で作成されてオンプレミス ディレクトリに戻されたユーザー ID
- 「Microsoft Entra Connect 同期: 同期を理解してカスタマイズする」を参照してください
- 次のいずれかのロール: クラウド アプリケーション管理者、アプリケーション管理者。
- HTTPS を介してサービスを発行するための SSL Web 証明書。または、テストの場合には既定の BIG-IP 証明書を使用します
- 「F5 BIG-IP Virtual Edition VM を Azure にデプロイする」を参照してください
- Kerberos 認証用に構成された SAP ERP 環境
BIG-IP の構成方法
このチュートリアルでは、Easy Button テンプレートを備えたガイド付き構成 16.1 を使用します。 Easy Button を使用すると、管理者は SHA のサービスを有効にするために Microsoft Entra ID と BIG-IP の間を行き来することがなくなります。 APM のガイド付き構成ウィザードと Microsoft Graph によって、デプロイとポリシー管理が処理されます。 この統合により、アプリケーションで ID フェデレーション、SSO、条件付きアクセスが確実にサポートされます。
注意
このガイドの文字列または値の例は、実際の環境のものに置き換えてください。
Easy Button を登録する
ヒント
この記事の手順は、開始するポータルによって若干異なる場合があります。
クライアントまたはサービスは、Microsoft Graph にアクセスする前に、Microsoft ID プラットフォームによって信頼される必要があります。
「クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録する」を参照してください
Easy Button クライアントを Microsoft Entra ID で登録すると、BIG-IP 公開アプリケーションの SAML SP インスタンスと、SAML IdP としての Microsoft Entra ID の間の信頼が確立されます。
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[アプリの登録]>[新しい登録] の順に移動します。
新しいアプリケーションの [名前] を入力します。
[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 テンプレートを起動します。
- ブラウザーから F5 BIG-IP 管理コンソールにサインインします。
- [Access](アクセス) > [Guided Configuration] > [Microsoft Integration](Microsoft 統合) に移動します。
- [Microsoft Entra アプリケーション] を選択します。
- 構成の一覧を確認します。
- [次へ] を選択します。
- [Microsoft Entra アプリケーション構成] の構成シーケンスに従います。
Configuration Properties
[Configuration Properties] (構成のプロパティ) タブにはサービス アカウント プロパティが表示され、BIG-IP アプリケーション構成と SSO オブジェクトが作成されます。 [Azure サービス アカウントの詳細] セクションは、アプリケーションとして Microsoft Entra テナントに登録したクライアントを表します。 BIG-IP OAuth クライアントの設定を使用して、SSO プロパティと共に SAML SP をテナントに個別に登録します。 Easy Button により、発行されて SHA が有効になっている BIG-IP サービスに対してこのアクションが実行されます。
Note
一部の設定はグローバルであり、より多くのアプリケーションを公開するために再利用できます。
- 構成名を入力します。 一意の名前を使用すると、Easy Button の構成が区別されます。
- [シングル サインオン (SSO) と HTTP ヘッダー] で、[オン] を選びます。
- [Tenant ID] (テナント ID)、[Client ID] (クライアント ID)、[Client Secret] (クライアント シークレット) には、テナントの登録中にメモしたテナント ID、クライアント ID、およびクライアント シークレットを入力します。
- [接続テスト] を選択します。 このアクションにより、BIG-IP がテナントに接続されたことを確認します。
- [次へ] を選択します。
サービス プロバイダー
[サービス プロバイダー] 設定を使用して、SHA によってセキュリティ保護されたアプリケーションの SAML SP インスタンス プロパティを定義します。
[ホスト] に、セキュリティで保護されるアプリケーションのパブリック完全修飾ドメイン名 (FQDN) を入力します。
[エンティティ ID] には、トークンを要求する SAML SP を識別するために Microsoft Entra ID が使用する識別子を入力します。
(省略可能) [セキュリティ設定] を使用して、Microsoft Entra ID が発行された SAML アサーションを暗号化するように指定します。 Microsoft Entra ID と BIG-IP APM 間の暗号化されたアサーションにより、コンテンツ トークンが傍受されたり、データが侵害されたりしないことの保証の度合が高まります。
[Assertion Decryption Private Key] (アサーション解読秘密キー) の一覧から、[Create New] (新規作成) を選択します。
[OK] を選択します。
新しいタブで [SSL 証明書とキーのインポート] ダイアログが表示されます。
証明書と秘密キーをインポートするには、[PKCS 12 (IIS)] を選択します。
ブラウザー タブを閉じて、メイン タブに戻ります。
[Enable Encrypted Assertion](暗号化されたアサーションを有効にする) チェック ボックスをオンにします。
暗号化を有効にしている場合は、[アサーション解読秘密キー] 一覧から、BIG-IP APM が Microsoft Entra アサーションの解読に使用する証明書の秘密キーを選択します。
暗号化を有効にしている場合は、[アサーション解読証明書] 一覧から、BIG-IP が発行された SAML アサーションを暗号化するために Microsoft Entra ID にアップロードする証明書を選択します。
Microsoft Entra ID
Easy Button には、Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP ERP 用のアプリケーション テンプレートと、汎用の SHA テンプレートが用意されています。
Azure の構成を開始するには、[SAP ERP Central Component] > [Add] (追加) を選択します。
Note
Microsoft Entra テナントで新しい BIG-IP SAML アプリケーションを手動で構成する場合は、以下のセクションの情報を使用できます。
Azure 構成
[表示名] には、BIG-IP が Microsoft Entra テナントに作成するアプリを入力します。 名前はマイ アプリ ポータルのアイコンに表示されます。
(省略可能) [Sign On URL] (サインオン URL) (省略可能) は空白のままにします。
[Signing Key] (署名キー) の横にある更新を選択します。
[Signing Certificate] (署名証明書) を選択します。 このアクションにより、入力した証明書が検索されます。
[Signing Key Passphrase](署名キーのパスフレーズ) に証明書のパスワードを入力します。
(省略可能) [署名オプション] を有効にします。 このオプションにより、BIG-IP が Microsoft Entra ID によって署名されたトークンと要求を受け入れることが保証されます
[ユーザーとユーザー グループ] は、Microsoft Entra テナントから動的に照会されます。 グループは、アプリケーション アクセスの承認に役立ちます。
テストに使用するユーザーまたはグループを追加します。そうしないと、アクセスが拒否されます。
ユーザー属性とクレーム
ユーザーが Microsoft Entra ID に対して認証を行うと、Microsoft Entra ID はユーザーを識別する既定の要求と属性を含む SAML トークンを発行します。 [ユーザー属性と要求] タブには、新しいアプリケーションのために発行する既定の要求が表示されます。 それを使用して、より多くの要求を構成します。
このチュートリアルは、内部および外部で使用される .com ドメイン サフィックスに基づいています。 機能する Kerberos の制約付き委任 (KCD) の SSO 実装を実現するために、他の属性は必要ありません。
より多くの Microsoft Entra 属性を含めることができます。 このチュートリアルでは、SAP ERP に既定の属性が必要です。
詳細については、「チュートリアル: F5 BIG-IP Access Policy Manager の Kerberos 認証を構成する」を参照してください。 別のサフィックスを使用する複数のドメインまたはユーザーのサインインに関する手順を参照してください。
追加のユーザー属性
[追加のユーザー属性] タブでは、セッション拡張のために、他のディレクトリに格納されている属性を必要とする分散システムがサポートされます。 次に、ライトウェイト ディレクトリ アクセス プロトコル (LDAP) ソースからの属性を追加の SSO ヘッダーとして挿入して、ロールベースのアクセス、パートナー ID などを制御できます。
Note
この機能には Microsoft Entra ID との相関関係はなく、別の属性ソースです。
条件付きアクセス ポリシー
条件付きアクセス ポリシーは、Microsoft Entra の事前認証後に適用されます。 このアクションは、デバイス、アプリケーション、場所、リスクの兆候に基づいてアクセスを制御します。
[使用可能なポリシー] ビューには、ユーザーベースのアクションのない条件付きアクセス ポリシーが一覧表示されます。
[選択されたポリシー] ビューには、クラウド アプリをターゲットとするポリシーが一覧表示されます。 テナント レベルで適用されるポリシーは選択解除することも、[使用可能なポリシー] リストに移動することもできません。
公開されるアプリケーションのポリシーを選択するには、以下の手順を実行します。
- [使用可能なポリシー] リストからポリシーを選びます。
- 右矢印を選択します。
- ポリシーを [選択されたポリシー] リストに移動します。
選択したポリシーでは、[含める] または [除外する] オプションにチェックを入れます。 両方のオプションをオンにした場合、選択したポリシーは適用されません。
Note
このタブを最初に選択すると、ポリシー リストが表示されます。[更新] ボタンを使用して、テナントに対してクエリを実行します。 アプリケーションがデプロイされると、更新内容が表示されます。
仮想サーバーのプロパティ
仮想サーバーは、仮想 IP アドレスで表される BIG-IP データ プレーン オブジェクトです。 このサーバーは、アプリケーションへのクライアント要求をリッスンします。 受信されたトラフィックは処理され、仮想サーバーに関連する APM プロファイルに対して評価されます。 その後、トラフィックはポリシーに従って送信されます。
- [宛先アドレス] を入力します。 BIG-IP でクライアント トラフィックを受信するために使用される IPv4/IPv6 アドレスを使用します。 クライアントが BIG-IP 公開アプリケーションの外部 URL をこの IP に解決できるようにする、ドメイン ネーム サーバー (DNS) 内の対応するレコード。 テストの場合には、テスト コンピューターの localhost DNS を使用できます。
- [サービス ポート] に、「443」と入力します。
- [HTTPS] を選択します。
- [Enable Redirect Port](リダイレクト ポートを有効にする) チェック ボックスをオンにします。
- [Redirect Port] (リダイレクト ポート) には数値を入力し、[HTTP] を選択します。 このオプションにより、受信 HTTP クライアント トラフィックが HTTPS にリダイレクトされます。
- 作成した [Client SSL Profile] (クライアント SSL プロファイル) を選択します。 または、テスト用に既定値のままにします。 [クライアント SSL プロファイル] では、クライアント接続がトランスポート層セキュリティ (TLS) 経由で暗号化されるように、HTTPS 用の仮想サーバーを有効にします。
プールのプロパティ
[アプリケーション プール] タブには、BIG-IP の背後にあるサービスが、アプリケーション サーバーを持つプールとして表示されます。
[Select a Pool] (プールの選択) で、[Create New] (新規作成) を選ぶか、プールを選びます。
[Load Balancing Method] (負荷分散方法) では、[Round Robin] (ラウンド ロビン) を選びます。
[プール サーバー] では、サーバー ノードを選択するか、ヘッダーベースのアプリケーションをホストするバックエンド ノードの IP とポートを入力します。
シングル サインオンと HTTP ヘッダー
SSO を使用すると、資格情報を入力することなく、BIG-IP で発行済みのサービスにアクセスできます。 Easy Button ウィザードでは、SSO 用に Kerberos、OAuth Bearer、HTTP 承認ヘッダーがサポートされています。 次の手順では、作成した Kerberos 委任アカウントが必要です。
[シングル サインオンと HTTP ヘッダー] の [詳細設定] で [オン] を選択します。
[Selected Single Sign-On Type] (選択されたシングル サインオンの種類) で [Kerberos] を選択します。
[Username Source] (ユーザー名のソース) に、ユーザー ID ソースとしてセッション変数を入力します。
session.saml.last.identity
は、サインインしているユーザー ID と共に Microsoft Entra 要求を保持します。[User Realm Source] (ユーザー領域のソース) オプションは、ユーザー ドメインが BIG-IP の Kerberos 領域と異なる場合に必要です。 したがって、APM セッション変数には、サインインしているユーザー ドメインが含まれます。 たとえば、
session.saml.last.attr.name.domain
のようにします。KDC には、ドメイン コントローラーの IP、または DNS が構成されている場合は FQDN を入力します。
[UPN Support] (UPN サポート) については、ボックスをチェックします。 APM では kerberos チケット発行にユーザー プリンシパル名 (UPN) を使用します。
[SPN パターン] に「HTTP/%h」と入力します。 このアクションでは、クライアント要求ホスト ヘッダーを使用し、Kerberos トークンを要求しているサービスプリンシパル名 (SPN) をビルドするように APM に通知します。
[承認の送信] では、認証をネゴシエートするアプリケーションのオプションを無効にします。 たとえば、Tomcat が該当します。
セッションの管理
BIG-IP セッション管理設定を使用して、ユーザー セッションが終了または継続するときの条件を定義します。 条件には、ユーザーと IP アドレスの制限と、対応するユーザー情報が含まれます。
詳細については、my.f5.com にアクセスして、「K18390492: セキュリティ | BIG-IP APM 操作ガイド」を参照してください
操作ガイドでは、シングル ログアウト (SLO) について説明されていません。 この機能により、ユーザーがサインアウトすると、IdP、BIG-IP、およびユーザー エージェント間のセッションが終了することが保証されます。Easy Button により、SAML アプリケーションが Microsoft Entra テナントにデプロイされます。 ログアウト URL に APM SLO エンドポイントが設定されます。 マイ アプリ ポータルからの IdP によって開始されるサインアウトで、BIG-IP とクライアントのセッションが終了します。
デプロイ中に、発行済みアプリケーションの SAML フェデレーション メタデータがテナントからインポートされます。 このアクションは、APM に Microsoft Entra ID の SAML サインアウト エンドポイントを提供し、SP によって開始されるサインアウトがクライアントと Microsoft Entra のセッションを終了させるのに役に立ちます。
展開
- [デプロイ] を選択します。
- テナントの [エンタープライズ アプリケーション] の一覧にアプリケーションがあることを確認します。
- ブラウザーを使用して、アプリケーションの外部 URL に接続するか、MyApps でアプリケーションのアイコンを選択します。
- Microsoft Entra ID に対して認証を行います。
- BIG-IP 仮想サーバーにリダイレクトされ、SSO を通じてサインインされます。
セキュリティを向上させるために、アプリケーションへの直接アクセスをブロックして、BIG-IP を介したパスを強制することができます。
詳細なデプロイ
ガイド付き構成テンプレートは、柔軟性に欠けている場合があります。
詳細については、「チュートリアル: F5 BIG-IP Access Policy Manager の Kerberos 認証を構成する」を参照してください。
厳格な管理モードを無効にする
また、BIG-IP では、ガイド付き構成の厳格な管理モードを無効にすることもできます。 構成は手動で変更できますが、ほとんどの構成はウィザード テンプレートで自動化されています。
[Access] (アクセス) > [Guided Configuration] (ガイド付き構成) に移動します。
アプリケーション構成の行の末尾で、南京錠アイコンを選択します。
発行済みアプリケーションに関連する BIG-IP オブジェクトは、管理のためにロック解除されます。 ウィザード UI 経由での変更はできなくなります。
注意
厳密な管理モードを再度有効にして、ガイド付き構成 UI 外部の設定を上書きする構成をデプロイする場合、運用サービスに対しては、詳細構成の方式をお勧めします。
トラブルシューティング
SHA で保護されたアプリケーションにアクセスできない場合は、次のトラブルシューティング ガイダンスを参照してください。
- Kerberos は時刻に依存します。 サーバーとクライアントが正しい時刻に設定され、信頼性の高いタイム ソースと同期されているようにします。
- ドメイン コントローラーと Web アプリのホスト名が DNS で解決されるようにします。
- 環境内に重複する SPN がないことを確認します。
- ドメイン コンピューターのコマンド ラインで、次のクエリを使用します。
setspn -q HTTP/my_target_SPN
- ドメイン コンピューターのコマンド ラインで、次のクエリを使用します。
インターネット インフォメーション サービス (IIS) アプリケーションの KCD 構成を検証するには、アプリケーション プロキシの KCD 構成のトラブルシューティングに関する記事を参照してください。
Kerberos シングル サインオンの方法については、techdocs.f5.com を参照してください
ログ分析
ログの詳細
BIG-IP のログによって、接続、SSO、ポリシー違反、正しく構成されていない変数マッピングなどの問題が分離されます。 トラブルシューティングを開始するには、ログの詳細度を高くします。
- [Access Policy] (アクセス ポリシー) > [Overview] (概要) に移動します。
- [Event Logs] (イベント ログ) を選びます。
- [設定] を選択します。
- 発行されたアプリケーションの行を選択します。
- [編集] を選択します。
- [Access System Logs](システム ログへのアクセス) を選択します
- SSO の一覧から [Debug] (デバッグ) を選びます。
- [OK] を選択します。
- 問題を再現します。
- ログを調べます。
このモードでは過剰なデータが生成されるため、検査が完了したらログの詳細度を元に戻します。
BIG-IP のエラー メッセージ
Microsoft Entra の事前認証後に BIG-IP のエラー メッセージが表示される場合は、問題が Microsoft Entra ID から BIG-IP への SSO に関連している可能性があります。
- [アクセス] > [概要] に移動します。
- [Access reports] (レポートへのアクセス) を選びます。
- 直近 1 時間のレポートを実行します。
- ログを調べます。
現在のセッションの [セッション変数の表示] リンクを使用して、APM が期待される Microsoft Entra 要求を受信していることを確認します。
BIG-IP エラー メッセージなし
BIG-IP エラー メッセージが表示されない場合、その問題はバックエンド要求、または BIG-IP からアプリケーションへの SSO に関連している可能性があります。
- [Access Policy] (アクセス ポリシー) > [Overview] (概要) に移動します。
- [Active Sessions] (アクティブなセッション) を選びます。
- 現在のセッションのリンクを選択します。
- [変数の表示] リンクを使用して、KCD の問題を特定します (特に、BIG-IP APM でセッション変数から正しいユーザーとドメインの識別子が取得されない場合)。
詳細情報:
- devcentral.f5.com にアクセスして、「APM 変数の割り当ての例」を参照してください
- セッション変数については、techdocs.f5.com を参照してください