【发布时间】:2012-10-10 10:32:27
【问题描述】:
我们希望借助 Bigquery 和 Cloud Storage 服务实施分析工具。该工具应在 App Engine 上运行并公开 REST 接口,以便所有请求都通过该接口并随后转发到 Bigquery。授权对 Bigquery 的访问应基于 App Engine 服务帐户(App Identity API)。但是,我们还需要对工具客户端进行身份验证。客户端始终是另一个应用程序或服务,因此 OAuth 2.0 和基于 Web 浏览器的身份验证对我们来说是不可接受的。有没有办法实现这种身份验证并以某种方式将其与 Bigquery 和 Cloud Storage ACL 绑定?
考虑如下情况。我们域中的客户已获得 Google 帐户。它向我们的 REST 接口发送请求,并提供凭据(电子邮件和密码)以及其他详细信息。该工具对客户端进行身份验证并代表其向 Bigquery(或云存储)发送请求。如果客户端在没有正确权限(通过 Bigquery/Cloud Storage ACL 设置)的情况下尝试访问 Dataset(Bigquery)或 Bucket/Entity(Cloud Storage),则禁止访问。
【问题讨论】:
-
请解释一下“客户”:您说:a) 客户始终是另一个应用程序......并且 b) 客户在我们的域中获得了 Google 帐户。
-
好吧,我们假设可以在我们的域下创建一个 Google 帐户并使用帐户凭据(电子邮件、密码)来验证客户端(应用程序)。但是,我们可能错了,我们将不得不自己实现身份验证(例如通过 Spring Security)。我们考虑 Google 帐户主要是因为它们与 ACL 的连接。
标签: google-app-engine google-bigquery google-cloud-storage