TCP 転送の概要

このページでは、Identity-Aware Proxy(IAP)で TCP 転送を処理する方法について説明します。トンネリングされたリソースへのアクセス権をプリンシパルに付与する方法と、TCP トラフィックをルーティングするトンネルの作成方法については、TCP 転送での IAP の使用をご覧ください。

はじめに

IAP の TCP 転送機能を使用すると、公共のインターネットからバックエンドの SSH や RDP などの管理サービスへのアクセスを許可するユーザーを制御できます。TCP 転送機能は、これらのサービスがインターネットに露出するのを防ぎます。その代わりに、サービスへのリクエストは、ターゲット リソースに到達する前に認証と承認のチェックにパスする必要があります。

クラウドでワークロードを実行するときに、管理サービスがインターネットに露出するとリスクが発生します。IAP を使用して TCP トラフィックを転送すると、承認されたユーザーだけがこれらの重要なサービスにアクセスできるようになるため、このリスクを軽減できます。

この機能は主に管理サービスを対象としているため、負荷分散されたターゲットはサポートされません。

モバイル デバイスでは、IAP TCP 転送サービスの呼び出しはサポートされていません。

IAP の TCP 転送の仕組み

IAP の TCP 転送機能を使用すると、Compute Engine インスタンスの任意の TCP ポートに接続できます。一般的な TCP トラフィックでは、IAP はすべてのトラフィックを指定のインスタンスに転送するリスニング ポートをローカルホスト上に作成します。次に、クライアントからのすべてのトラフィックを HTTPS でラップします。ユーザーは、ターゲット リソースの Identity and Access Management(IAM)ポリシーの認証と認可のチェックに合格すると、インターフェースとポートにアクセスできるようになります。

gcloud compute ssh を使用して SSH 接続を確立すると、コマンドは SSH 接続を HTTPS 内にラップし、ローカルホストのリスニング ポートを必要とせずにリモート インスタンスに転送します。

管理リソースで IAP を有効にしても、リソースに対する直接的なリクエストは自動的にブロックされません。IAP は、IAP TCP 転送 IP からリソースの関連サービスへでない TCP リクエストのみをブロックします。

IAP を使用した TCP 転送では、リソースに割り当てられたルーティング可能なパブリック IP アドレスは必要ありません。代わりに、内部 IP が使用されます。

次のステップ