チュートリアル: Kerberos シングル サインオン用に F5 BIG-IP Easy Button を構成する
F5 の BIG-IP Easy Button ガイド付き構成 16.1 を使って、Microsoft Entra ID で Kerberos ベースのアプリケーションをセキュリティで保護する方法について説明します。
BIG-IP と Microsoft Entra ID の統合には、以下のような利点が多数あります:
- ガバナンスの強化:「リモート ワークを可能にするゼロトラスト フレームワーク」を参照し、Microsoft Entra 事前認証の詳細を確認してください。
- 組織方針を適用します。 「条件付きアクセスとは」を参照してください。
- Microsoft Entra ID と BIG-IP の公開済みサービス間の完全な SSO
- 単一のコントロール プレーンである 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 によるサービスをオーバーレイできるようになるため、アプリケーションのセキュリティ態勢が改善されます。
注意
組織では、この種類のアプリケーションに対して Microsoft Entra アプリケーション プロキシ を使用してリモート アクセスを取得することもできます
シナリオのアーキテクチャ
このシナリオのためのセキュア ハイブリッド アクセス (SHA) ソリューションは、次のコンポーネントで構成されています:
- アプリケーション: 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 に提供されます。
- KDC: ドメイン コントローラー (DC) のキー配布センター (KDC) ロール。Kerberos チケットを発行します。
- BIG-IP: アプリケーションに対するリバース プロキシおよび SAML サービス プロバイダー (SP)。バックエンド アプリケーションへの Kerberos ベースの SSO を実行する前に認証を SAML IdP に委任します。
このシナリオの 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 チケット一緒に要求を送信する
- アプリケーションが要求を承認し、ペイロードを返す
前提条件
以前の 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 アプリケーション。または 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 条件付きアクセスをサポートできるため、管理オーバーヘッドが軽減されます。
注意
この記事の文字列または値の例は、実際の環境のものに置き換えます。
Easy Button を登録する
ヒント
この記事の手順は、開始するポータルによって若干異なる場合があります。
Microsoft ID プラットフォーム がサービスまたはクライアントを信頼すると、どちらかが Microsoft Graph にアクセスできます。 このアクションでは、Graph への Easy Button アクセスを承認するために使用されるテナント アプリの登録を作成します。 これらのアクセス許可を使用して、BIG-IP は、発行済みアプリケーションの SAML SP インスタンスと、SAML IdP となる Microsoft Entra ID の間に信頼を確立するための構成をプッシュします。
Microsoft Entra 管理センター に クラウド アプリケーション管理者 以上の権限でサインインします。
[ID]>[アプリケーション]>[アプリの登録] > [新規登録] を参照します。
アプリケーションの表示名を入力します。 たとえば、F5 BIG-IP Easy Button です。
アプリケーションを使用できるユーザー >[この組織ディレクトリのアカウントのみ] を指定します。
[登録] を選択します。
[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 の [ガイド付き構成] を開始して、Easy Button テンプレートを起動します。
[アクセス] > [ガイド付き構成] > [Microsoft 統合] と移動して、[Microsoft Entra アプリケーション] を選択します。
構成手順を確認し、[次へ] を選択します。
アプリケーションを公開するには、次の手順に従います。
構成プロパティ
[構成のプロパティ] タブでは、BIG-IP アプリケーション構成と SSO オブジェクトが作成されます。 [Azure サービス アカウントの詳細] セクションは、アプリケーションとして、以前に Microsoft Entra テナントに登録したクライアントを表すことができます。 これらの設定により、BIG-IP の OAuth クライアントでは、手動で構成する SSO プロパティと共に、SAML SP をテナントに登録できるようになります。 Easy Button により、公開されて SHA が有効になっているすべての BIG-IP サービスに対してこのアクションが行われます。
一部の設定はグローバルであるため、より多くのアプリケーションを公開するために再利用でき、デプロイの時間と労力を削減するのに役立ちます。
- 一意の 構成名 を指定します。
- [シングル サインオン (SSO) と HTTP ヘッダー] を有効にします。
- テナントに Easy Button クライアントを登録するときに、メモした [テナント ID]、[クライアント ID]、[クライアント シークレット] を入力します。
- BIG-IP がテナントに接続されたことを確認します。
- [次へ] を選択します。
サービス プロバイダー
サービス プロバイダー設定は、SHA によって保護されるアプリケーションの SAML SP インスタンスのプロパティになります。
[ホスト] に、セキュリティで保護されるアプリケーションのパブリック完全修飾ドメイン名 (FQDN) を入力します。
[エンティティ ID] には、トークンを要求する SAML SP を識別するために Microsoft Entra ID が使用する識別子を入力します。
オプションの [セキュリティ設定] を使用して、発行済みの SAML アサーションを Microsoft Entra ID で暗号化するかどうかを指定します。 Microsoft Entra ID と BIG-IP APM の間でアサーションを暗号化すると、コンテンツ トークンが傍受されないこと、および個人や会社のデータが侵害されないことがより確実に保証されます。
- [アサーション解読の秘密キー] の一覧から、[新規作成] を選択します
- [OK] を選択します。 [SSL 証明書とキーのインポート] ダイアログが表示されます。
- [PKCS 12 (IIS)] を選択して、証明書と秘密キーをインポートします。
- プロビジョニングが完了したら、ブラウザーのタブを閉じて、メイン タブに戻ります。
- [暗号化アサーションを有効にする] をオンにします。
- 暗号化を有効にした場合は、[アサーション解読の秘密キー] リストから証明書を選択します。 この秘密キーは証明書のためのもので、Microsoft Entra アサーションを解読するために BIG-IP APM で使用されます。
- 暗号化を有効にした場合は、[アサーション解読の証明書] リストから証明書を選択します。 BIG-IP は、発行された SAML アサーションを暗号化するために、この証明書を Microsoft Entra ID にアップロードします。
Microsoft Entra ID
このセクションには、Microsoft Entra テナント内で新しい BIG-IP SAML アプリケーションを手動で構成するためのプロパティが定義されています。 Easy Button には、Oracle PeopleSoft、Oracle E-business Suite、Oracle JD Edwards、SAP Enterprise Resource Planning (ERP) 用のアプリケーション テンプレートと、その他のアプリ用の SHA テンプレートが用意されています。
このシナリオでは、[F5 BIG-IP APM Microsoft Entra ID 統合] > [追加] を選びます。
Azure 構成
BIG-IP によって Microsoft Entra テナント内に作成されるアプリと、MyApps ポータル にあるアイコンの [表示名] を入力します。
IdP Initiated サインオンを有効にするには、[サインオン URL] (省略可能) に何も入力しないでください。
[署名キー] と [署名証明書] の横にある [更新] アイコンを選択して、先ほどインポートした証明書を見つけます。
[署名キーのパスフレーズ] に証明書のパスワードを入力します。
[署名オプション] (省略可能) を有効にして、BIG-IP が、Microsoft Entra ID によって署名されたトークンと要求を受け入れるようにします。
ユーザーとユーザー グループ は、Microsoft Entra テナントから動的にクエリが行われ、アプリケーションへのアクセスを承認します。 テストに使うユーザーまたはグループを追加します。そうしないと、すべてのアクセスは拒否されます。
ユーザー属性と要求
ユーザーが認証されると、Microsoft Entra ID は、ユーザーを識別する要求と属性の既定のセットを使用して SAML トークンを発行します。 [ユーザー属性と要求] タブには、新しいアプリケーションのために発行する既定の要求が表示されます。 それを使用して、より多くの要求を構成します。
インフラストラクチャは、内部および外部で使用される .com ドメインのサフィックスに基づいています。 機能する Kerberos の制約付き委任シングル サインオン (KCD SSO) の実装を実現するために、他の属性は必要ありません。 別のサフィックスを使用する複数のドメインまたはユーザーのサインインについては、詳細なチュートリアル を参照してください。
追加のユーザー属性
[追加のユーザー属性] タブでは、セッション拡張のために、他のディレクトリに格納されている属性を必要とする、さまざまな分散システムがサポートされます。 次に、ライトウェイト ディレクトリ アクセス プロトコル (LDAP) ソースからフェッチされた属性を SSO ヘッダーとして挿入して、ロール、パートナー ID などに基づいてアクセスを制御できます。
注意
この機能は Microsoft Entra ID と相関関係はありませんが、属性のもう 1 つのソースです。
条件付きアクセス ポリシー
条件付きアクセス ポリシーは、デバイス、アプリケーション、場所、リスクの兆候に基づいてアクセスを制御するために、Microsoft Entra の事前認証後に適用されます。
[使用可能なポリシー] ビューには、ユーザーベースのアクションのない条件付きアクセス ポリシーが示されます。
[選択されたポリシー] ビューには、クラウド アプリをターゲットとするポリシーが表示されます。 テナント レベルで適用されるポリシーは選択解除することも、[使用可能なポリシー] リストに移動することもできません。
公開されているアプリケーションに適用するポリシーを選択するには、以下の手順を実行します:
- [使用可能なポリシー] リストからポリシーを選びます。
- [右矢印] を選択して、これを [選択されたポリシー] リストに移動します。
選択したポリシーでは、[含める] または [除外する] オプションにチェックを入れる必要があります。 両方のオプションをオンにした場合、選択したポリシーは適用されません。
注意
このタブに切り替えると、ポリシー リストが 1 回表示されます。[更新] ボタンを使用することで、ウィザードでテナントに対してクエリを実行するように手動で強制できますが、このボタンはアプリケーションをデプロイした後に表示されます。
仮想サーバーのプロパティ
仮想サーバーは BIG-IP データ プレーン オブジェクトであり、アプリケーションに対するクライアント要求をリッスンする仮想 IP アドレスで表されます。 受信されたトラフィックは処理され、仮想サーバーに関連する APM プロファイルに対して評価されます。 トラフィックはポリシーに従って送信されます。
[宛先アドレス] を入力します。これは、クライアント トラフィックを受信するために BIG-IP で使用できる IPv4 または IPv6 アドレスです。 対応するレコードが ドメイン ネーム サーバー (DNS) にも存在します。それによってクライアントでは、BIG-IP の公開済みアプリケーションの外部 URL を、アプリケーションではなく、この IP に解決できるようになります。 テストでは、テスト PC の localhost DNS を使用できます。
[サービス ポート] で、HTTPS に対して「443」と入力します。
[リダイレクト ポートを有効にする] をオンにし、[リダイレクト ポート] に入力します。これは、受信 HTTP クライアント トラフィックを HTTPS にリダイレクトします。
[クライアント SSL プロファイル] では、クライアント接続がトランスポート層セキュリティ (TLS) 経由で暗号化されるように、HTTPS 用の仮想サーバーを有効にします。 前提条件として作成した [クライアント SSL プロファイル] を選択するか、テストする場合は既定値のままにします。
プールのプロパティ
[アプリケーション プール] タブには、アプリケーション サーバーを含むプールとして表される、BIG-IP の背後にあるサービスが表示されます。
[プールの選択] で、新しいプールを作成するか、既存のものを選びます。
[負荷分散方法] で、[ラウンド ロビン] などを選びます。
[プール サーバー] では、サーバー ノードを選択するか、ヘッダーベースのアプリケーションをホストするバックエンド ノードの IP とポートを指定します。
バックエンド アプリケーションは HTTP ポート 80 で実行されます。 アプリケーションが HTTPS で実行される場合は、ポートを 443 に切り替えることができます。
シングル サインオンと HTTP ヘッダー
SSO を有効にすると、ユーザーは認証情報を入力しなくても、BIG-IP で公開されているサービスにアクセスできるようになります。 Easy Button ウィザードでは、SSO 用に Kerberos、OAuth Bearer、HTTP Authorization ヘッダーがサポートされています。 これらの手順には、作成した Kerberos 委任アカウントを使ってください。
[Kerberos] と [詳細設定の表示] を有効にして、次の情報を入力します:
[ユーザー名ソース]: SSO のためにキャッシュする優先ユーザー名。 ユーザー ID のソースとしてセッション変数を指定できますが、session.saml.last.identity は、ログインしたユーザー ID を含む Microsoft Entra 要求が保持されるため、より効果的に機能します。
[ユーザー領域のソース]: ユーザー ドメインが BIG-IP の Kerberos 領域と異なる場合に必要です。 その場合、APM セッション変数には、ログインしているユーザー ドメインが含まれます。 たとえば、session.saml.last.attr.name.domain
[KDC]: ドメイン コントローラーの IP、または DNS が構成されていて効率的である場合は FQDN
[UPN サポート]: APM で Kerberos チケット発行にユーザー プリンシパル名 (UPN) を使用する場合に、このオプションを有効にします
[SPN パターン]: HTTP/%h を使用して、クライアント要求のホスト ヘッダーを使用し、Kerberos トークンの要求対象となるサービスプリンシパル名 (SPN) を構築するように APM に通知します
[承認の送信]: 1 回目の要求で Kerberos トークンを受信せずに、認証をネゴシエートするアプリケーションでは無効にします。 例: Tomcat。
セッションの管理
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 の使用に関する詳細については、次を参照してください:
概要
このセクションは、構成の内訳になります。
[デプロイ] を選択して設定をコミットし、エンタープライズ アプリケーションのテナント リストにアプリケーションが存在することを検証します。
KCD 構成
BIG-IP APM がユーザーに代わってバックエンド アプリケーションへの SSO を実行する場合は、ターゲット AD ドメインでキー配布センター (KCD) を構成します。 認証を委任するには、ドメイン サービス アカウントで BIG-IP APM をプロビジョニングする必要があります。
APM サービス アカウントと委任が設定されている場合は、このセクションをスキップします。 それ以外の場合は、管理者アカウントでドメイン コントローラーにサインインします。
このシナリオでは、アプリケーションはサーバー APP-VM-01 にホストされ、コンピューターの ID ではなく、web_svc_account という名前のサービス アカウントのコンテキストで実行されています。 APM に割り当てられた、委任する側のサービス アカウントの名称は F5-BIG-IP です。
BIG-IP APM 委任アカウントを作成する
BIG-IP ではグループ管理されたサービス アカウント (gMSA) がサポートされていないため、APM のサービス アカウントとして使用する標準ユーザー アカウントを作成します。
次の PowerShell コマンドを入力します。 [UserPrincipalName] と [SamAccountName] の値を、お使いの環境値に置き換えます。 セキュリティを強化するため、アプリケーションのホスト ヘッダーに一致する専用の 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
注意
ホストを使用すると、ホストで実行されているアプリケーションはアカウントを委任しますが、HTTPS を使用すると、HTTP プロトコル関連の操作のみが許可されます。
Web アプリケーション サービスのアカウントに委任している間に使用する APM サービス アカウントのサービス プリンシパル名 (SPN) を作成します。
Set-AdUser -Identity f5-big-ip -ServicePrincipalNames @{ Add="host/f5-big-ip.contoso.com" }
注意
ホストまたはパーツを UserPrincipleName (host/name.domain@domain) または ServicePrincipleName (host/name.domain) の形式で含める必要があります。
ターゲット SPN を指定する前に、その SPN 構成を表示します。 SPN が APM サービス アカウントに対して表示されていることを確認します。 APM サービス アカウントが Web アプリケーションの委任を行います。
Web アプリケーションがコンピューターのコンテキストまたは専用サービス アカウントで実行されていることを確認します。
コンピュータ コンテキストの場合、次のコマンドを使用して、アカウント オブジェクトに対してクエリを実行し、定義されている SPN を確認します。 <name_of_account> は、実際の環境のアカウントに置き換えてください。
Get-ADComputer -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames
例: Get-User -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames
専用サービス アカウントの場合、次のコマンドを使用して、アカウント オブジェクトに対してクエリを実行し、定義されている SPN を確認します。 <name_of_account> は、実際の環境のアカウントに置き換えてください。
Get-User -identity <name_of_account> -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames
次に例を示します。
Get-Computer -identity f5-big-ip -properties ServicePrincipalNames | Select-Object -ExpandProperty ServicePrincipalNames
アプリをマシン コンテキストで実行した場合は、コンピューター アカウントのオブジェクトに SPN を追加します:
Set-Computer -Identity APP-VM-01 -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }
SPN の定義後、APM サービス アカウントがそのサービスに対して委任を行うための信頼を確立します。 その構成は、BIG-IP インスタンスとアプリケーション サーバーのトポロジによって異なります。
BIG-IP とターゲット アプリケーションを同じドメインで構成する
APM サービス アカウントが認証を委任するための信頼を設定します:
Get-User -Identity f5-big-ip | Set-AccountControl -TrustedToAuthForDelegation $true
APM サービス アカウントは、委任先としてターゲット SPN を把握する必要があります。 ターゲット SPN は、Web アプリケーションを実行しているサービス アカウントに設定します。
Set-User -Identity f5-big-ip -Add @{ 'msDS-AllowedToDelegateTo'=@('HTTP/myexpenses.contoso.com') }
注意
これらのタスクは、ドメイン コントローラー上で、ユーザーとコンピュータおよび Microsoft 管理コンソール (MMC) スナップインを使用して完了できます。
異なるドメインにある BIG-IP とアプリケーション
Windows Server 2012 以降のバージョンでは、クロス ドメインの KCD にリソースベースの制約付き委任 (RBCD) が使用されます。 サービスの制約は、ドメイン管理者からサービス管理者に転送されます。 この委任により、バックエンドのサービス管理者が SSO を許可または拒否できます。 この状況により、構成の委任時に異なるアプローチが作成されます。これは、PowerShell でのみ可能です。
アプリケーション サービス アカウント (コンピュータまたは専用サービス アカウント) の PrincipalsAllowedToDelegateToAccount プロパティを使って、BIG-IP からの委任を行えます。 このシナリオでは、アプリケーションと同じドメインのドメイン コントローラー (Windows Server 2012 R2 以降) で以下の PowerShell コマンドを使用します。
Web アプリケーション サービス アカウントに対して定義された SPN を使用します。 セキュリティを強化するため、アプリケーションのホスト ヘッダーに一致する専用の SPN を使用します。 たとえば、この例の Web アプリケーションのホスト ヘッダーは myexpenses.contoso.com
なので、アプリケーション サービスのアカウント オブジェクトに HTTP/myexpenses.contoso.com
を追加します:
Set-User -Identity web_svc_account -ServicePrincipalNames @{ Add="http/myexpenses.contoso.com" }
次のコマンドの場合は、コンテキストに注意してください。
web_svc_account サービスがユーザー アカウントのコンテキストで実行されている場合は、以下のコマンドを使用します:
$big-ip= Get-Computer -Identity f5-big-ip -server dc.contoso.com
``Set-User -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount`
$big-ip Get-User web_svc_account -Properties PrincipalsAllowedToDelegateToAccount
web_svc_account サービスがコンピューター アカウントのコンテキストで実行されている場合は、以下のコマンドを使用します:
$big-ip= Get-Computer -Identity f5-big-ip -server dc.contoso.com
Set-Computer -Identity web_svc_account -PrincipalsAllowedToDelegateToAccount
$big-ip Get-Computer web_svc_account -Properties PrincipalsAllowedToDelegateToAccount
詳細については、「ドメイン間の Kerberos の制約付き委任」を参照してください。
アプリ ビュー
ブラウザーから、アプリケーションの外部 URL に接続するか、[Microsoft MyApps ポータル] の [アプリケーション] のアイコンを選択します。 Microsoft Entra ID に対して認証を行うと、リダイレクトによりアプリケーションの BIG-IP の仮想サーバーに移動し、SSO を通じてサインイン処理が行われます。
このパターンを使用する組織では、セキュリティを強化するため、アプリケーションへの直接アクセスをブロックできます。そうすることで、BIG-IP 経由の厳密なパスを強制します。
Microsoft Entra B2B ゲスト アクセス
このシナリオでは Microsoft Entra B2B ゲスト アクセス がサポートされています。これは、Microsoft Entra テナントから、アプリケーションによって承認のために使用されるディレクトリにゲスト ID を送ることによって行われます。 AD のゲスト オブジェクトをローカルで表現しないと、BIG-IP ではバックエンド アプリケーションへの KCD SSO の Kerberos チケットの受信に失敗します。
詳細なデプロイ
ガイド付き構成テンプレートでは、一部の要件を達成するための柔軟性が欠けている可能性があります。 そのようなシナリオについては、「kerberos ベースの SSO の詳細構成」を参照してください。
また、BIG-IP では、ガイド付き構成の厳格な管理モードを無効にすることもできます。 構成を手動で変更できますが、構成の大部分はウィザードベースのテンプレートを使用して自動化されます。
[アクセス] > [ガイド付き構成] の順に移動して、アプリケーションの構成の行の右端にある、小さな [パッドロック] アイコンを選択します。
この時点で、ウィザード UI を介した変更は行えません。ただし、アプリケーションの公開されたインスタンスに関連付けられているすべての BIG-IP オブジェクトのロックが解除され、管理できるようになります。
注意
厳格モードを再度有効にして構成をデプロイすると、ガイド付き構成 UI の外部で実行された設定が上書きされます。 そのため、運用サービスに対しては高度な構成の方式をお勧めします。
トラブルシューティング
Kerberos SSO の問題のトラブルシューティングを行う場合は、次の概念に注意してください。
- Kerberos は時刻に依存するため、サーバーとクライアントが正しい時刻に設定されている必要があります。可能であれば信頼性の高いタイム ソースと同期されるようにします。
- ドメイン コントローラーと Web アプリケーションのホスト名が DNS で解決可能であることを確認します
- ドメイン PC のコマンド ラインから setspn -q HTTP/my_target_SPN というクエリを実行し、重複する SPN が AD 環境に存在しないことを確かめます
IIS アプリケーションが KCD のために構成されていることを検証するには、「アプリケーション プロキシのガイダンス」を参照してください。 AskF5 の記事「Kerberos のシングル サインオン メソッド」も参照してください。
ログ分析: 詳細度を上げる
BIG-IP のログを使用して、接続、SSO、ポリシー違反、正しく構成されていない変数マッピングなどの問題を分離します。 ログの詳細レベルを上げることでトラブルシューティングを開始します。
- [アクセス ポリシー] > [概要] > [イベント ログ] > [設定] に移動します。
- 公開されたアプリケーションの行を選択し、[編集] > [システム ログへのアクセス] を選択します。
- SSO の一覧から [デバッグ] を選択して [OK] を選択します。
問題を再現し、ログを検査します。 完了したら、詳細モードでは多くのデータが生成されるため、機能を元に戻します。
BIG-IP エラー ページ
Microsoft Entra の事前認証後に BIG-IP のエラーが表示される場合は、この問題が Microsoft Entra ID から BIG-IP への SSO に関連している可能性があります。
- [アクセス] > [概要] > [レポートへのアクセス] に移動します。
- 過去 1 時間のレポートを実行して、ログで手掛かりを確認します。
- [セッション変数の表示] リンクを使用して、APM が Microsoft Entra ID から予想される要求を受信しているかどうかを把握します。
バックエンド要求
エラー ページが表示されない場合は、問題は、バックエンド要求や、BIG-IP からアプリケーションへの SSO に関係していることが考えられます。
- [アクセス ポリシー] > [概要] > [アクティブなセッション] に移動します。
- アクティブなセッションのリンクを選択します。 この場所にある [変数の表示] リンクは、KCD の issue、特に BIG-IP APM で適切なユーザー識別子やドメイン識別子をセッション変数から取得できない場合の根本原因を特定するのに役立つ場合があります
詳細については、以下を参照してください:
- dev/central: APM 変数代入の例
- MyF5: セッション変数