【ゼロトラストなRDPクライアント】GCP IAP Desktop とは

こんにちは。エヌデーデーの田中です。

クラウド上の仮想マシンへのアクセス、セキュリティ対策はばっちりでしょうか?

今回は、GCP上のWindows Server VMへのアクセスを安全に行うゼロトラストなRDPクライアント「IAP Desktop」について、ご紹介したいと思います。

 

IAP Desktopとは

公共のインターネット上でVMインスタンスを公開することは大きなリスクにつながります。

とはいえ、VPNトンネルや踏み台インスタンスなどのソリューションを利用するのは手間がかかり、構成が複雑になるにつれ、正確なアクセス制御が困難になることもあります。

IAP Desktop」は、Google Cloud Platform上の仮想マシンへのRDP接続を管理するWindowsアプリケーションです。

Google社のゼロトラストセキュリティを実現する取り組み「BeyondCorp」の一環となっており、Compute Engine上で実行されているWindows Server VMへのシンプルかつ安全なアクセスと管理を可能にします。(接続対象はWindows Server VM限定です)

IAP Desktopは、既存のIAP(Identity-Aware Proxy)サービスをベースに構築されており、ユーザーIDとリクエストのコンテキストを検証し、VMへのアクセスを保護します。

すべてのRDP接続は IAP を介して自動的に暗号化、トンネルされているため、RDPを公開していないVMインスタンスやパブリックIPアドレスを持たないVMインスタンスへの接続も可能となります。

IAP Desktopを使ってみる

実際どんなものなのでしょうか。

折角なので、早速IAP Desktopを使ってみたいと思います。

GCPコンソールでの設定

GCP側の設定から行っていきましょう。

まずは、Windows Server VMとなるGCE(Google Compute Engine)インスタンスを作成していきます。

マシンタイプやネットワーク設定を適切に行うとともに、ブートディスクには Windows Server OSイメージを選択してください。

VMの作成ができたら、メニューから 「IAMと管理」 > 「Identity-Aware Proxy」 に遷移します。

APIを有効にします。

「SSHとTCPリソース」タブを表示すると、先ほど作成したプロジェクト内のGCEインスタンスが一覧表示されます。
接続したいインスタンスを選択し、「メンバーを追加」します。
※ プロジェクトオーナーであれば、初めから接続権限を持っているのでこの設定は不要です。

「新しいメンバー」に接続を許可するGCPアカウントを入力し、適切なロールを選択して「保存」します。
VMインスタンスの利用者には、「Cloud IAP」> 「IAP-secured Tunnel User」を付与すればOKです。

続いて、気になるこの警告メッセージ、確認してみましょう。

IAP Desktopからアクセスを行うためには、ファイアウォールの設定でIAPからVMへのトラフィックを [許可] する必要があるようです。

「VPCネットワーク」>「ファイアウォール」から、以下の通信を許可しましょう。

ソースIPの範囲35.235.240.0/20
プロトコルtcp (RDPのみ許可する場合は、tcp:3389)

IAP Desktopの設定

続いてIAP Desktop側の設定を行っていきます。

GitHubからアプリケーションをダウンロードし、IAP Desktopを起動します。

初回起動時は、表示される案内に従って、Googleログインと、アクセス権の付与を行います。

プロジェクトIDを指定します。
※ 「Type project name…」と促されていますが、「プロジェクトID」を入力します。。。

ボタンが見切れてしまっていますが、ダイアログの右下にOKボタンが隠れています。

プロジェクトへの接続が成功すると、「Project Explorer」にプロジェクト内のWindows Server VMインスタンスがリスト表示されます。

起動/停止しているVMのアイコンが区別されているので、アクティブなインスタンスの判別がしやすいです。

接続したいVMをダブルクリックします。

初回接続時は、RDP接続用のWindowsユーザーとパスワードを生成する必要があるので、 表示されるメッセージから「Generate new credentials」を選択します。

生成するWindowsユーザー名を入力し、OKを押下します。

※ またボタンが見切れてしまっていますが、ダイアログの右下にOKボタンが隠れています。

ユーザー作成が実行され、初期パスワードが発行されます。

このままOKを押下すると、作成されたユーザーでRPD接続が開始されます。

仮想マシンへのRDP接続完了です!

アプリケーションウィンドウのリサイズにも追従してくれるので、なかなかの使い勝手です。

まとめ

クラウドサービスの普及にしたがって、クラウド上でのVM構築も一般的となりつつあります。
日常的に利用するものだからこそ、シンプルかつ安全な運用が求められます。

VPNの設定やパブリックIPの設定を行わずして、これだけ手軽に仮想マシンへの 安全な RDPアクセスが実現できることは、クラウド仮想マシン管理の利便性を大きく高めてくれるでしょう。

おまけ

便利機能として、ワンクリックでRDP接続する方法をご紹介します。

「Project Explorer」から対象のマシンを選択し、右クリック > 「Connection settings」を選択します。

右側に表示されるウィンドウ >「Credentials」に、Username・Password(必要に応じてDomain)を入力します。

次回からインスタンをクリックした際に、ユーザー・パスワードの入力を行わずにワンクリックでのRDP接続が可能になります。