如何以编程方式将成员添加到单个 Google IAP 访问列表?

How do you programmatically add members to a single Google IAP access list?

我有 2 个 terraformed/k8s-yaml 服务启用了 IAP。

为了在基础设施刷新之间维护成员访问列表(当负载均衡器被破坏并且访问列表被擦除时)我已将 IAM 角色 'IAP-secured Web App User' 分配给相关用户。

例如

resource "google_project_iam_member" "bob_iap_web_app_user" {
   role   = "roles/iap.httpsResourceAccessor"
   member = "user:bob.cat@meow.com"
}

但是,这允许访问项目中所有受 IAP 保护的 API。是否可以添加过滤器以仅允许访问特定的负载均衡器?

我可以想到两种方法:

  1. 等待https://github.com/terraform-providers/terraform-provider-google/issues/2613实现。

  2. 您可以在项目级别使用 conditional grants 来设置类似 "bob.cat has access if request host is meow.com, alice.dog has access if request host is woof.com".

  3. 的内容

--Matthew,Google 云 IAP 工程