GAE 上的 BigQuery:根据开发人员的访问权限运行数据
Posted
技术标签:
【中文标题】GAE 上的 BigQuery:根据开发人员的访问权限运行数据【英文标题】:BigQuery on GAE: Running data based on Developer's access 【发布时间】:2012-07-03 15:41:23 【问题描述】:我正在使用 bigquery 开发应用程序,并且我拥有所有基础数据。 我想向用户展示这些数据的一个子集,他们的访问范围由我要实现的权限控制确定。 我不想授予他们对 bigquery 表的任何访问权限。
我的问题是: 我该如何设置,以便在它们运行某些东西时,它基于我对表的访问权限?
谢谢。
【问题讨论】:
【参考方案1】:您打算让用户编写自己的查询吗?如果是这样,那么这将很困难,除非您可以按用户将数据分区到表中。或者你可以通过重写查询来玩游戏——如果他们这样做了select foo from bar ...
,你可以用(select allowed columns from underlying.table where user_id = 'current_user')
替换表名。
如果您要代表用户生成查询,那么您可以只使用自己的凭据(或您的服务帐户的凭据)来访问 bigquery。本质上,您只需要一个 OAuth2 刷新令牌,这应该永远有效。一种思考方式是,如果您有一个 mysql 数据库,您将使用自己的凭据而不是用户的凭据来访问它。
【讨论】:
谢谢乔丹。我的一个后续问题是:查看应用引擎的 oauth2 的最新示例,似乎没有任何地方涉及令牌。所以我不太确定如何代表用户运行查询。以上是关于GAE 上的 BigQuery:根据开发人员的访问权限运行数据的主要内容,如果未能解决你的问题,请参考以下文章
在 GAE 上用 Java 编写 Cron 作业以运行 BigQuery
使用 BigQuery 选择所有相关行(从 GAE 读取日志)
带有 GAE 的 Ninja 框架:访问 google 应用引擎开发控制台