我是Google的Bigquery的新手,所以道歉我的无知。
这个想法是使用Bigquery来存储在不同站点安装的应用程序内发生的事件。这些站点是完全隔离的实体,因此一个站点不应该能够访问另一个站点的数据。
同时,假设用户拥有更多权限(例如,某些总部设施中的经理),也应该可以进行整合视图。
网站数量可能达到数百个,因此似乎很难为每个网站提供单独的数据集/表和关联(服务)身份验证(.p12)
我有什么方法可以在Bigquery中设置它
欢迎所有提示。
非常感谢!
彼得
答案 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 API或client library直接将事件推送到Stackdriver。您还可以配置Stackdriver Logging Agent以监视Linux系统上的任何基于文本的日志。