Bigquery 客户端插入安全性

Posted

技术标签:

【中文标题】Bigquery 客户端插入安全性【英文标题】:Bigquery Client Insertion Security 【发布时间】:2017-05-24 19:43:00 【问题描述】:

我正在尝试为我们的网站创建一个事件跟踪系统。我想直接从消费者的浏览器将事件插入 Bigquery。但是,要做到这一点,我认为我需要与浏览器共享 API 密钥才能将其插入 Bigquery。这会产生一个安全漏洞,有人可以获取 API 密钥并将大量错误事件插入到我们的 Bigquery 表中。 Bigquery 服务器上是否有可以过滤掉此类事件的安全功能(可能通过检测恶意插入模式)?

【问题讨论】:

直接从客户端插入不是一个好主意,例如错误处理等。您应该将异步处理的请求服务器端发送到 BigQuery。 另外,您将无法使用这种方法批量处理请求。 【参考方案1】:

请参阅解决方案“如何进行无服务器像素跟踪”:

https://cloud.google.com/solutions/serverless-pixel-tracking-tutorial

您可以:

在 Google Cloud Storage 中创建一个像素。 在您的网页中插入此像素。 配置 GCS 日志,以便它们通过 StackDriver 实时路由到 BigQuery。 甚至添加负载平衡器,以在全球范围内实现最佳性能。

【讨论】:

以上是关于Bigquery 客户端插入安全性的主要内容,如果未能解决你的问题,请参考以下文章

如何在 BigQuery SQL 中安全地参数化表/列名称?

Bigquery 行级安全性

BigQuery 行级安全权限

Google 的 Bigquery 客户端库中的 put 方法是不是使用流式插入?

使用模板表的 BigQuery 流式插入 - 503 错误

如何使用节点 js 客户端在 BigQuery 中存储数字类型以进行流式插入?