首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将策略附加到资源(在本例中是PubSub主题)?

如何将策略附加到资源(在本例中是PubSub主题)?
EN

Stack Overflow用户
提问于 2021-03-11 14:46:01
回答 1查看 334关注 0票数 0
代码语言:javascript
复制
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产生)附加到最初创建的主题?

(这样,服务帐户具有来自roles/pubsub.editor的权限,但只对最初创建的主题“argo-events”具有权限)。

这一问题是在假设terraform实施类似于GCP的一般概念的政策附件的前提下提出的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-14 14:11:22

有几种方法可以将策略附加到主题或订阅。有趣的是,这种方法不是泛型的,而是特定于您想要绑定到的资源(在本例中是一个公共子主题),并且至少有三种方法可以这样做:

在这种情况下,解决方案可能如下所示:

代码语言:javascript
复制
data "google_iam_policy" "topic" {
  binding {
    role = "roles/pubsub.publisher"
    members = [
      "serviceAccount:${google_service_account.argo_events_pubsub_publish.email}",
    ]
  }
}

resource "google_pubsub_topic_iam_policy" "policy" {
  topic = google_pubsub_topic.topic.name
  policy_data = data.google_iam_policy.topic.policy_data
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66584842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档