LoginSignup
2
0

More than 1 year has passed since last update.

初心に戻ってIAP経由によるGCEへのSSH接続を試す

Posted at

はじめに

今までGCEへのSSH接続はAWSでやっているように、対象IPからのSSH接続を許可し、ユーザを払い出し、そこに対するリモート接続を行っていた。
※お客様用のIPを基本的には許可したい、という要件が多く、これを設定する機会がありませんでした
Security Engineerの試験を勉強していることと、当該技術を使う機会があったので、IAPを使ったSSH接続をおさらいする

IAPに関する説明

トップページの記載

記載のとおり「ID とコンテキストを使用して、アプリケーションや VM へのアクセスを保護。」します。
ここでいうIDはCloud IAM を指しており、アプリケーションやVMへのアクセスを保護というのは、IAMのユーザを利用し、そのユーザやVMに対して権限が与えられている場合のみ、TCP転送をするような形になります。

仕組み

イメージとしてはこんな感じで、UserはIAPへHTTPSでアクセスし、IAPから対象まで22ポートで接続します。
ちなみにComputeEngineはExternalIPがなくても可能です。

Untitled-2022-12-17-0011.png

これを行うために、Userはプロジェクト内のIAM権限が必要で対象の権限を付与する必要があります。
また22ポートで特定のIPアドレスからの許可が必要になるため、FWのポート開放も必要となります。

実際の手順

以下公式の手順です

FW設定

※VMは起動している前提です。
FWのポート開放を行います。
35.235.240.0/20 からの 22ポートの許可を対象インスタンスに対して行います。

スクリーンショット 2022-12-17 0.30.34.png

IAM設定

「IAP で保護されたトンネル ユーザー」、「Compute インスタンス管理者(v1)」を追加します。

スクリーンショット 2022-12-17 0.34.14.png

SSH接続

以下の画像にあるような形でSSHを選択し接続します。

スクリーンショット 2022-12-17 0.40.39.png

補足

  • IAM権限の影響か一通り設定してもなかなか接続できませんでした。ただVMを再起動したところ接続することができ、その場合も焦らず再起動してみましょう。

所感

特に難しいこともなく踏み台を利用せずともPrivate環境のインスタンスへ接続することができました。
興味のある内容としてSSHキーはどうなるんだ?と思いましたが、インスタンスのSSH認証鍵箇所に接続時?に一時的なキーが払い出されており(以下参照)、SSHキーの管理部分も不要になり、よりセキュリティ的にも安心できることがわかりました。

スクリーンショット 2022-12-17 0.44.35.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0