【问题标题】:Provide public key for google service account instead of having Google generate the key为 Google 服务帐户提供公钥,而不是让 Google 生成密钥
【发布时间】:2016-04-29 16:24:59
【问题描述】:
借助 Google 服务帐号,Google 会生成与服务帐号关联的公钥/私钥对,并将其传递给想要进行 API 调用的最终用户。并由最终用户来确保密钥的安全。是否可以生成服务帐户和关联的客户端,但提供 Google 可用于验证发出请求的服务帐户客户端的证书?我要解决的问题是不交换任何私钥。
还可以限定服务帐户有权访问的用户吗?例如,如果我想创建一个服务帐户,该帐户仅对 Google 域上的一组用户具有模拟 api 访问权限。从我所读到的,如果您创建一个具有域范围委派的服务帐户,该服务帐户对域上的所有用户都具有模拟 api 权限。
【问题讨论】:
标签:
google-api
google-apps
google-apps-marketplace
【解决方案1】:
不,您不能关联服务帐户并提供证书来验证客户端请求。如here 所述,服务帐户的凭据是唯一的,并且至少有一个公钥或私钥对。要生成服务帐户凭据,请转到 Google Developers Console。在创建服务帐户窗口中,键入服务帐户的名称并选择Furnish a new private key。您的私钥/公钥对已生成并下载到您的机器上。它用作此密钥的唯一副本。您有责任安全地存储它。有关 Developers Console 中服务帐户凭据的更多详细信息,请参阅 Developers Console 帮助文件中的 Service account。