【发布时间】:2021-06-09 13:58:22
【问题描述】:
resource "google_pubsub_topic" "topic" {
name = "argo-events"
}
resource "google_service_account" "argo_events_pubsub_publish" {
account_id = "pubsub-publish"
}
resource "google_project_iam_member" "argo_events_pubsub_publish" {
role = "roles/pubsub.editor"
member = "serviceAccount:${google_service_account.argo_events_pubsub_publish.email}"
}
这将创建一个对项目的所有 PubSub 基础架构具有编辑权限的服务帐户。
如何将策略(由服务帐户 + 角色/pubsub.editor 产生)附加到最初创建的主题?
(这样服务帐户具有来自角色/pubsub.editor 的权限,但仅限于最初创建的名为“argo-events”的主题。)
这个问题是在假设 terraform 实现类似于 GCP 通用概念的策略附件的情况下编写的。
【问题讨论】:
-
我不知道谷歌提供者,但如果你想在资源之间引用属性,你可以使用
google_service_account.argo_events_pubsub_publish.account_id。所以提供你想要的值返回你只需要在相关资源中引用它 -
是的,但我的问题更多是针对我必须使用什么 terraform 资源来完成这项工作。
-
使用
google_pubsub_topic_iam_binding或google_pubsub_topic_iam_member。这个链接有一个例子。完成解决方案后,请发布答案。 registry.terraform.io/providers/hashicorp/google/latest/docs/… -
@JohnHanley 谢谢,明天试试。甚至没有考虑检查 PubSub 特定的资源...
标签: google-cloud-platform terraform google-cloud-pubsub terraform-provider-gcp