Bigquery - 只写授权书

时间:2014-05-15 14:25:26

标签: acl google-bigquery

我是Google的Bigquery的新手,所以道歉我的无知。

这个想法是使用Bigquery来存储在不同站点安装的应用程序内发生的事件。这些站点是完全隔离的实体,因此一个站点不应该能够访问另一个站点的数据。

同时,假设用户拥有更多权限(例如,某些总部设施中的经理),也应该可以进行整合视图。

网站数量可能达到数百个,因此似乎很难为每个网站提供单独的数据集/表和关联(服务)身份验证(.p12)

我有什么方法可以在Bigquery中设置它

欢迎所有提示。

非常感谢!

彼得

2 个答案:

答案 0 :(得分:3)

最近向BigQuery添加了只写授权(专门用于仅向bigquery表进行流式处理插入)。验证时可以使用https://www.googleapis.com/auth/bigquery.insertdata范围而不是https://www.googleapis.com/auth/bigquery范围,用户可以使用的唯一方法是tabledata.insertall()。

关于您想要的视图授权类型,这是我们希望启用的高优先级功能请求。您能否提供有关您希望看到工作的方案的更多详细信息?

答案 1 :(得分:1)

截至2017年6月,在BigQuery中使用“仅插入”访问存储事件的最佳方法是通过Stackdriver Logging(现在是Google的一部分)发送事件。 Configure an Export in Stackdriver将日志发送到BigQuery。这有效地产生了“仅插入”事件存储系统。然后,您可以在BigQuery中配置用户角色,以跨多个站点聚合数据。

Jordan描述的方法有利于防止应用程序意外覆盖数据。不幸的是,它没有解决审计或安全日志的情况。对于支持“仅插入”访问的BigQuery,仍然没有预定义的IAM角色,custom IAM roles仍处于“alpha”状态。如果黑客获得了可以直接写入BigQuery的服务器的特权访问权限,那么黑客也可以访问BigQuery密钥文件,允许他们覆盖日志中的数据,从而允许他们覆盖他们的踪迹。这违背了日志的目的。

您可以通过REST APIclient library直接将事件推送到Stackdriver。您还可以配置Stackdriver Logging Agent以监视Linux系统上的任何基于文本的日志。