为具有 pubsub 目标的 google-sink 预定义服务帐户
Posted
技术标签:
【中文标题】为具有 pubsub 目标的 google-sink 预定义服务帐户【英文标题】:Pre-defining service-account for google-sink with pubsub destination 【发布时间】:2021-08-01 23:01:50 【问题描述】:我正在 google-cloud 上创建一个接收器,其目的地为 pub/sub 主题,用于它的命令如下所示。 gcloud logging sinks 创建 geo_sinktest pubsub.googleapis.com/projects//topics/ --log-filter '(resource.type="gcs_bucket" AND (protoPayload.methodName="storage.objects.create" OR protoPayload.methodName="storage.objects.delete")) OR resource.type="bigquery_dataset"' '
执行命令后,我可以看到已创建接收器 当我点击“查看接收器”时,我从控制台获得所有详细信息,包括下面看到的“writer Identity” serviceAccount:p12345678...@gcp-sa-logging.iam.gserviceaccount.com
我的问题是
-
有没有办法预先定义在“writer-identity”部分看到的服务帐户?
或者有没有办法告诉 sink 使用预定义的服务帐户?
我问这个问题的原因是因为我想减少下面的手动步骤
-
从 writer-identity 获取服务帐户
转到“IAM”并使用上述服务帐户添加新成员并为其分配所需的权限。
【问题讨论】:
参考这个cloud.google.com/dataflow/docs/concepts/… 【参考方案1】:根据文档 [1],“当您创建接收器时,Logging 会为接收器创建一个新的服务帐户,称为唯一的写入者身份。您无法直接管理此服务帐户,因为它由 Cloud Logging 拥有和管理. 如果接收器被删除,服务帐户也会被删除。”
所以很遗憾,没有办法在 writer-identity 中预先定义服务帐户。
曼努埃尔
[1] - https://cloud.google.com/logging/docs/export/configure_export_v2#dest-auth
【讨论】:
以上是关于为具有 pubsub 目标的 google-sink 预定义服务帐户的主要内容,如果未能解决你的问题,请参考以下文章
GCP-PUBSUB:-sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
具有 CustomAttributes 的 PubSub - 未调用接收器函数,但出现 json 解析异常
我们可以通过 mqtt 桥将自定义消息属性发布设置为 pubsub