AzureVPN(P2S)でAzure証明書認証をする方法

2022.11.10

AzureVPN(P2S)を利用すると社外から安全にAzureにアクセスすることができます。ここでは証明書で認証するケースを記載します。ポイント対サイトのAzureVPNは下記の様なケースに向いています。

・社外PCから会社へVPN接続をすると通信が遅くなるので解決したい
・社外PCから会社を経由せずにAzureに直接VPN接続をしたい
・会社で許可されているPCからのみAzureへアクセスさせたい

手順1 仮想ネットワークの作成

1.Azure Portalを開いて、リソースグループから仮想ネットワークを作成するグループを選択し、「作成」をクリックします。

2.「Virtual network」をクリックします。

3.「作成」をクリックします。

4.下記のように設定します。

インスタンスの詳細

名前:任意の名前を入力

地域:「East US 2」任意の地域を選択

「次:IPアドレス」をクリックします。

5.IPv4アドレス空間を入力します。

「サブミットの追加」をクリックします。

6.サブミット名、サブミットアドレス範囲を入力します。

「追加」をクリックします。

7.「次:セキュリティ」をクリックします。

8.「次:タグ」をクリックします。

9.「次:確認および作成」をクリックします。

10.「作成」をクリックします。

手順2 仮想ネットワークゲートウェイの作成

1.「仮想ネットワークゲートウェイ」をクリックします。

2.「作成」クリックします。

3.下記のように設定します。

サブスクリプション:任意のサブスクリプションを選択

名前:任意の名前を入力

地域:「East US 2」任意の地域を選択

SKU:「VpnGw1」任意のプランを選択

仮想ネットワーク:任意の仮想ネットワークを選択

4.パブリックIPアドレス名:任意のパブリックIPアドレス名を入力

「次:タグ」をクリックします。

5.「次:確認および作成」をクリックします。

6.作成をクリックします。

手順3 PCで証明書の作成 

1.Powershellを開いて自己署名ルート証明書を作成します。
下記コマンドを実行します。

$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject “CN=****RootCert” -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation “Cert:\CurrentUser\My” -KeyUsageProperty Sign -KeyUsage CertSign

2.クライアント証明書を作成します。下記コマンドを実行します。

New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject “CN=****ChildCert” -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation “Cert:\CurrentUser\My” `
-Signer $cert -TextExtension @(“2.5.29.37={text}1.3.6.1.5.5.7.3.2”)

※CN=aaaaaaaaaaaは任意で入力してください。

3.「certmgr.msc」を起動します。

「個人」を展開します。

4.「証明書」を開きます。

先程作成したファイルを右クリックして、「すべてタスク」を展開し、「エクスポート」をクリックします。

5.証明書のエクスポートを開始します。

「次へ」をクリックします。

6.「証明書と一緒に秘密キーをエクスポートしますか?」という質問に「いいえ、秘密キーをエクスポートしません」を選択して「次へ」をクリックします。

7.使用する形式に「Base64encoded X,509(.CER)(S)」を選択して「次へ」をクリックします。

8.「参照」をクリックしてエクスポートするファイルを選択します。

9.「次へ」をクリックします。

10.証明書のエクスポートが完了したら「完了」をクリックします。

11.「OK」をクリックします。

12.エクスポートしたファイルをメモ帳等で開き、コピーします。

Azure Portal から VPN Gateway に証明書をセットします。

手順4 ポイント対サイトの構成

1.「ポイント対サイトの構成」をクリックして、「今すぐ構成」をクリックします。

2.下記のように設定します。

アドレスプール:任意のアドレスプールを入力

トンネルの種類:「IKEv2」任意のトンネルの種類を選択

認証の種類:「Azure証明書」を選択

ルート証明書

名前:任意の名前を入力

公開証明書データ:先程コピーした証明書データを貼り付けます。

「保存」をクリックします。

手順5 クライアントのインストール

1.保存が完了したら、「VPNクライアントのダウンロード」をクリックします。

2.ダウンロードフォルダから「WindowsAmd64」をクリックします。

3.「VpnClientSetupAmd64.exe」をクリックします。

4.下記のエラーが出た場合はコマンドプロンプトでインストールしてください。

※ユーザーネームが日本語の場合、出る可能性があります。

5.「WindowsAmd64」のディレクトリまで移動します。

その後下記コマンドを実行するとインストールされます。

VpnClientSetupAmd64.exe /T:C:\Install

6.設定から「ネットワークとインターネット」をクリックして「VPN」を開きます。

「接続」をクリックして、先程構成したVPNに接続します。

7.「接続」をクリックします。

8.「続行」をクリックします。

9.接続されました。

手順6 補足① テナントIDの確認

Azure Active Directoryから「プロパティ」を開くとテナントIDが確認できます。

手順7 補足② 管理者ロールの割り当て

Azure Portalから「アクセス制御」を開いて、「ロールの割り当ての追加」をクリックします。

「次へ」をクリックします。

「メンバーを選択する」をクリックします。

メンバーを選択して「選択」をクリックします。

「次へ」をクリックします。

「レビューと割り当て」をクリックします。

ロールの割り当てが追加されました。