我制作了一个使用Google Cloud Speech to Text API的简单Node.js应用程序。
我可以在本地成功进行身份验证,但是如何在生产环境中进行身份验证同时又将凭据保密?
附言我的应用程序未使用Google服务器以外的其他服务器。
答案 0 :(得分:0)
您需要更加具体,以获得更准确的答案
===================
好,这完全取决于您如何控制服务帐户的权限,并且该页面上有一条注释:“如果要开发生产应用,请指定比Project> Owner更多的精细权限。有关更多信息,请参阅授予服务帐户的角色。”
您应该使用使用此服务所需的特定服务帐户。我没有特定的角色名称(例如AutoML Viewer或Editor),并且您需要在Dev ENV中测试最低可用角色。 之后,您可以将服务部署到PROD中,并确保密钥带有0400文件。因此,该帐户或多或少可以按预期使用有限的服务
答案 1 :(得分:0)
进行客户端调用所需的凭据基于称为“应用程序默认凭据”的策略。可以通过名为GOOGLE_APPLICATION_CREDENTIALS
的环境变量(如果存在)找到它们。如果未设置变量,则可以使用默认凭据。下面的文章提供了有关此主题的详细指南:
Setting Up Authentication for Server to Server Production Applications
如果您的客户端在自己的场所(而不是Compute Engine或GKE群集中)在Google外部运行,则可能会认为凭据包含在文件中,该文件本身受本地操作系统访问保护权限。例如,包含在具有读取权限的文件中,该文件仅限于运行您的应用程序的用户或该用户所属的组。