在Google Compute Engine上,是否已经存在Google应用程序默认凭据?还是有必要将它们添加为环境变量?
答案 0 :(得分:2)
对于Compute Engine,如果未指定环境变量GOOGLE_APPLICATION_CREDENTIALS
,则默认服务帐户将提供凭据。
Google云应用程序默认凭据(ADC)不是凭据。 ADC是一种定位Google Cloud Service帐户凭据的策略。
如果设置了环境变量GOOGLE_APPLICATION_CREDENTIALS
,则ADC将使用该变量指向的文件名来获得服务帐户凭据。此文件是Json格式的Google Cloud Service帐户凭据文件。以前的P12(PFX)证书已弃用。
如果未设置环境变量,则当应用程序在Compute Engine,App Engine,Kubernetes Engine或Cloud Functions上运行时,将使用默认服务帐户作为凭据。
如果前两个步骤未能找到有效的凭据,ADC将失败,并发生错误。
这里是Python中的一个示例,它将为Compute Engine上的Google Cloud Storage创建(定位)凭据。首先,将检查环境变量,如果未设置,将使用默认的Compute Engine服务帐户凭据。
from google.auth import compute_engine
from google.cloud import storage
credentials = compute_engine.Credentials()
client = storage.Client(credentials=credentials, project=project)
我写了几本articles,涵盖了Google Cloud凭据。