【ゼロトラストな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接続が可能になります。