このガイドでは、Microsoft Entra 条件付きアクセス を使用して、VPN ユーザーにリソースへのアクセスを許可する方法について説明します。 仮想プライベート ネットワーク (VPN) 接続にMicrosoft Entra 条件付きアクセスを使用すると、VPN 接続の保護に役立ちます。 条件付きアクセスはポリシー ベースの評価エンジンであり、接続されているすべてのアプリケーションのアクセス規則Microsoft Entra作成するために使用できます。
Prerequisites
VPN の条件付きアクセスの構成を開始する前に、次の前提条件を満たす必要があります。
-
Microsoft Entra ID で Conditional Access を確認。
- 条件付きアクセスを操作する管理者は、実行しているタスクに応じて、次のいずれかのロール割り当てを持っている必要があります。
ゼロ トラスト最小特権の原則に従う場合は、Privileged Identity Management (PIM) を使用して、Just-In-Time で特権ロールの割り当てをアクティブ化することを検討してください。
- 条件付きアクセス ポリシーと設定を読むためのセキュリティリーダーアクセス。
- 条件付きアクセス ポリシー を作成または変更するための条件付きアクセス管理者アクセス。
- 条件付きアクセスを操作する管理者は、実行しているタスクに応じて、次のいずれかのロール割り当てを持っている必要があります。
ゼロ トラスト最小特権の原則に従う場合は、Privileged Identity Management (PIM) を使用して、Just-In-Time で特権ロールの割り当てをアクティブ化することを検討してください。
- VPN と条件付きアクセスを構成します。
- 環境内で Always On VPN インフラストラクチャを設定するか、 チュートリアル「Always On VPN をデプロイする - Always On VPN のインフラストラクチャをセットアップする」を完了します。
- Intune を使用して、VPN 接続を使用して Windows クライアント コンピューターを構成します。 詳細については、「Microsoft Intune を使用して Windows クライアントに Always On VPN プロファイルを展開する」を参照してください。
証明書失効リスト (CRL) が無視されるように EAP-TLS を構成する
ネットワーク ポリシー サーバー (NPS) が証明書チェーン (ルート証明書を含む) の失効チェックを完了しない限り、EAP-TLS クライアントは接続できません。 Microsoft Entra IDによってユーザーに発行されたクラウド証明書は、有効期間が 1 時間の有効期間が短い証明書であるため、CRL を持っていません。 CRL が存在しないことを無視するように NPS で EAP を構成する必要があります。 認証方法は EAP-TLS であるため、このレジストリ値を EAP\13 の下に追加するだけで済む。 他の EAP 認証方法を使用する場合は、それらのメソッドの下にもレジストリ値を追加します。
このセクションでは、 IgnoreNoRevocationCheck と NoRevocationCheckを追加します。 既定では、IgnoreNoRevocationCheck と NoRevocationCheck は 0 (無効) に設定されています。
NPS CRL レジストリ設定の詳細については、「ネットワーク ポリシー サーバー証明書失効リストのチェック レジストリ設定の構成」を参照してください。
Important
Windows ルーティングとリモート アクセス サーバー (RRAS) が NPS を使用して 2 つ目の NPS への RADIUS 呼び出しをプロキシする場合は、両方のサーバーで IgnoreNoRevocationCheck=1を設定する必要があります。
このレジストリ変更を実装しない場合、PEAP でクラウド証明書を使用する IKEv2 接続は失敗しますが、オンプレミス CA から発行されたクライアント認証証明書を使用した IKEv2 接続は引き続き機能します。
NPS でregedit.exe を開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13に移動します。
[ 新規 > 編集] を選択し、[ DWORD (32 ビット) 値] を選択します。 「IgnoreNoRevocationCheck」と入力します。
IgnoreNoRevocationCheck をダブルクリックし、値データを 1 に設定します。
[ 新規 > 編集] を選択し、[ DWORD (32 ビット) 値] を選択します。 「NoRevocationCheck」と入力します。
[NoRevocationCheck] をダブルクリックし、[値] データを 1 に設定します。
[ OK] を 選択し、サーバーを再起動します。 RRAS サービスと NPS サービスを再起動するだけでは不十分です。
| レジストリパス | EAP 拡張機能 |
|---|---|
| HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 | EAP-TLS |
| HKLM\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\25 | PEAP |
Microsoft Entra IDを使用して VPN 認証用のルート証明書を作成する
このセクションでは、Microsoft Entra IDを使用して VPN 認証用の条件付きアクセス ルート証明書を構成します。 最初の証明書を作成すると、Microsoft Entra IDはテナントに VPN Server というクラウド アプリを自動的に作成します。 管理者は、VPN 接続が完全に動作する前に、このアプリケーションの管理者の同意を 1 回付与する必要があります。 VPN 接続の条件付きアクセスを構成するには、次の手順を実行します。
Azure ポータルで VPN 証明書を作成します。
VPN 証明書をダウンロードする。
VPN および NPS サーバーに証明書を展開する。
Important
Azure ポータルで VPN 証明書を作成すると、Microsoft Entra IDすぐに使用を開始して、有効期間の短い証明書を VPN クライアントに発行します。 VPN クライアントの資格情報の検証に関する問題を回避するには、VPN 証明書をすぐに VPN サーバーに展開することが重要です。
ユーザーが VPN 接続を試みると、VPN クライアントは、Windows クライアントの Web アカウント マネージャー (WAM) を呼び出します。 WAM は VPN サーバー クラウド アプリを呼び出します。 条件付きアクセス ポリシーの条件と制御が満たされると、Microsoft Entra IDは、有効期間が短い (1 時間) の証明書の形式でトークンを WAM に発行します。 WAM は、ユーザーの証明書ストアに証明書を配置し、VPN クライアントに制御を渡します。
その後、VPN クライアントは、資格情報の検証のために、Microsoft Entra IDによって発行された証明書を VPN に送信します。
Note
Microsoft Entra IDは、[VPN 接続] ウィンドウで最後に作成された証明書を発行者として使用します。 VPN 接続リーフ証明書Microsoft Entra 条件付きアクセス、強力な証明書マッピングがサポートされるようになりました。これは、KB5014754 によって導入された証明書ベースの認証要件です。 VPN 接続リーフ証明書には、onPremisesSecurityIdentifier 属性から取得したユーザーの SID のエンコードされたバージョンを含む SID 拡張機能 (1.3.6.1.4.1.311.25.2) が含まれるようになりました。
ルート証明書を作成する
Azure ポータルにグローバル管理者としてサインインします。
左側のメニューで、Microsoft Entra ID を選択します。
Microsoft Entra ID ページの Manage セクションで、Security を選択します。
[ セキュリティ ] ページの [ 保護 ] セクションで、[ 条件付きアクセス] を選択します。
条件付きアクセスについて |[ポリシー] ページの [管理] セクションで、[VPN 接続] を選択します。
[VPN 接続] ページで、[新しい証明書] を選択します。
[ 新規 ] ページで、次の手順を実行します。
- [ 期間の選択] で、1 年、2 年、または 3 年を選択します。
- を選択してを作成します。
テナントで作成した最初の VPN 証明書の場合、 VPN Server アプリケーションの管理者の同意を要求する警告バナーが表示されます。 [ 管理者の同意を付与する ( グローバル管理者 ロールが必要)] を選択し、要求されたアクセス許可を受け入れます。 このアクションは、テナントごとに 1 回だけ実行する必要があります。 後続の証明書操作では、再び同意する必要はありません。
Note
同意バナーが表示されない場合は、VPN Server アプリケーションに必要なアクセス許可があります。
条件付きアクセス ポリシーを構成する
このセクションでは、VPN 接続の条件付きアクセス ポリシーを構成します。 [VPN 接続] ウィンドウで最初のルート証明書を作成すると、テナントに VPN Server クラウド アプリケーションが自動的に作成されます。
VPN ユーザー グループに割り当て、 クラウド アプリ のスコープを VPN Server に設定する条件付きアクセス ポリシーを作成 します。
- ユーザー: VPN ユーザー
- クラウド アプリ: VPN サーバー
- 許可 (アクセス制御):多要素認証が必要です。 必要に応じて、他のコントロールを使用できます。
プロシージャ: この手順では、最も基本的な条件付きアクセス ポリシーの作成について説明します。 必要に応じて、条件とコントロールをさらに追加できます。
[ 条件付きアクセス ] ページの上部にあるツール バーで、[ 追加] を選択します。
[ 新規 ] ページの [ 名前 ] ボックスに、ポリシーの名前を入力します。 たとえば、 VPN ポリシーを入力します。
[ 割り当て ] セクションで、[ ユーザーとグループ] を選択します。
[ ユーザーとグループ] ページで、次の手順を実行 します。
[ユーザーとグループの選択] を選択します。
[選択] を選択します。
選択ページで、VPNユーザーグループを選択して、選択をクリックします。
[ ユーザーとグループ ] ページで、[ 完了] を選択します。
[ 新規 ] ページで、次の手順を実行します。
[ 割り当て] セクションで 、[ クラウド アプリ] を選択します。
[ クラウド アプリ ] ページで、[ アプリの選択] を選択します。
[選択] を選択します。
[ 選択 ] ページで、[ VPN サーバー] を選択します。
[ 新規 ] ページで、[ 許可 ] ページを開くには、[ コントロール ] セクションで [ 許可] を選択します。
Grant ページで次の手順を実行します。
[多要素認証が必要] を選択します。
[選択] を選択します。
[ 新規 ] ページで、[ ポリシーの有効化] を [オン] に設定します。
[ 新規 ] ページで、[ 作成] を選択します。
オンプレミス AD に条件付きアクセスルート証明書をデプロイする
このセクションでは、オンプレミスの AD に VPN 認証用の信頼されたルート証明書を展開します。
[VPN 接続] ページで、[証明書のダウンロード] を選択します。
Note
[Base64 証明書のダウンロード] オプションは、展開に Base64 証明書を必要とする一部の構成で使用できます。
エンタープライズ管理者権限でドメインに参加しているコンピューターにサインインし、管理者コマンド プロンプトから次のコマンドを実行して、クラウド ルート証明書を Enterprise NTauth ストアに追加します。
Note
VPN サーバーが Active Directory ドメインに参加していない環境では、クラウド ルート証明書を Trusted Root Certification Authorities ストアに手動で追加する必要があります。
Command Description certutil -dspublish -f VpnCert.cer RootCACN=AIA およびCN=証明機関 コンテナーの下に、2 つのMicrosoft VPN ルート CA gen 1 コンテナーを作成します。 各ルート証明書をcACertificate 属性として両方のMicrosoft VPN ルート CA gen 1 コンテナーに値として発行します。certutil -dspublish -f VpnCert.cer NTAuthCACN=AIAコンテナーとCN=証明機関コンテナーの下に1つのCN=NTAuthCertificatesコンテナーを作成し、各ルート証明書をcACertificate属性の値としてCN=NTAuthCertificatesコンテナーに発行します。 gpupdate /forceWindows サーバーとクライアント コンピューターにルート証明書を迅速に追加します。 ルート証明書がエンタープライズ NTauth ストアに存在し、信頼済みとして表示されることを確認します。
証明機関管理ツールがインストールされているエンタープライズ管理者権限を持つサーバーにサインインします。
Note
既定では、 証明機関管理ツール は証明機関サーバーにインストールされます。 サーバー マネージャーの Role 管理ツールの一部として、他のメンバーのサーバーにインストールできます。
[スタート] メニューから「pkiview.msc」と入力し、[エンタープライズ PKI] ダイアログ ボックスを開きます。
[エンタープライズ PKI] を右クリックし、[AD コンテナーの管理] を選択します。
各Microsoft VPN ルート CA Gen 1 証明書が次の下にあることを確認します。
- NTAuthCertificates
- AIA コンテナー
- 証明機関コンテナー
Windows 10 デバイス OMA-DM ベースの VPNv2 プロファイルを作成する
このセクションでは、Intune を使用して VPN デバイス構成ポリシーを展開することで、OMA-DM ベースの VPNv2 プロファイルを作成します。
Azure ポータルで、
Intune Device Configuration < を選択します。 > Profiles で作成した VPN プロファイルIntune を使用して VPN クライアントを構成 を選択します。ポリシー エディターで、 プロパティ>Settings>Base VPN を選択します。 既存の EAP Xml を拡張して、検出された最初の証明書を使用するのではなく、ユーザーの証明書ストアからMicrosoft Entra 条件付きアクセス証明書を取得するために必要なロジックを VPN クライアントに提供するフィルターを含めます。
Note
このフィルターを使用しない場合、VPN クライアントはオンプレミスの証明機関から発行されたユーザー証明書を取得し、VPN 接続に失敗する可能性があります。
</AcceptServerName></EapType> で終わるセクションを探し、これらの 2 つの値の間に次の文字列を挿入して、VPN クライアントにMicrosoft Entra 条件付きアクセス証明書を選択するロジックを提供します。
<TLSExtensions xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xmlns="http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUList Enabled="true"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions>[ 条件付きアクセス ] ウィンドウで、 この VPN 接続の条件付きアクセス を [有効] に設定します。
この設定を有効にすると、VPNv2 プロファイル XML 内の <DeviceCompliance><Enabled>true</Enabled> の設定が変更されます。
[OK] を選択.
[割り当て] を選択します。 [ 含める ] タブで、[ 含めるグループの選択] を選択します。
このポリシーを受け取る適切なグループを選択し、[ 保存] を選択します。
クライアントで MDM ポリシーの同期を強制する
VPN プロファイルがクライアント デバイスに表示されない場合は、 設定>Network とインターネット>VPN の下で、MDM ポリシーを強制的に同期させることができます。
ドメインに参加しているクライアント コンピューターに VPN Users グループのメンバーとしてサインインします。
[スタート] メニューでアカウントを入力し、Enter キーを押します。
左側のナビゲーション ウィンドウで、[職場または学校にアクセスする] を選択します。
[職場または学校にアクセスする] で、[<\domain> MDM に接続] を選択し、[情報] を選択します。
[同期] を選択し、VPN プロファイルが >Network & internet>VPN の下に表示されていることを確認します。
関連するコンテンツ
VPN での条件付きアクセスの動作の詳細については、「VPN と条件付きアクセス」を参照してください。
高度な VPN 機能の詳細については、「高度な VPN 機能」を参照してください。
VPNv2 CSP の概要については、 VPNv2 CSP を参照してください。