这显然是一项简单的任务,但由于某种原因我无法完成。在(terraform local-exec)管道中(因此,非交互式),我需要使用 IAP 代理登录到给定的 GCE 实例,通过我拥有凭证 json 文件的特定服务帐户进行身份验证。
也就是说,我需要升级以下命令:
gcloud compute ssh --zone "europe-west1-d" "<instance name>" --project "<prj-id>" --tunnel-through-iap --command "echo 'Hello World'"
我想知道是否有一个命令可以执行该操作,以及我是否需要一组特定的 IAM 绑定到 SA 来允许执行此操作。
经过大量搜索和调查,服务帐户似乎无法使用 IAP 登录计算引擎。
基本上,所需的拨款根本无法分配给服务帐户。
不过,假设各部分之间共享有效密钥(在配置计算引擎实例时可以生成密钥),SA 可以 ssh 进入计算机实例。这使得该过程在日常使用中不太实用,但理论上是可能的。