在 Google 计算引擎上,Google 应用程序默认凭据是否已存在?还是需要将它们添加为环境变量?
对于 Compute Engine,如果未指定环境变量
GOOGLE_APPLICATION_CREDENTIALS
,默认服务帐户将提供凭据。
Google Cloud 应用程序默认凭据 (ADC) 不是凭据。 ADC 是一种定位 Google 云服务帐户凭据的策略。
如果设置了环境变量
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)
我写了几篇涵盖 Google Cloud 凭据的文章。