GCP仅对云外壳开放防火墙

Nav*_*jay 1 google-compute-engine google-cloud-platform google-cloud-shell

GCP中是否有一种方法仅允许云外壳显式允许防火墙规则。所有GCP演示和视频都添加了规则,允许22至0.0.0.0/0从云外壳SSH到实例。

但是,有什么方法可以限制仅从云外壳进行访问-使用云外壳的IP范围还是服务帐户?

Joh*_*ley 5

Google不会发布Cloud Shell的公共IP地址范围。

VPC防火墙规则允许指定源和目标的服务帐户。但是,Cloud Shell不使用服务帐户。Cloud Shell使用登录到Google Cloud Console的人员的身份。这意味着OAuth 2用户凭证。VPC防火墙规则不支持用户凭据。

我的建议是使用TCP转发并通过IAP(身份感知代理)建立SSH隧道。Google通过Cloud SDK CLI简化了这一过程。

在Google Cloud Console中打开Cloud Shell。然后运行以下命令:

gcloud compute ssh NAME_OF_VM_INSTANCE --tunnel-through-iap
Run Code Online (Sandbox Code Playgroud)

这也适用于没有公共IP地址的VM实例。

身份识别代理CIDR网络块为35.235.240.0/20。创建一个VPC防火墙规则,该规则允许来自此块的SSH通信。此规则将阻止公共SSH流量,并且仅允许通过Identity Aware代理的授权流量。

  • 答案很好,但更新不正确。IAP TCP 转发仅使用“35.235.240.0/20”IP 范围。如果您看到“74.125.189.128/25”,它一定来自其他地方。一种可能性是您正在使用[浏览器中的 SSH](https://cloud.google.com/compute/docs/ssh-in-browser) 的常规服务器,这些服务器没有保证的 IP 范围。当您使用 SSH 从浏览器连接到具有公共 IP 的虚拟机时,它会使用常规服务器。当您使用 SSH 从浏览器连接到没有公共 IP 的虚拟机时,它使用 IAP TCP 转发(因此使用“35.235.240.0/20”IP 范围)。 (2认同)