为Google服务帐户提供公钥,而不是让Google生成密钥

问题描述:

通过Google服务帐户,Google生成与该服务帐户关联的公钥/私钥对,并将其传递给想要进行API调用的最终用户。最终用户可以保证钥匙的安全。是否可以生成服务帐户和关联的客户端,但提供Google可用于验证发出请求的服务帐户客户端的证书?我试图解决的问题不是交换任何私钥。为Google服务帐户提供公钥,而不是让Google生成密钥

也有可能范围的服务帐户有权访问的用户?例如,如果我想创建一个服务帐户,该服务帐户只具有Google域上的子用户组的模拟api访问权限。从我读过的内容来看,如果您使用域范围委派创建服务帐户,则该服务帐户具有该域上所有用户的模拟API权限。

不,您不能关联服务帐户并提供证书来验证客户端请求。如here所述,服务帐户的凭证是唯一的,并且至少有一个公钥或私钥对。要生成服务帐户凭据,请转到Google Developers Console。在创建服务帐户窗口中,输入服务帐户的名称并选择Furnish a new private key。您的私钥/公钥对会生成并下载到您的机器。它是该密钥的唯一副本。您有责任安全地存储它。有关Developers Console中服务帐户凭证的更多详细信息,请参阅Developers Console帮助文件中的Service account