使用 gcloud CLI 时进行身份验证

本页面介绍了登录 gcloud CLI 的各种方法。Google Cloud CLI 是一个可用于 Google Cloud 管理的命令行工具。大多数服务都支持 gcloud CLI。

如果您计划在本地开发环境中使用支持应用默认凭据 (ADC) 的客户端库或第三方开发工具,则需要在本地环境中配置 ADC。如需了解详情,请参阅为本地开发环境设置应用默认凭据

如何向 gcloud CLI 进行身份验证和使用,取决于您运行该工具的位置:

本地环境

对于大多数使用场景,您可以使用用户凭据登录 gcloud CLI,但也可以使用服务账号。

在本地环境中登录 gcloud CLI 时,该工具会将您的访问令牌和刷新令牌放在主目录中。有权访问文件系统的任何用户都可以使用这些凭据。如需了解详情,请参阅缓解 Google Cloud CLI 的 OAuth 令牌被盗用

下表介绍了登录 gcloud CLI 的选项,以及这如何影响该工具向 Google API 进行身份验证和授权的凭据。

凭据类型 身份验证命令 备注 更多信息
用户凭据
  1. gcloud init
  2. gcloud auth login

gcloud CLI 使用您的用户凭据进行所有 Google API 的身份验证和授权。

如需使用服务账号向 Google API 授权,请使用服务账号模拟

  1. gcloud config set auth/login_config_file WORKFORCE_IDENTITY_FEDERATION_LOGIN_CONFIGURATION_FILE
  2. gcloud auth login
员工身份联合可让 Google 以外的身份提供方管理的用户访问 Google Cloud 资源。
服务账号 gcloud auth login --cred-file=WORKLOAD_IDENTITY_FEDERATION_CREDENTIAL_FILE 工作负载身份联合使在 Google Cloud 外部运行的工作负载可以访问 Google Cloud 资源。 对工作负载进行身份验证
gcloud auth login --cred-file=SERVICE_ACCT_KEY

不推荐使用此方法,因为使用服务账号密钥会增加风险。

如需使用服务账号向 Google API 授权,请使用您的用户凭据登录 gcloud CLI,然后使用服务账号模拟

Cloud Shell

使用 Cloud Shell 时,您无需登录 gcloud CLI,但在使用 Cloud Shell 中的任何开发工具之前,您需要授权使用您的账号。执行此操作后,gcloud CLI 会使用您的用户凭据来访问 Google API。

如需了解详情,请参阅使用 Cloud Shell 进行授权

Google Cloud 计算资源

在 Google Cloud 计算资源(例如 Compute Engine 虚拟机)上使用 gcloud CLI 时,您无需初始化或登录 gcloud CLI,因为它使用元数据服务器从托管计算资源获取其凭据和配置信息。

凭据类型 身份验证命令 备注 更多信息
服务账号 不适用 gcloud CLI 使用附加到计算资源的服务账号进行所有 Google API 的身份验证和授权。 支持进行服务账号关联的 Google Cloud 服务

gcloud CLI 身份验证配置和 ADC 配置

登录 gcloud CLI 时,您可以使用 gcloud auth login 命令向 gcloud CLI 验证主账号的身份。gcloud CLI 会使用该主账号进行身份验证和授权,以管理 Google Cloud 资源和服务。这是 gcloud CLI 身份验证配置

使用 gcloud CLI 配置 ADC 时,您可以使用 gcloud auth application-default login 命令。此命令会使用您提供的主账号为本地环境配置 ADC。这是 ADC 配置

gcloud CLI 身份验证配置与 ADC 配置不同。它们可以使用同一主账号,也可以使用不同的主账号。gcloud CLI 不使用 ADC 访问 Google Cloud 资源。

下表展示了两个命令及其作用:

命令 说明
gcloud auth login

接受用于向 Google Cloud 服务的访问进行身份验证和授权的用户凭据。

gcloud auth application-default login

根据您为命令提供的凭据生成本地 ADC 文件。

通常,您使用同一账号登录 gcloud CLI 并配置 ADC,但如果需要,您可以使用不同的账号。

后续步骤