次の方法で共有


チュートリアル: Kerberos シングル サインオン用に F5 BIG-IP Easy Button を構成する

F5 の BIG-IP Easy Button ガイド付き構成 16.1 を使って、Microsoft Entra ID で Kerberos ベースのアプリケーションをセキュリティで保護する方法について説明します。

BIG-IP と Microsoft Entra ID の統合には、以下のように数多くの利点があります。

メリットの詳細については、F5 BIG-IP と Microsoft Entra の統合に関する記事を参照してください。

シナリオの説明

このシナリオは、統合 Windows 認証 (IWA) としても知られる Kerberos 認証を使用して、保護されたコンテンツへのアクセスを制限するクラシック レガシ アプリケーションに関するものです。

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

アプリケーションの前に BIG-IP を配置することによって、Microsoft Entra の事前認証とヘッダー ベースの SSO によるサービスをオーバーレイできるようになるため、アプリケーションのセキュリティ体制が強化されます。

Note

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

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

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

  • アプリケーション: Microsoft Entra SHA によって保護される BIG-IP 公開サービス。 アプリケーション ホストはドメインに参加しているため、Active Directory (AD) に統合されます。
  • Microsoft Entra ID: - ユーザーの資格情報、条件付きアクセス、BIG-IP への SAML ベースの SSO を検証する Security Assertion Markup Language (SAML) ID プロバイダー (IdP) SSO を使用して、Microsoft Entra ID により、必要なセッション属性が BIG-IP に提供されます。
  • KDC: ドメイン コントローラー (DC) のキー配布センター (KDC) ロール。Kerberos チケットを発行します。
  • BIG-IP: アプリケーションに対するリバース プロキシおよび SAML サービス プロバイダー (SP)。バックエンド アプリケーションへの Kerberos ベースの SSO を実行する前に認証を SAML IdP に委任します。

このシナリオの SHA では、SP と IdP によって開始されるフローがサポートされます。 次の図は 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 が KDC に Kerberos チケットを要求する
  6. BIG-IP がバックエンド アプリケーションに対し、SSO 用の Kerberos チケット一緒に要求を送信する
  7. アプリケーションが要求を承認し、ペイロードを返す

前提条件

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

  • Azure 無料アカウント以上
  • BIG-IP、または Azure に BIG-IP Virtual Edition (VE) をデプロイします
  • 次のいずれかの F5 BIG-IP ライセンス:
    • F5 BIG-IP® Best バンドル
    • F5 BIG-IP APM スタンドアロン
    • F5 BIG-IP® Local Traffic Manager™ (LTM) に対する F5 BIG-IP APM アドオン ライセンス
    • 90 日間の BIG-IP 無料試用版ライセンス
  • オンプレミスのディレクトリから Microsoft Entra ID に同期されたユーザー ID、または Microsoft Entra ID 内で作成されてオンプレミスのディレクトリに戻されたユーザー ID
  • 次のいずれかのロール: クラウド アプリケーション管理者、アプリケーション管理者。
  • HTTPS でサービスを公開するための SSL Web 証明書。またはテスト時に既定の BIG-IP 証明書を使います。
  • Kerberos アプリケーション。または active-directory-wp.com にアクセスして Windows 上で IIS を使用した SSO を構成する方法をご確認ください。

BIG-IP の構成方法

このチュートリアルでは、Easy Button テンプレートを使用する最新のガイド付き構成 16.1 について説明します。 Easy Button を使用すると、管理者は Microsoft Entra ID と BIG-IP の間を行き来して SHA のためにサービスを有効にする必要がなくなります。 APM のガイド付き構成ウィザードと Microsoft Graph によって、デプロイとポリシー管理が処理されます。 BIG-IP APM と Microsoft Entra ID の統合により、アプリケーションでは確実に ID フェデレーション、SSO、Microsoft Entra 条件付きアクセスをサポートできるため、管理オーバーヘッドが軽減されます。

Note

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

Easy Button を登録する

ヒント

この記事の手順は、開始するポータルに応じて若干異なる場合があります。

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

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

  2. ID>アプリケーション>アプリの登録>新しい登録 を参照します。

  3. アプリケーションの表示名を入力します。 たとえば、F5 BIG-IP Easy Button です

  4. アプリケーションを使用できるユーザー >[Accounts in this organizational directory only] (この組織ディレクトリのアカウントのみ) を指定します。

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

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

  8. [証明書とシークレット] で、新しいクライアント シークレットを生成します。 このシークレットを書き留めておきます。

  9. [概要] でクライアント ID とテナント ID をメモします。

Easy Button を構成する

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

  1. [アクセス] > [ガイド付き構成] > [Microsoft 統合] と移動して、[Microsoft Entra アプリケーション] を選択します。

  2. 構成手順を確認し、[次へ] を選択します。

  3. アプリケーションを公開するには、次の手順に従います。

    ガイド付き構成の構成フローのスクリーンショット。

Configuration Properties

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

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

  1. 一意の構成名を指定します。

  2. [シングル サインオン (SSO) と HTTP ヘッダー] を有効にします

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

    [構成名]、[SSO と HTTP ヘッダー]、[Azure サービス アカウントの詳細] エントリのスクリーンショット。

  4. BIG-IP がテナントに接続されたことを確認します。

  5. [次へ] を選択します。

サービス プロバイダー

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

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

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

    サービス プロバイダーの [ホスト] と [エンティティ ID] エントリのスクリーンショット。

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

  1. [Assertion Decryption Private Key] (アサーション解読秘密キー) の一覧から、[新規作成] を選択します。

[セキュリティ設定] の [新規作成] オプションのスクリーンショット。

  1. [OK] を選択します。 [SSL 証明書とキーのインポート] ダイアログが表示されます。
  2. PKCS 12 (IIS) を選択して、証明書と秘密キーをインポートします。
  3. プロビジョニングが完了したら、ブラウザー タブを閉じて、メイン タブに戻ります。

[インポートの種類]、[Certificate and Key Name] (証明書とキー名)、[Certificate Key Source] (証明書キー ソース)、[パスワード] のエントリのスクリーンショット

  1. [Enable Encrypted Assertion](暗号化アサーションを有効にする) をオンにします。
  2. 暗号化を有効にした場合は、[アサーション解読の秘密キー] リストから証明書を選択します。 この秘密キーは証明書のためのもので、Microsoft Entra アサーションを解読するために BIG-IP APM で使用されます。
  3. 暗号化を有効にした場合は、[アサーション解読の証明書] リストから証明書を選択します。 BIG-IP は、発行された SAML アサーションを暗号化するために、この証明書を Microsoft Entra ID にアップロードします。

[アサーション解読の秘密キー] と [Assertion Decryption Certificate] (アサーション解読の証明書) エントリのスクリーンショット。

Microsoft Entra ID

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

このシナリオでは、[F5 BIG-IP APM Microsoft Entra ID 統合] > [追加] を選びます。

Azure 構成

  1. BIG-IP によって Microsoft Entra テナント内に作成されるアプリと、MyApps ポータルのアイコンの 表示名 を入力します。

  2. IdP Initiated サインオンを有効にするには、[サインオン URL] (省略可能) に何も入力しないでください。

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

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

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

    [SAML 署名証明書] の [署名キー]、[署名証明書]、[Signing Key Passphrase] (署名キーのパスフレーズ) のスクリーンショット。

  6. ユーザーとユーザー グループは、Microsoft Entra テナントから動的に照会され、アプリケーションへのアクセスを承認します。 テストに使うユーザーまたはグループを追加します。そうしないと、すべてのアクセスは拒否されます。

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

ユーザー属性とクレーム

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

インフラストラクチャは、内部および外部で使用される .com ドメイン サフィックスに基づいています。 機能する Kerberos の制約付き委任シングル サインオン (KCD SSO) の実装を実現するために、他の属性は必要ありません。 別のサフィックスを使用する複数のドメインまたはユーザーのサインインについては、詳細なチュートリアルを参照してください。

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

追加のユーザー属性

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

Note

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

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

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

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

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

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

  1. [使用可能なポリシー] リストからポリシーを選びます。
  2. 右矢印を選択して、これを [選択されたポリシー] リストに移動します。

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

[条件付きアクセス ポリシー] の [選択されたポリシー] の下に表示される除外された条件付きアクセス ポリシーのスクリーンショット。

Note

このタブに切り替えると、ポリシー リストが 1 回表示されます。[更新] ボタンを使用することで、ウィザードでテナントに対してクエリを実行するように手動で強制できますが、このボタンはアプリケーションをデプロイした後に表示されます。

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

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

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

  2. [サービス ポート] で、HTTPS に対して「443」と入力します。

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

  4. [クライアント SSL プロファイル] では、クライアント接続が トランスポート層セキュリティ (TLS) で暗号化されるように、HTTPS 用の仮想サーバーを有効にできます。 前提条件として作成したクライアント SSL プロファイルを選択するか、テストする場合は既定値のままにします。

    [仮想サーバーのプロパティ] の [コピー先アドレス]、[サービス ポート]、[共通] エントリのスクリーンショット。

プールのプロパティ

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

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

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

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

    [プールのプロパティ] の [IP Address/Node Name] (IP アドレスとノード名)、[ポート] エントリのスクリーンショット。

バックエンド アプリケーションは HTTP ポート 80 で実行されます。 アプリケーションが HTTPS で実行される場合は、ポートを 443 に切り替えることができます。

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

SSO を有効にすると、ユーザーは資格情報を入力しなくても、BIG-IP で公開されているサービスにアクセスできるようになります。 Easy Button ウィザードでは、SSO 用に Kerberos、OAuth Bearer、HTTP 承認ヘッダーがサポートされています。 これらの手順には、作成した Kerberos 委任アカウントを使ってください。

[Kerberos][詳細設定の表示] を有効にして、次の情報を入力します。

  • [ユーザー名ソース]: SSO のためにキャッシュする優先ユーザー名。 ユーザー ID のソースとしてセッション変数を指定できますが、session.saml.last.identity は、ログインしたユーザー ID を含む Microsoft Entra 要求が保持されるため、より効果的に機能します。

  • [ユーザー領域のソース]: ユーザー ドメインが BIG-IP の Kerberos 領域と異なる場合に必要です。 その場合、APM セッション変数には、ログインしているユーザー ドメインが含まれます。 たとえば、session.saml.last.attr.name.domainなど

    [Sign On and HTTP Headers] (シングル サインオンと HTTP ヘッダー) の [Username Source] (ユーザー名ソース) エントリのスクリーンショット。

  • [KDC]: ドメイン コントローラーの IP、または DNS が構成されていて効率的である場合は FQDN

  • [UPN サポート]: APM で Kerberos チケット発行にユーザー プリンシパル名 (UPN) を使用する場合に、このオプションを有効にします

  • [SPN パターン]: HTTP/%h を使用して、クライアント要求のホスト ヘッダーを使用し、Kerberos トークンの要求対象となるサービスプリンシパル名 (SPN) を構築するように APM に通知します

  • [承認の送信]: 1 回目の要求で Kerberos トークンを受信せずに、認証をネゴシエートするアプリケーションでは無効にします。 たとえば、Tomcat が該当します。

    SSO 方法の構成に関するエントリのスクリーンショット

セッションの管理

BIG-IP のセッション管理設定では、ユーザー セッションが終了する、または続行する条件、ユーザーと IP アドレスの制限、および対応するユーザー情報を定義します。 これらの設定の詳細については、AskF5 記事「K18390492: セキュリティ | BIG-IP APM 操作ガイド」を参照してください。

IdP、BIG-IP、およびユーザー エージェント間のセッションをユーザーのサインアウト時に終了するシングル ログアウト (SLO) 機能は対象外です。Easy Button によって Microsoft Entra テナントに SAML アプリケーションがインスタンス化されると、サインアウト URL に APM SLO エンドポイントが設定されます。 Microsoft Entra のマイ アプリ ポータルからの IdP によって開始されるサインアウトでも、BIG-IP とクライアント間のセッションが終了します。

公開済みアプリケーションの SAML フェデレーション メタデータがテナントからインポートされて、APM に Microsoft Entra ID の SAML サインアウト エンドポイントが提供されます。 このアクションにより、SP によって開始されるサインアウトによって、クライアントと Microsoft Entra ID の間のセッションが終了します。 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 をトリガーすることを検討してください。 BIG-IP iRules の詳細については、Oracle PeopleSoft SLO ガイダンスを参照してください。 BIG-IP iRules の使用に関する詳細については、次を参照してください。

まとめ

このセクションでは、構成の内訳になります。

[デプロイ] を選択して設定をコミットし、エンタープライズ アプリケーションのテナント リストにアプリケーションが存在することを確認します。

Active Directory の KCD 構成

BIG-IP APM がユーザーに代わってバックエンド アプリケーションへの SSO を実行するように、ターゲット Active Directory (AD) ドメインで KCD を構成します。 認証を委任するには、ドメイン サービス アカウントで BIG-IP APM をプロビジョニングする必要があります。

APM サービス アカウントと委任が設定されている場合は、このセクションをスキップしてください。 それ以外の場合は、管理者アカウントでドメイン コントローラーにサインインします。

このシナリオでは、アプリケーションはサーバー APP-VM-01 にホストされ、コンピューターの ID ではなく、web_svc_account という名前のサービス アカウントのコンテキストで実行されています。 APM に割り当てられた、委任する側のサービス アカウントの名称は F5-BIG-IP です。

BIG-IP APM 委任アカウントを作成する

BIG-IP ではグループ管理サービス アカウント (gMSA) がサポートされていないため、APM のサービス アカウントとして使用する標準ユーザー アカウントを作成します。

  1. 次の PowerShell コマンドを入力します。 UserPrincipalNameSamAccountName の値を、お使いの環境値に置き換えます。 セキュリティを強化するため、アプリケーションのホスト ヘッダーに一致する専用の SPN を使用します。

    New-ADUser -Name "F5 BIG-IP Delegation Account" UserPrincipalName $HOST_SPN SamAccountName "f5-big-ip" -PasswordNeverExpires $true Enabled $true -AccountPassword (Read-Host -AsSecureString "Account Password")

    HOST_SPN = host/f5-big-ip.contoso.com@contoso.com

    Note

    ホストを使用すると、ホストで実行されているアプリケーションはアカウントを委任しますが、HTTPS を使用すると、HTTP プロトコル関連の操作のみが許可されます。

  2. Web アプリケーションのサービス アカウントに委任している間に使用する APM サービス アカウントのサービス プリンシパル名 (SPN) を作成します。

    Set-AdUser -Identity f5-big-ip -ServicePrincipalNames @{ Add="host/f5-big-ip.contoso.com" }

    Note

    host/part を UserPrincipleName (host/name.domain@domain) または ServicePrincipleName (host/name.domain) の形式で含める必要があります。

  3. ターゲット SPN を指定する前に、その SPN 構成を表示します。 SPN が APM サービス アカウントに対して表示されていることを確認します。 APM サービス アカウントが Web アプリケーションの委任を行います。

    • Web アプリケーションがコンピューターのコンテキストまたは専用サービス アカウントで実行されていることを確認します。

    • Computer コンテキストの場合、次のコマンドを使用して、Active Directory のアカウント オブジェクトに対してクエリを実行し、定義されている SPN を確認します。 <name_of_account> は、実際の環境のアカウントに置き換えてください。

      Get-ADComputer -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

      例: Get-ADUser -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

    • 専用サービス アカウントの場合、次のコマンドを使用して、Active Directory のアカウント オブジェクトに対してクエリを実行し、定義されている SPN を確認します。 <name_of_account> は、実際の環境のアカウントに置き換えてください。

      Get-ADUser -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

      次に例を示します。

      Get-ADComputer -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames

  4. アプリケーションをマシン コンテキストで実行した場合は、Active Directory のコンピューター アカウントのオブジェクトに SPN を追加します。

    Set-ADComputer -Identity APP-VM-01 -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }

SPN の定義後、APM サービス アカウントがそのサービスに対して委任を行うための信頼を確立します。 その構成は、BIG-IP インスタンスとアプリケーション サーバーのトポロジによって異なります。

BIG-IP とターゲット アプリケーションを同じドメインで構成する

  1. APM サービス アカウントが認証を委任するための信頼を設定します。

    Get-ADUser -Identity f5-big-ip | Set-ADAccountControl -TrustedToAuthForDelegation $true

  2. APM サービス アカウントは、委任先として信頼されたターゲット SPN を把握する必要があります。 ターゲット SPN は、Web アプリケーションを実行しているサービス アカウントに設定します。

    Set-ADUser -Identity f5-big-ip -Add @{ 'msDS-AllowedToDelegateTo'=@('HTTP/myexpenses.contoso.com') }

    Note

    これらのタスクは、ドメイン コントローラー上の Active Directory ユーザーとコンピューターおよび Microsoft 管理コンソール (MMC) スナップインを使用して完了できます。

異なるドメインにある BIG-IP とアプリケーション

Windows Server 2012 以降のバージョンでは、クロス ドメインの KCD にリソースベースの制約付き委任 (RBCD) が使用されます。 サービスの制約は、ドメイン管理者からサービス管理者に転送されます。 この委任により、バックエンドのサービス管理者が SSO を許可または拒否できます。 この状態では、構成の委任時に異なるアプローチが作成されます。このアプローチは、PowerShell または Active Directory Service Interfaces Editor (ADSI Edit) を使用する場合に適用できます。

アプリケーション サービス アカウント (コンピューターまたは専用サービス アカウント) の PrincipalsAllowedToDelegateToAccount プロパティを使って、BIG-IP からの委任を行えます。 このシナリオでは、アプリケーションと同じドメインのドメイン コントローラー (Windows Server 2012 R2 以降) で以下の PowerShell コマンドを使用します。

Web アプリケーション サービス アカウントに対して定義された SPN を使用します。 セキュリティを強化するため、アプリケーションのホスト ヘッダーに一致する専用の SPN を使用します。 たとえば、この例の Web アプリのホスト ヘッダーは myexpenses.contoso.com なので、Active Directory (AD) でアプリケーションのサービス アカウント オブジェクトに HTTP/myexpenses.contoso.com を追加します。

Set-AdUser -Identity web_svc_account -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }

次のコマンドでは、コンテキストに注意してください。

web_svc_account サービスがユーザー アカウントのコンテキストで実行されている場合は、以下のコマンドを使用します。

$big-ip= Get-ADComputer -Identity f5-big-ip -server dc.contoso.com

``Set-ADUser -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount`

$big-ip Get-ADUser web_svc_account -Properties PrincipalsAllowedToDelegateToAccount

web_svc_account サービスがコンピューター アカウントのコンテキストで実行されている場合は、以下のコマンドを使用します。

$big-ip= Get-ADComputer -Identity f5-big-ip -server dc.contoso.com

Set-ADComputer -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount

$big-ip Get-ADComputer web_svc_account -Properties PrincipalsAllowedToDelegateToAccount

詳細については、「ドメイン間の Kerberos の制約付き委任」を参照してください。

アプリ ビュー

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

アプリケーションの外部 URL のスクリーンショット

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

Microsoft Entra B2B ゲスト アクセス

このシナリオでは Microsoft Entra B2B ゲスト アクセスがサポートされています。これは、Microsoft Entra テナントから、アプリケーションによって承認のために使用されるディレクトリにゲスト ID を送ることによって行われます。 AD のゲスト オブジェクトをローカルで表現しないと、BIG-IP ではバックエンド アプリケーションへの KCD SSO の Kerberos チケットの受信に失敗します。

詳細なデプロイ

ガイド付き構成テンプレートでは、一部の要件を達成するための柔軟性が欠けている可能性があります。 そのようなシナリオについては、kerberos ベースの SSO の詳細構成に関するページを参照してください。

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

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

南京錠オプションのスクリーンショット。

この時点で、ウィザード UI を介した変更は行えません。ただし、アプリケーションの公開されたインスタンスに関連付けられているすべての BIG-IP オブジェクトのロックが解除され、管理できるようになります。

Note

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

トラブルシューティング

Kerberos SSO の問題のトラブルシューティングを行う場合は、次の概念に注意してください。

  • Kerberos は時刻に依存するため、サーバーとクライアントが正しい時刻に設定されている必要があります。可能であれば信頼性の高いタイム ソースと同期されるようにします。
  • ドメイン コントローラーと Web アプリケーションのホスト名が DNS で解決可能であることを確認します
  • ドメイン PC のコマンド ラインから setspn -q HTTP/my_target_SPN というクエリを実行し、重複する SPN が AD 環境に存在しないことを確かめます

IIS アプリケーションが KCD のために構成されていることを検証するには、アプリケーション プロキシのガイダンスに関する記事を参照してください。 AskF5 の記事「Kerberos のシングル サインオン メソッド」も参照してください。

ログ分析: 詳細度を上げる

BIG-IP のログを使用して、接続、SSO、ポリシー違反、正しく構成されていない変数マッピングなどの問題を分離します。 ログの詳細レベルを上げることでトラブルシューティングを開始します。

  1. [Access Policy] (アクセス ポリシー) > [Overview] (概要) > [Event Logs] (イベント ログ) > [Settings] (設定) に移動します。
  2. 公開されたアプリケーションの行を選択し、[編集] > [システム ログへのアクセス] を選択します。
  3. SSO の一覧から [Debug] を選択して [OK] を選択します。

問題を再現し、ログを検査します。 完了したら、詳細モードでは多くのデータが生成されるため、機能を元に戻します。

BIG-IP エラー ページ

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

  1. [Access] (アクセス) > [Overview] (概要) > [Access reports] (レポートへのアクセス) に移動します。
  2. 過去 1 時間のレポートを実行して、ログで手掛かりを確認します。
  3. [セッション変数の表示] リンクを使用して、APM が Microsoft Entra ID から予想される要求を受信しているかどうかを把握します。

バックエンド要求

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

  1. [アクセス ポリシー] > [概要] > [アクティブなセッション] に移動します。
  2. アクティブなセッションのリンクを選択します。 この場所にある [変数の表示] リンクは、KCD のイシュー、特に BIG-IP APM で適切なユーザー識別子やドメイン識別子をセッション変数から取得できない場合の根本原因を特定するのに役立つ場合があります

詳細については、次を参照してください。