LoginSignup
1
0

Google Cloud IAP(Identity-Aware Proxy)を利用したリモートアクセス

Last updated at Posted at 2023-08-14

目的

Google Cloudで稼働中のインスタンスへのリモートアクセス(SSH)を実施する
SSH先のインスタンスはパブリックIPアドレスがないため、IAP経由でリモートアクセスを実現する

構成

  • ローカル端末:macOS Ventura 13.5 1台
  • プラットフォーム:Google Cloud
    • Compute Engine 1サービス(SSHアクセス先)
    • IAP(Identity-Aware Proxy) 1サービス

image.png

作業の流れ(順不同)

作業1.IAPの設定と権限付与
作業2.IAM権限の付与
作業3.Firewallの設定
作業4.アクセス確認

IAPの設定と権限付与

IAPのページに移動
貼り付けた画像_2023_08_10_17_58.png

APIを有効化するをクリック
参考:Google Cloud コンソールを使用した IAP の有効化
https://cloud.google.com/iap/docs/enabling-compute-howto?hl=ja#before_you_begin
貼り付けた画像_2023_08_10_18_01.png

有効化後の画面から管理画面に移動するため、IDENTITY-AWARE PROXYに移動をクリック
貼り付けた画像_2023_08_14_16_38.png

今回はリモートアクセスの制御にIAPを利用するため、SSHとTCPのリソースをクリック
貼り付けた画像_2023_08_14_16_49.png

IAPでリモートアクセスを許可したいインスタンスを選択し、
アクセス許可の詳細を選択するため、プリンシパルを追加をクリック
貼り付けた画像_2023_08_14_16_52.png

IAP経由でリモートアクセスを許可するアカウントを記載もしくは、
メンバー(allAuthenticatedUsers等)を選択する
貼り付けた画像_2023_08_14_16_55.png

ロールは、IAP-secured Tunnel Userを選択する
IAP-secured Tunnel User:IAP で保護された VM インスタンスへのアクセス権を付与します。

ロール詳細
参考:IAP で保護されたリソースへのアクセスの管理
https://cloud.google.com/iap/docs/managing-access?hl=ja#roles

貼り付けた画像_2023_08_14_17_02.png

IAM権限の付与

 GUIコンソールよりIAMの画面に移動
貼り付けた画像_2023_08_14_17_05.png

アクセス権の付与をクリック
貼り付けた画像_2023_08_14_17_07.png

ComputeEngineへのアクセスを許可するアカウントを記載する
続けて、ComputeEngineへのアクセスを許可するため、Compute OS 管理者ログインロールを選択
roles/compute.admin

最後に、保存をクリック

ロールの詳細
参考:Compute Engine IAM のロールと権限
https://cloud.google.com/compute/docs/access/iam?hl=ja#before-you-begin

貼り付けた画像_2023_08_14_17_10.png

Firewallの設定

IAPからComputeEngineへの通信を許可する設定をする

 GUIコンソールよりFirewallの画面に移動
貼り付けた画像_2023_08_14_17_17.png

現在、ファイアウォールは何も無しの状態のため、通信ができない状態
ファイアウォールルールを作成をクリック
貼り付けた画像_2023_08_14_17_19.png

名前:ファイアウォールルールの名前を定義
説明:任意
ログ:ログを取る場合は、オンにする
ネットワーク:環境に応じて指定
トラフィックの方向:IAPからVMへの通信を許可するため、上りを選択
一致した時のアクション:ソースアドレスがIAPだった場合許可とするため、許可を選択
ターゲット:IAPからのアクセス先を許可するターゲットを選択
貼り付けた画像_2023_08_14_17_24.png

ソースフィルタ:IAPのアドレスレンジを記載(固定値:35.235.240.0/20)
プロトコルとポート:許可するプロトコル、ポートを記載する。今回はSSH TCP/22を許可

IAPのネットワークアドレスはこちらに記載されているレンジを利用する
参考:ファイアウォール ルールを作成する
https://cloud.google.com/iap/docs/using-tcp-forwarding?hl=ja#create-firewall-rule

貼り付けた画像_2023_08_14_17_33.png

アクセス確認

gcloudにてSSHアクセスを実施する
参考:Identity-Aware Proxy を使用して Linux VM に接続する
https://cloud.google.com/compute/docs/connect/ssh-using-iap?hl=ja#connect_to_vms

user ~ % gcloud compute ssh iap-access-vm1 --tunnel-through-iap
WARNING:  Python 3.5-3.7 will be deprecated on August 8th, 2023. Please use Python version 3.8 and up.

If you have a compatible Python interpreter installed, you can use it by setting
the CLOUDSDK_PYTHON environment variable to point to it.

To increase the performance of the tunnel, consider installing NumPy. For instructions,
please see https://cloud.google.com/iap/docs/using-tcp-forwarding#increasing_the_tcp_upload_bandwidth

Last login: Mon Aug 14 10:33:19 2023 from 35.235.240.1
[user@iap-access-vm1 ~]$ uname -a
Linux iap-access-vm1 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
[user@iap-access-vm1 ~]$
1
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
1
0