GOOGLE_APPLICATION_CREDENTIALS 内容不是文件路径

red*_*888 9 google-cloud-platform

我正在使用 gcp python API。

GOOGLE_APPLICATION_CREDENTIALS环境变量需要 gcp 帐户 json 密钥的路径。

是否有另一个变量可以接受该文件的内容而不是路径?这样就很方便了。

gog*_*tad 1

我建议您不要依赖GOOGLE_APPLICATION_CREDENTIALS,而是使用客户端库从运行时环境读取凭据。这极大地简化了密钥分发和管理以及安全性。

创建 App Engine/GKE/GCE 实例时,您可以控制将哪个服务帐户安装到相应实例的元数据服务器(这是命令的一个选项create)。默认情况下,客户端库将在那里查找凭据。有关元数据服务器的相关文档,请参阅本页本页。请记住在创建环境时指定密钥,默认情况下它将使用计算服务的服务帐户密钥。

对于您的本地主机环境,您可以使用gcloud auth application-default login. 在本地主机上使用服务帐户的正确方法不是下载密钥,而是授予用户“充当”服务帐户的权限。这样,您的用户始终仅以自己的身份进行身份验证,并且不必将服务帐户密钥分发给每个人。如果有人离开您的公司,他们有权访问的唯一秘密就是他们自己的用户。

请参阅文档中的此页面以使用 Python 进行身份验证。