为具有 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 预定义服务帐户的主要内容,如果未能解决你的问题,请参考以下文章

Pubsub 拉取订阅和并发

GCP-PUBSUB:-sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

具有 CustomAttributes 的 PubSub - 未调用接收器函数,但出现 json 解析异常

我们可以通过 mqtt 桥将自定义消息属性发布设置为 pubsub

具有 Cloud pubsub 的 Cloud Functions 触发消息排队

具有矩阵数量的 pubsub 未确认消息的尖峰 kubernetes HPA