在阅读了这些问答之后;As,
- 谷歌api机器学习我可以使用api密钥吗
- 如何使用谷歌人工智能平台在线预测
- 如何使用HTTP请求验证GCP AI平台预测
我仍然不知道如何为不需要任何登录或OAuth屏幕的AI平台Predict API启用简单身份验证。
我的场景如下:我们有一个静态网站,允许用户输入一些数据,网站(客户端(通过API将数据发送到模型进行预测,当结果返回时,网站将其显示给用户。我们不希望用户必须登录或以任何方式表明自己的身份。只需输入一些数据,按下一个按钮,就可以得到结果。
然而,就我所能搜索到的而言,没有办法做到这一点(在我看来,关于身份验证的文档令人困惑,有多篇重叠的文章,很难确定什么适用于特定情况(;你必须使用某种OAuth,让用户使用谷歌帐户登录。
难道真的没有办法让网站本身进行身份验证,而不是让个人用户进行身份验证吗?例如,使用API密钥或服务帐户密钥?
如果OAuth是唯一的方法,这是否意味着想要使用该网站的用户必须拥有谷歌帐户?我该如何启用它:我应该创建一个OAuth客户端ID,还是OAuth同意屏幕?
这里建议的做法是,所有OAuth都应该发生在服务器端,其中GCP服务帐户JSON密钥存储在某个后端服务器上。
我将通过假设您的网站托管在App Engine上来回答您的问题,但您的网站可以托管在其他GCP产品的任何位置,如Cloud Run或任何其他托管提供商。
- 在后端Web服务器中,您可以使用服务帐户JSON发出AI平台预测请求,然后您需要配置您的网站以与此后端对话
Website ----HTTP Request to App Engine URL------> App Engine (code---)--------> AI Platform
因此,正如Lak在这里澄清的那样,应用程序引擎后端代表网站客户端执行身份验证;由于请求将传递您的GCP服务Acount JSON密钥,因此他们可以访问将特定HTTP请求发送到后端服务器的权限,从而进行AI平台调用。
在你的情况下,你不希望用户访问你的谷歌数据,你只想让他们访问你自己的人工智能平台模型。
基本上,您只需在服务器端使用客户端库,只要环境变量设置为服务帐户密钥,它就会自动为您执行OAuth。
注意:如果您想访问某人的谷歌资源(如谷歌文档、日历、GCP项目等(,则仅需要执行谷歌OAuth