次の方法で共有


Microsoft Entra Private Access でリソースへのシングル サインオン (SSO) に Kerberos を使用する

Microsoft Entra Private Access を介して発行されたオンプレミスのリソースにシングル サインオンを提供します。 Microsoft Entra Private Access では、Kerberos を使用してこれらのリソースをサポートします。 必要に応じて、Windows Hello for Business クラウド Kerberos 信頼を使用してユーザーにシングル サインオンを許可します。

前提条件

シングル サインオンの使用を開始する前に、環境の準備ができていることを確認します。

  • Active Directory フォレスト。 このガイドでは、パブリックに解決できるフォレスト ドメイン名を使用します。 ただし、パブリックに解決されるドメインは必須ではありません。
  • Microsoft Entra Private Access 転送プロファイルを有効にします。
  • Microsoft Entra Private Access コネクタの最新バージョンがドメイン コントローラーにアクセスできる Windows サーバーにインストールされている。
  • グローバル セキュア アクセス クライアントの最新バージョン。 クライアントの詳細については、「グローバル セキュア アクセス クライアント」を参照してください。

シングル サインオンで使用するリソースを公開する

シングル サインオンをテストするには、ファイル共有を公開する新しいエンタープライズ アプリケーションを作成します。 エンタープライズ アプリケーションを使用してファイル共有を公開すると、条件付きアクセス ポリシーをリソースに割り当てて、多要素認証などの追加のセキュリティ コントロールを適用できます。

  1. Microsoft Entra に少なくともアプリケーション管理者としてサインインします。
  2. [グローバル セキュア アクセス]>[アプリケーション]>[エンタープライズ アプリケーション] に移動します。
  3. [新しいアプリケーション] を選択します。
  4. ポート 445/TCP を使用してファイル共有の IP を持つ新しいアプリ セグメントを追加し、[保存]を選択します。 このポートは、サーバー メッセージ ブロック (SMB) プロトコルで使用されます。
  5. 作成したエンタープライズ アプリケーションを開き、[ユーザーとグループ] を選択して、リソースへのアクセスを割り当てます。

Microsoft Entra ID 参加済みデバイス - パスワードベースの SSO

ユーザーがパスワードを使用して Windows にサインインする場合、このガイドで説明する以外の追加の構成は必要ありません。

Microsoft Entra ID 参加済みデバイスは、Microsoft Entra ID Connect によって同期される Active Directory ドメインとユーザー情報に依存します。 Windows ドメイン コントローラー ロケーターは、同期のためにドメイン コントローラーを検出します。 ユーザーのユーザー プリンシパル名 (UPN) とパスワードは、Kerberos チケット許可チケット (TGT) を要求するために使用されます。 このフローの詳細については、「Microsoft Entra 参加済みデバイス上でオンプレミス リソースへの SSO が機能するしくみ」を参照してください。

Microsoft Entra ID 参加済みおよび Microsoft Entra ID ハイブリッド参加済みデバイス – Windows Hello for Business シングル サインオン

Windows Hello for Business には、このガイドで説明する以外の追加の構成が必要です。

Microsoft Entra ID を使用してハイブリッド クラウド Kerberos 信頼をデプロイすることをお勧めします。 クラウド Kerberos 信頼を使用するデバイスは、シングル サインオンに使用される TGT チケットを取得します。 クラウド Kerberos 信頼の詳細については、「Microsoft Entra ID を使用してオンプレミスのリソースへのパスワードレス セキュリティ キー サインインを有効にする」を参照してください。

オンプレミスの Active Directory を使用して Windows Hello for Business クラウド Kerberos 信頼をデプロイするには、次の手順を行います。

  1. Microsoft Entra ID Kerberos サーバー オブジェクトを作成します。 オブジェクトを作成する方法については、「AzureADHybridAuthenticationManagement モジュールをインストールする」を参照してください。
  2. Intune またはグループ ポリシーを使用してデバイスで WHfB クラウド信頼を有効にします。 WHfB を有効にする方法については、「Cloud Kerberos 信頼デプロイ ガイド」を参照してください。

ドメイン コントローラーを公開する

クライアントが Kerberos チケットを取得するには、ドメイン コントローラーを公開する必要があります。 このチケットは、オンプレミスのリソースへのシングル サインオンに必要です。

少なくとも、プライベート アクセス コネクタがインストールされている Active Directory サイトで構成されているすべてのドメイン コントローラーを公開します。 たとえば、プライベート アクセス コネクタがブリスベンのデータ センターにある場合、ブリスベンのデータ センターにすべてのドメイン コントローラーを公開します。

オンプレミスのリソースへの SSO を有効にするには、ドメイン コントローラー ポートが必要です。

港 / ポート プロトコル 目的
88 ユーザー データグラム プロトコル (UDP) または伝送制御プロトコル (TCP) Kerberos
123 UDP(ユーザー・データグラム・プロトコル) ネットワーク タイム プロトコル (NTP)
135 UDP/TCP ドメイン コントローラーからドメイン コントローラー、クライアントからドメイン コントローラーへの操作
138 UDP(ユーザー・データグラム・プロトコル) ドメイン コントローラー間のファイル レプリケーション サービス
139 TCP ドメイン コントローラー間のファイル レプリケーション サービス
389 UDP(ユーザー・データグラム・プロトコル) DC ロケーター
4:45 UDP/TCP レプリケーション、ユーザーとコンピューターの認証、グループ ポリシー
464 UDP/TCP パスワード変更要求
636 TCP LDAP SSL(LDAPのSSL暗号化)
1025-5000 UDP/TCP エフェメラル ポートには、クライアントからドメイン コントローラーへのグローバル カタログに使用される 3268 から 3269 TCP が含まれます
49152-65535 UDP/TCP エフェメラル ポート

メモ

このガイドでは、オンプレミスのリソースへの SSO を有効にすることに重点を置いており、Windows ドメイン参加済みクライアントがドメイン操作 (パスワードの変更、グループ ポリシーなど) を実行するために必要な構成については説明しません。 Windows ネットワーク ポートの要件の詳細については、Windows のサービスの概要とネットワーク ポートの要件に関するページを参照してください。

  1. Microsoft Entra に少なくともアプリケーション管理者としてサインインします。
  2. [グローバル セキュア アクセス]>[アプリケーション]>[エンタープライズ アプリケーション] に移動します。
  3. [新しいアプリケーション] を選択して、ドメイン コントローラーを発行する新しいアプリケーションを作成します。
  4. [アプリケーション セグメントの追加] を選択し、表に従って、ドメイン コントローラーのすべての IP または完全修飾ドメイン名 (FQDN) とポートを追加します。 発行するドメイン コントローラーは、Private Access コネクタが配置されている Active Directory サイト内のものだけにする必要があります。

メモ

ドメイン コントローラーを公開する際には、ワイルドカード FQDN を使用しないで、代わりに特定の IP または FQDN を追加してください。

エンタープライズ アプリケーションを作成したら、アプリに戻り、[ユーザーとグループ] を選択します。 Active Directory から同期されたすべてのユーザーを追加します。

DNS サフィックスを公開する

グローバル セキュア アクセス クライアントでプライベート DNS 名を解決できるようにプライベート DNS を構成します。 シングル サインオンには、プライベート DNS 名が必要です。 クライアントはそれらを使用して、公開されたオンプレミスのリソースにアクセスします。 クイック アクセスを使用したプライベート DNSの詳細については、how-to-configure-quick-access.md#add-private-dns-suffixes をご覧ください。

  1. [グローバル セキュア アクセス]>[アプリケーション]>[クイック アクセス] に移動します。
  2. [プライベート DNS] タブを選択し、[プライベート DNS を有効にする] を選択します。
  3. [DNS サフィックスの追加] を選択します。 少なくとも、Microsoft Entra ID に同期されたユーザーをホストしている Active Directory フォレストの最上位のサフィックスを追加します。
  4. [保存] を選択します。

Kerberos SSO(シングルサインオン)を用いてSMBファイル共有にアクセスする方法

このダイアグラムは、Windows Hello for Business と Cloud Trust で構成されている Windows デバイスから SMB ファイル共有にアクセスしようとしたときに、Microsoft Entra Private Access がどのように機能するかを示しています。 この例では、管理者は、クイック アクセス プライベート DNS と 2 つのエンタープライズ アプリ (ドメイン コントローラー用と SMB ファイル共有用) を構成しています。

SMB ファイル共有に Kerberos SSO が使用されている Microsoft Entra Private Access のダイアグラム。

ステップ 説明
ある ユーザーが FQDN (完全修飾ドメイン名) を使用して SMB ファイル共有にアクセスしようとします。 GSA クライアントによってトラフィックが傍受され、SSE (セキュリティ サービス エッジ) にトンネルされます。 Microsoft Entra ID の承認ポリシーは、ユーザーがアプリケーションや条件付きアクセスに割り当てられているかどうかなどが評価され、適用されます。 ユーザーが認可されると、Microsoft Entra ID から SMB エンタープライズ アプリケーションのトークンが発行されます。 Private Access サービスに進むために、トラフィックはアプリケーションのアクセス トークンと共に解放されます。 アクセス トークンは Private Access サービスによって検証され、接続は Private Access バックエンド サービスに仲介されます。 その後、接続がプライベート ネットワーク コネクタに仲介されます。
B プライベート ネットワーク コネクタにより、ターゲット サーバーの IP アドレスを特定する DNS クエリが実行されます。 プライベート ネットワーク上の DNS (ドメイン ネーム システム) サービスから応答が送信されます。 プライベート ネットワーク コネクタによりターゲット SMB ファイル共有へのアクセスが試みられ、その後、Kerberos 認証が要求されます。
C クライアントにより、ドメイン コントローラーを検索する SRV DNS クエリが生成されます。 フェーズ A が繰り返され、DNS クエリが傍受され、Quick Access アプリのユーザーが承認されます。 プライベート ネットワーク コネクタにより、SRV (シェーダー リソース ビュー) DNS クエリがプライベート ネットワークに送信されます。 DNS サービスでは、プライベート ネットワーク コネクタを介してクライアントに DNS 応答が送信されます。
D Windows デバイスでは、Microsoft Entra ID に対して部分的な TGT (別名クラウド TGT) が要求されます (まだ存在しない場合)。 Microsoft Entra ID により部分的な TGT が発行されます。
E Windows では、フェーズ C からの DNS 応答に記載されている各ドメイン コントローラー (DC) が使用され、UDP (ユーザー データグラム プロトコル) ポート 389 経由で DC ロケーター接続が開始されます。フェーズ A が繰り返され、DC ロケーター トラフィックが傍受され、オンプレミスのドメイン コントローラーを発行するエンタープライズ アプリケーションのユーザーが承認されます。 プライベート ネットワーク コネクタにより、DC ロケーター トラフィックが各ドメイン コントローラーに送信されます。 応答はクライアントに転送されます。 Windows では、最も応答の速いドメイン コントローラーが選択されキャッシュされます。
F クライアントが部分的なTGTを完全なTGTと交換します。 その後、完全な TGT が使用され、SMB ファイル共有の TGS が要求され受信されます。
G クライアントにより、SMB ファイル共有に TGS が提示されます。 SMB ファイル共有では TGS が検証されます。 ファイル共有へのアクセス権が付与されます。

トラブルシューティング

パスワード認証を使用する Microsoft Entra ID 参加済みデバイスは、Microsoft Entra ID Connect によって同期される属性に依存します。 属性 onPremisesDomainNameonPremisesUserPrincipalNameonPremisesSamAccountName の値が正しいことを確認します。 値を確認するには、Graph エクスプローラーと PowerShell を使用します。

これらの値が存在しない場合は、Microsoft Entra ID Connect 同期の設定を確認し、これらの属性が同期されていることを確認します。 属性の同期の詳細については、「Microsoft Entra Connect 同期: Microsoft Entra ID に同期される属性」を参照してください。

Windows Hello for Business を使用してサインインする場合、管理者特権以外のコマンド プロンプトから次のコマンドを実行します: dsregcmd /status

属性の値が YES であることを確認します。

PRT は存在している必要があります。 PRT の詳細については、「Windows デバイスでのプライマリ更新トークンの問題のトラブルシューティング」を参照してください。

OnPremTgt: YES は、Entra Kerberos が正しく構成されており、ユーザーにオンプレミス リソースへの SSO の部分的な TGT が発行されたことを示します。 クラウド Kerberos 信頼の構成の詳細については、「オンプレミスのリソースへのパスワードレス セキュリティ キー サインイン」をご覧ください。

klist コマンドを実行します。

klist cloud_debug

Cloud Primary (Hybrid logon) TGT available: フィールドの値が 1 であることを確認します。

nltest コマンドを実行します。

nltest /dsgetdc:contoso /keylist /kdc

DC ロケーターから、クラウド Kerberos 信頼操作の参加者であるドメイン コントローラーが返されることを確認します。 返された DC には、klist フラグが含まれている必要があります。

Windows マシンで Kerberos のネガティブ キャッシュを回避する方法

Kerberos は、ユーザーまたはホストの ID を検証する Windows のサービスに推奨される認証方法です。 Kerberos のネガティブ キャッシュによって、Kerberos チケットの延期期間が発生します。

Kerberos のネガティブ キャッシュは、グローバル セキュア アクセス クライアントがインストールされている Windows デバイスに対して発生します。 GSA クライアントは Kerberos チケットの最も近いドメイン コントローラーに接続しようとしますが、GSA クライアントがまだ接続されていないか、その時点でドメイン コントローラーに到達できないため、要求は失敗します。 要求が失敗すると、レジストリの既定の FarKdcTimeout 時間が 10 分 に設定されているため、クライアントはドメイン コントローラーへの再接続をすぐには試行しません。 GSA クライアントがこの既定の 10 分より前に接続された場合でも、GSA クライアントはネガティブ キャッシュ エントリを保持し続け、ドメイン コントローラーの検索プロセスが失敗したと判断します。 既定の 10 分が経過すると、GSA クライアントは Kerberos チケットを使用してドメイン コントローラーに対してクエリを実行し、接続は成功します。

この問題を軽減するには、レジストリの既定の FarKdcTimeout 時間を変更するか、GSA クライアントが再起動されるたびに Kerberos キャッシュを手動で瞬時にフラッシュすることができます。

オプション 1: レジストリの既定の FarKdcTimeout 時間を変更する

Windows を実行している場合は、Kerberos パラメーターを変更して、Kerberos 認証の問題のトラブルシューティングまたは Kerberos プロトコルのテストを行うことができます。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前に、バックアップします。 その後、問題が起こった場合は、レジストリを復元できます。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。

パラメーター キーの下のレジストリ エントリと値

このセクションにリストされるレジストリ エントリを次のレジストリ サブキーに追加する必要があります:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

メモ

Parameters キーが Kerberos の下にリストされていない場合、作成する必要があります。

次の FarKdcTimeout レジストリ エントリを変更します

  • エントリ: FarKdcTimeout
  • 型: REG_DWORD
  • 既定値:0 (minutes)

これは、ドメイン コントローラー キャッシュ内の別のサイトからドメイン コントローラーを無効にするために使用されるタイムアウト値です。

オプション 2: Kerberos キャッシュの手動による消去

Kerberos キャッシュを手動で消去することを選択した場合は、GSA クライアントを再起動するたびにこの手順を完了する必要があります。

管理者としてコマンドプロンプトを開き、コマンド KLIST PURGE_BIND を実行します。

次のステップ