为 google-sink 预定义服务帐户和 pubsub 目的地

Pre-defining service-account for google-sink with pubsub destination

我正在 google-cloud 上创建一个接收器,目标是 pub/sub 主题,用于它的命令如下所示。 gcloud 日志记录接收器创建 geo_sinktest
pubsub.googleapis.com/projects//主题/
--log-filter '(resource.type="gcs_bucket" 和 (protoPayload.methodName="storage.objects.create" 或 protoPayload.methodName="storage.objects.delete") ) 或 resource.type="bigquery_dataset"''


Post 执行命令我可以看到正在创建接收器 当我点击“查看接收器”时,我从控制台获得了所有详细信息,包括如下所示的“writer Identity” serviceAccount:p12345678...@gcp-sa-logging.iam.gserviceaccount.com


我的问题是

  1. 有没有办法预定义在“writer-identity”部分看到的服务帐户?
  2. 或者有没有办法告诉接收器使用预定义的服务帐户?

我问这个问题的原因是因为我想减少以下手动步骤

  1. 从 writer-identity 获取服务帐户
  2. 转到“IAM”并使用上述服务帐户添加新成员并为其分配所需的权限。

根据文档 [1],“当您创建接收器时,Logging 会为接收器创建一个新的服务帐户,称为唯一写入者身份。您无法直接管理此服务帐户,因为它由Cloud Logging。如果接收器被删除,服务帐户也会被删除。"

很遗憾,无法在 writer-identity 中预先定义服务帐户。

曼纽尔

[1] - https://cloud.google.com/logging/docs/export/configure_export_v2#dest-auth