You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python编程启动IAP tunnel 无需通过subprocess执行bash命令

支持方案

可以直接使用谷歌官方的google-cloud-iap Python SDK完成IAP隧道的创建,无需调用subprocess执行gcloud命令,该SDK底层直接调用IAP的公共API,和gcloud CLI的底层实现逻辑一致。

前置准备

  • 安装依赖包:pip install google-cloud-iap google-auth
  • 确保当前使用的GCP身份拥有roles/iap.tunnelResourceAccessor权限,和gcloud使用时的权限要求完全相同。
  • 如果脚本运行时提示找不到凭证,可以手动设置环境变量GOOGLE_APPLICATION_CREDENTIALS为你的服务账号密钥文件的绝对路径。

核心实现示例

import google.auth
from google.cloud.iap_v1.services.iap_tunnel_client import IapTunnelClient

# 自动读取本地GCP凭证(支持gcloud默认凭证、服务账号密钥文件等多种凭证形式)
credentials, project = google.auth.default()
client = IapTunnelClient(credentials=credentials)

# 按需替换下列参数:项目ID、VM所在可用区、VM实例名、目标端口、本地监听端口
tunnel_params = {
    "parent": f"projects/你的项目ID/zones/VM可用区/instances/VM实例名",
    "destination_port": 22,
    "local_port": 10022
}

# 启动隧道,启动后访问本地127.0.0.1:10022即可直通对应VM的22端口
tunnel = client.create_tunnel(request=tunnel_params)

其他可选方案

如果不想依赖谷歌官方的重型SDK,也可以使用轻量第三方开源库iap-tunnel,功能覆盖基础的隧道创建、保活场景,使用更简单。

内容的提问来源于stack exchange,提问作者Raffaele Piccini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:15:04