【发布时间】:2021-01-20 16:41:26
【问题描述】:
我正在构建一个聊天并具有云翻译 API 的功能,我为每个客户端创建一个新的 API 密钥,以便能够识别每个客户端的消费使用情况,问题如下:
我想查看项目中所有 API 密钥的使用情况,例如操作日志记录:
但要披露时间戳和 API 密钥名称使用的信息,以便我能够跟踪服务的每个客户端使用情况并确定我要向他们收取多少费用。
更新
对this article 进行了一些额外的研究,这提供了一个演练以了解服务帐户密钥(类似但不是我需要的)。在本指南中,他们创建了一个日志接收器以将日志推送到 BigQuery。
现在的问题是用于提取日志的过滤器如下:
logName:"projects/<PROJECT>/logs/cloudaudit.googleapis.com"
protoPayload.authenticationInfo.serviceAccountKeyName:"*"
属于服务帐户密钥名称的第二行提取日志。但正如问题开头所述,我正在寻找 API 密钥日志而不是服务帐户密钥。
【问题讨论】:
-
该功能称为“数据访问审核日志”。必须启用此功能并生成大量记帐信息(0.50 美元/GiB)。 AFAIK,只记录 IAM 用户活动,不记录 API 密钥。我认为可能有更好的设计选择,例如创建您自己的调用翻译的服务,使用 Google OAuth 进行授权,并且您的服务将用户活动存储在数据库中。 API 密钥是遗留的,存在安全问题。
标签: google-cloud-platform google-api google-cloud-translate