Google cloud platform 如何为服务帐户设置Google云应用程序凭据

Google cloud platform 如何为服务帐户设置Google云应用程序凭据,google-cloud-platform,gcloud,service-accounts,google-cloud-iam,Google Cloud Platform,Gcloud,Service Accounts,Google Cloud Iam,以下命令允许您设置默认凭据: gcloud auth application-default login 它会打开一个窗口(除非您使用--无启动浏览器),并允许您连接您的帐户。它创建了一个包含您的凭证的本地json文件,当应用程序使用Google Cloud SDK时,将获取该凭证 但是,如果我想按如下方式将应用程序凭据设置为服务帐户: gcloud auth application-default login \ --impersonate-service-account=saname@

以下命令允许您设置默认凭据:

 gcloud auth application-default login
它会打开一个窗口(除非您使用
--无启动浏览器
),并允许您连接您的帐户。它创建了一个包含您的凭证的本地json文件,当应用程序使用Google Cloud SDK时,将获取该凭证

但是,如果我想按如下方式将应用程序凭据设置为服务帐户:

 gcloud auth application-default login \
--impersonate-service-account=saname@project.iam.gserviceaccount.com
这仍然允许我在浏览器中进行身份验证,但它似乎加载了我的用户帐户的凭据,而不是服务帐户的凭据

有没有办法做到这一点?即,服务帐户设置为应用程序默认值,不需要服务帐户文件


注意:我确实有权模拟服务帐户

gcloud auth应用程序默认登录
使用活动的指定用户帐户创建行为类似于服务帐户的本地JSON文件

我想是吧即使允许您的用户帐户模拟ServiceAccount,将您的用户帐户用作ADC也不起作用。我不知道为什么


另一种方法是使用,但是,正如您所知,您需要使用服务帐户的凭据,因为这些凭据将被使用,而不是由
应用程序默认登录创建的凭据

我写了一篇文章,介绍了使用用户凭据模拟服务帐户的步骤。不需要服务JSON密钥文件。