连接到没有外部 IP 的 VM 实例
connecting to VM instance having no external IP
我正在尝试通过 cloud shell
和 cloud SDK
.
连接到没有外部 IP 地址的 google 云 VM 实例
Google文档说我们可以用IAP连接
通过 IAP 连接:refer using IAP
a) 向想要连接到 VM.
的用户授予 roles/iap.tunnelResourceAccessor
角色
b) 使用以下命令连接到 VM
gcloud compute ssh instance-name --zone zone
或
使用 IAP
进行 TCP
转发:参考 using TCP forwarding
我们还可以通过为 IP
'35.235.240.0/20'
和端口 TCP:22
设置入口防火墙规则来连接
和 select 一个 IAM
角色 Select Cloud IAP > IAP-Secured Tunnel User
这两种不同的方法有什么区别,这两个独立的 IAM 角色有什么区别
roles/iap.tunnelResourceAccessor
IAP-secured Tunnel User
我是云新手,所以请耐心了解我的基础知识。
完全一样。看看this page
IAP-Secured Tunnel User (roles/iap.tunnelResourceAccessor)
您有角色的显示名称:您在 GUI 中看到的 IAP-Secured Tunnel User
,以及您必须在脚本和 CLI 中使用的角色的技术名称 roles/iap.tunnelResourceAccessor
题中提到的link("refer using IAP")其实是指
Connecting to instances that do not have external IP addresses > Connecting through a bastion host。
通过 堡垒主机连接 是除了通过 IAP 访问之外的另一种方法。
如文档中所述 Connecting to instances that do not have external IP addresses > Connecting through IAP,
IAP's TCP forwarding feature wraps an SSH connection inside HTTPS.
IAP's TCP forwarding feature then sends it to the remote instance.
因此问题的两部分(OR 之前和OR 之后)属于相同的访问方法:Connect using Identity-Aware Proxy for TCP forwarding。因此第一个问题的答案是 “没有区别” 因为所有这些都描述了 IAP TCP 转发的工作原理以及设置和使用它的步骤:
1. 创建防火墙规则:
- 适用于您希望使用 IAP 访问的所有 VM 实例;
- 允许来自 IP 范围
35.235.240.0/20
的入口流量(此范围包含 IAP 用于 TCP 转发的所有 IP 地址);
- 允许连接到您希望使用 IAP TCP 转发可访问的所有端口,例如用于 SSH 的端口
22
。
2. 授予使用 IAP 的权限:
- 使用 GCP Console 或 gcloud 为用户添加角色
IAP-Secured Tunnel User
(roles/iap.tunnelResourceAccessor
)。
注意:具有 Owner
项目访问权限的用户 始终有权 使用 IAP 进行 TCP 转发。
3. 使用以下工具之一连接到目标 VM:
- GCP 控制台:使用 Cloud Console 中的
SSH
按钮;
gcloud compute ssh INSTANCE_NAME
有一个关于如何调用 IAP TCP 转发来访问没有 Public IP 的 VM 实例的重要解释。见 Identity-Aware Proxy > Doc > Using IAP for TCP forwarding:
注意。如果实例没有 Public IP 地址,连接 自动使用 IAP TCP 隧道 。如果实例确实有 public IP 地址,则连接使用 public IP 地址而不是 IAP TCP 隧道。
您可以使用 --tunnel-through-iap
标志,以便 gcloud compute ssh
始终使用 IAP TCP 隧道。
如 guillaume blaquiere 所述,roles/iap.tunnelResourceAccessor
和 IAP-secured Tunnel User
不是不同的 IAM 角色,而是 角色名称 和 相同角色的角色标题。还有一个资源以一种方便的形式表示:
Cloud IAM > Doc > Understanding roles > Predefined roles > Cloud IAP roles
我正在尝试通过 cloud shell
和 cloud SDK
.
Google文档说我们可以用IAP连接 通过 IAP 连接:refer using IAP
a) 向想要连接到 VM.
的用户授予roles/iap.tunnelResourceAccessor
角色
b) 使用以下命令连接到 VM
gcloud compute ssh instance-name --zone zone
或
使用 IAP
进行 TCP
转发:参考 using TCP forwarding
我们还可以通过为 IP
'35.235.240.0/20'
和端口 TCP:22
设置入口防火墙规则来连接
和 select 一个 IAM
角色 Select Cloud IAP > IAP-Secured Tunnel User
这两种不同的方法有什么区别,这两个独立的 IAM 角色有什么区别
roles/iap.tunnelResourceAccessor
IAP-secured Tunnel User
我是云新手,所以请耐心了解我的基础知识。
完全一样。看看this page
IAP-Secured Tunnel User (roles/iap.tunnelResourceAccessor)
您有角色的显示名称:您在 GUI 中看到的 IAP-Secured Tunnel User
,以及您必须在脚本和 CLI 中使用的角色的技术名称 roles/iap.tunnelResourceAccessor
题中提到的link("refer using IAP")其实是指 Connecting to instances that do not have external IP addresses > Connecting through a bastion host。 通过 堡垒主机连接 是除了通过 IAP 访问之外的另一种方法。
如文档中所述 Connecting to instances that do not have external IP addresses > Connecting through IAP,
IAP's TCP forwarding feature wraps an SSH connection inside HTTPS. IAP's TCP forwarding feature then sends it to the remote instance.
因此问题的两部分(OR 之前和OR 之后)属于相同的访问方法:Connect using Identity-Aware Proxy for TCP forwarding。因此第一个问题的答案是 “没有区别” 因为所有这些都描述了 IAP TCP 转发的工作原理以及设置和使用它的步骤:
1. 创建防火墙规则:
- 适用于您希望使用 IAP 访问的所有 VM 实例;
- 允许来自 IP 范围
35.235.240.0/20
的入口流量(此范围包含 IAP 用于 TCP 转发的所有 IP 地址); - 允许连接到您希望使用 IAP TCP 转发可访问的所有端口,例如用于 SSH 的端口
22
。
2. 授予使用 IAP 的权限:
- 使用 GCP Console 或 gcloud 为用户添加角色
IAP-Secured Tunnel User
(roles/iap.tunnelResourceAccessor
)。
注意:具有Owner
项目访问权限的用户 始终有权 使用 IAP 进行 TCP 转发。
3. 使用以下工具之一连接到目标 VM:
- GCP 控制台:使用 Cloud Console 中的
SSH
按钮; gcloud compute ssh INSTANCE_NAME
有一个关于如何调用 IAP TCP 转发来访问没有 Public IP 的 VM 实例的重要解释。见 Identity-Aware Proxy > Doc > Using IAP for TCP forwarding:
注意。如果实例没有 Public IP 地址,连接 自动使用 IAP TCP 隧道 。如果实例确实有 public IP 地址,则连接使用 public IP 地址而不是 IAP TCP 隧道。
您可以使用 --tunnel-through-iap
标志,以便 gcloud compute ssh
始终使用 IAP TCP 隧道。
如 guillaume blaquiere 所述,roles/iap.tunnelResourceAccessor
和 IAP-secured Tunnel User
不是不同的 IAM 角色,而是 角色名称 和 相同角色的角色标题。还有一个资源以一种方便的形式表示:
Cloud IAM > Doc > Understanding roles > Predefined roles > Cloud IAP roles