如果我创建具有受限权限的自定义服务帐户,是否可以将此新服务帐户设置为“应用程序默认凭据”?
默认情况下,应用程序引擎内部有环境变量GOOGLE_APPLICATION_CREDENTIALS,该环境变量设置为(ADC),这是默认的服务帐户凭据。我可以修改吗?
我知道我可以将环境变量设置为本地指向我的自定义服务帐户凭据文件,但是在应用程序引擎中看不到明确的方法。
ADC不是凭证。ADC是一种查找凭证的方法。
App Engine Standard每个项目使用一个默认服务帐户。项目中的所有App Engine标准服务都使用相同的服务帐户。你可以修改默认服务帐户,但不能将默认服务帐户更改为使用其他服务帐户(就像使用Compute Engine一样)。
如果你决定创建一个新的服务帐户以在你的应用程序中使用,请不要将该服务帐户存储在你的应用程序中。这意味着忘记GOOGLE_APPLICATION_CREDENTIALS
。而是将服务帐户存储在Google Secret Manager(更好)或Google Cloud Storage(具有正确权限的确定)中。在应用程序启动期间加载服务帐户JSON数据。
只是一个后续问题:当我进行“ gcloud应用程序部署”时,这将设置默认服务帐户,而不管我如何通过身份验证才能正确使用gcloud?换句话说,如果我将“ gcloud auth login”作为任何服务帐户使用,那么该服务帐户将不会在应用程序引擎内部使用?
@Arximede您
app deploy
将不会更改App Engine服务帐户。您用于发布应用程序的凭据不会影响该应用程序使用的凭据。您的凭据与Google App Engine凭据是分开的。