このハウツー ガイドでは、 Microsoft Entra 条件付きアクセスを使用して、VPN ユーザーにリソースへのアクセスを許可する方法について説明します。 仮想プライベート ネットワーク (VPN) 接続の Microsoft Entra 条件付きアクセスを使用すると、VPN 接続を保護することができます。 条件付きアクセスは、ポリシーベースの評価エンジンであり、Microsoft Entra に接続されているすべてのアプリケーションに対するアクセス規則を作成できるようになります。
Prerequisites
VPN への条件付きアクセスの構成を開始する前に、次の前提条件を満たしている必要があります。
-
- 条件付きアクセスを操作する管理者は、実行しているタスクに応じて、次のいずれかのロール割り当てを持っている必要があります。 最小特権 のゼロ トラストの原則に従う場合は、Privileged Identity Management (PIM) を使用して、Just-In-Time で特権ロールの割り当てをアクティブ化することを検討してください。
- 条件付きアクセス ポリシーと構成の読み取り
- 条件付きアクセス ポリシーを作成または変更する
- 条件付きアクセスを操作する管理者は、実行しているタスクに応じて、次のいずれかのロール割り当てを持っている必要があります。 最小特権 のゼロ トラストの原則に従う場合は、Privileged Identity Management (PIM) を使用して、Just-In-Time で特権ロールの割り当てをアクティブ化することを検討してください。
「チュートリアル: Always On VPN の展開 - Always On VPN のインフラストラクチャを設定する」が完了している。または環境内で Always On VPN インフラストラクチャを既にセットアップしている。
Windows クライアント コンピューターでは、Intune を使用して VPN 接続が既に構成されている。 Intune を使用して VPN プロファイルを構成して展開する方法がわからない場合は、「Microsoft Intune を使用して Always On VPN プロファイルを Windows 10 以降のクライアントに展開する」を参照してください。
証明書失効リスト (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 Routing and Remote Access Server (RRAS) が NPS を使って RADIUS 呼び出しを 2 つ目の NPS にプロキシする場合は、両方のサーバーで 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 認証用の条件付きアクセス ルート証明書を構成します。これにより、テナントに VPN サーバーと呼ばれるクラウド アプリが自動的に作成されます。 VPN 接続用の条件付きアクセスを構成するには、以下の操作を行う必要があります。
- Azure Portal で VPN 証明書を作成する。
- VPN 証明書をダウンロードする。
- VPN および NPS サーバーに証明書を展開する。
Important
Azure portal で VPN 証明書が作成されると、Microsoft Entra ID でその使用が即時に開始され、VPN クライアントに有効期間の短い証明書が発行されます。 VPN クライアントの資格情報の検証に関する問題を回避するために、VPN サーバーに VPN 証明書を速やかに展開することが重要です。
ユーザーが VPN 接続を試みると、VPN クライアントは Windows 10 クライアント上の Web アカウント マネージャー (WAM) を呼び出します。 WAM は VPN サーバー クラウド アプリを呼び出します。 条件付きアクセス ポリシーの条件と制御が満たされた場合、Microsoft Entra ID は、有効期間の短い (1 時間) の証明書の形式のトークンを WAM に発行します。 WAM は、ユーザーの証明書ストアに証明書を配置し、VPN クライアントに制御を渡します。
その後、VPN クライアントは、資格情報の検証のために、Microsoft Entra ID によって発行された証明書を VPN に送信します。
Note
Microsoft Entra ID では、VPN 接続ブレードで最後に作成された証明書が発行元として使用されます。 Microsoft Entra 条件付きアクセス VPN 接続リーフ証明書では、KB5014754によって導入された証明書ベースの認証要件である強力な証明書マッピング がサポートされるようになりました。 VPN 接続リーフ証明書には、onPremisesSecurityIdentifier 属性から取得したユーザーの SID のエンコードされたバージョンを含む SID 拡張機能 (1.3.6.1.4.1.311.25.2) が含まれるようになりました。
ルート証明書を作成するには:
- Azure portal にグローバル管理者としてサインインします。
- 左側のメニューで、[Microsoft Entra ID] をクリックします。
- [Microsoft Entra ID] ページの [管理] セクションで、[セキュリティ] をクリックします。
- [ セキュリティ ] ページの [ 保護 ] セクションで、[ 条件付きアクセス] をクリックします。
- [条件付きアクセス | ポリシー] ページの [管理] セクションで、[VPN 接続] をクリックします。
- [VPN 接続] ページで、[新しい証明書] をクリックします。
- [ 新規 ] ページで、次の手順を実行します。 [ 期間の選択] で、1 年、2 年、または 3 年を選択します。 b. を選択してを作成します。
条件付きアクセス ポリシーを構成する
このセクションでは、VPN 接続の条件付きアクセス ポリシーを構成します。 [VPN 接続] ブレードに最初のルート証明書が作成されると、"VPN サーバー" クラウドアプリケーションがテナントに自動的に作成されます。
VPN ユーザー グループに割り当てられた条件付きアクセス ポリシーを作成し、 クラウド アプリ のスコープを VPN Server に設定します。
- ユーザー: VPN ユーザー
- クラウド アプリ: VPN サーバー
- 許可 (アクセス制御): '多要素認証が必要'。 必要に応じて、他のコントロールを使用できます。
プロシージャ: この手順では、最も基本的な条件付きアクセス ポリシーの作成について説明します。 必要に応じて、追加の条件とコントロールを使用できます。
[ 条件付きアクセス ] ページの上部にあるツール バーで、[ 追加] を選択します。
[ 新規 ] ページの [ 名前 ] ボックスに、ポリシーの名前を入力します。 たとえば、 VPN ポリシーを入力します。
[ 割り当て ] セクションで、[ ユーザーとグループ] を選択します。
[ユーザーとグループ] ページで、次の手順を実行します。
a. [ユーザーとグループの選択] を選択します。
b. [ 選択] を選択します。
c. [ 選択 ] ページで、 VPN ユーザー グループを選択し、[選択] を 選択します。
d. [ ユーザーとグループ ] ページで、[ 完了] を選択します。
[ 新規 ] ページで、次の手順を実行します。
a. [ 割り当て] セクションで 、[ クラウド アプリ] を選択します。
b. [ クラウド アプリ ] ページで、[ アプリの選択] を選択します。
d. [VPN サーバー] を選択します。
[ 新規 ] ページで、[ 許可 ] ページを開くには、[ コントロール ] セクションで [ 許可] を選択します。
[ 許可 ] ページで、次の手順を実行します。
a. [多要素認証が必要] を選択します。
b. [ 選択] を選択します。
[ 新規 ] ページの [ ポリシーの有効化] で [オン] を選択します。
[ 新規 ] ページで、[ 作成] を選択します。
オンプレミスの AD に条件付きアクセス ルート証明書を展開する
このセクションでは、オンプレミスの AD に VPN 認証用の信頼されたルート証明書を展開します。
[VPN 接続] ページで、[証明書のダウンロード] を選択します。
Note
[Base64 証明書のダウンロード] オプションは、展開に Base64 証明書を必要とする一部の構成で使用できます。
エンタープライズ管理者権限でドメインに参加しているコンピューターにログオンし、管理者コマンド プロンプトから次のコマンドを実行して、クラウド ルート証明書を Enterprise NTauth ストアに追加します。
Note
VPN サーバーが Active Directory ドメインに参加していない環境では、クラウド ルート証明書を "信頼されたルート証明機関" ストアに手動で追加する必要があります。
Command Description certutil -dspublish -f VpnCert.cer RootCACN=AIA コンテナーと CN=Certification Authorities コンテナーの下に 2 つの Microsoft VPN root CA gen 1 コンテナーを作成し、両方の Microsoft VPN root CA gen 1 コンテナーの cACertificate 属性の値として各ルート証明書を発行します。 certutil -dspublish -f VpnCert.cer NTAuthCACN=AIA コンテナーと CN=証明機関コンテナーの下に 1 つの CN=NTAuthCertificates コンテナーを作成し、CN=NTAuthCertificates コンテナーの cACertificate 属性の値として各ルート証明書を発行します。 gpupdate /forceWindows サーバーおよびクライアント コンピューターへのルート証明書の追加を迅速に行います。 ルート証明書がエンタープライズ NTauth ストアに存在し、信頼済みとして表示されることを確認します。
- 証明機関管理ツールがインストールされたサーバーにエンタープライズ管理者権限でログオンします。
Note
既定では、証明機関管理ツールはインストール済みの証明機関サーバーです。 これらは、サーバー マネージャーの役割管理ツールの一部として他のメンバー サーバーにインストールできます。
- VPN サーバーの [スタート] メニューに 「pkiview.msc 」と入力して、[エンタープライズ PKI] ダイアログを開きます。
- [スタート] メニューから 「pkiview.msc」 と入力し、[エンタープライズ PKI] ダイアログを開きます。
- [エンタープライズ PKI] を右クリックし、[AD コンテナーの管理] を選択します。
- 各 Microsoft VPN root CA gen 1 証明書が次の下に存在することを確認します。
- NTAuthCertificates
- AIA コンテナー
- 証明機関コンテナー
Windows 10 デバイスに対して OMA-DM ベースの VPNv2 プロファイルを作成する
このセクションでは、Intune を使用して OMA-DM ベースの VPNv2 プロファイルを作成することにより、VPN デバイス構成ポリシーを展開します。
Azure portal で Intune>Device Configuration>Profiles を選択し、「Intune を使用して VPN クライアントを構成する」で作成した 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 プロファイルが表示されない場合は、[設定]\[ネットワークとインターネット]\[VPN] で、MDM ポリシーを強制的に同期させることができます。
ドメインに参加しているクライアント コンピューターに VPN Users グループのメンバーとしてサインインします。
[スタート] メニューでアカウント を入力し、Enter キーを押します。
左側のナビゲーション ウィンドウで、[職場または学校にアクセスする] を選択します。
[職場または学校にアクセスする] で、[<\domain> MDM に接続しました] を選択してから、[情報] を選択します。
[ 同期] を選択し、[設定]、[ネットワーク]、[インターネット]、[VPN] の下に VPN プロファイルが表示されていることを確認します。
次のステップ
Microsoft Entra 条件付きアクセスを使用するための VPN プロファイルの構成が完了しました。
VPN での条件付きアクセスの動作の詳細については、「VPN と条件付きアクセス」を参照してください。
高度な VPN 機能の詳細については、「高度な VPN 機能」を参照してください。
VPNv2 CSP の概要については、 VPNv2 CSP を参照してください。このトピックでは、VPNv2 CSP の概要について説明します。