使用 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 进行身份验证和授权的凭据。

凭据类型 身份验证命令 备注 更多信息
用户凭据

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

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

gcloud auth login --login-file=WORKFORCE_IDENTITY_FEDERATION_LOGIN_CONFIGURATION_FILE 员工身份联合可让 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 中的任何 Google 工具之前,您需要授权使用您的账号。完成此操作后,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 用于身份验证和授权,从而管理 Google Cloud 资源和服务。这些凭据是您的 gcloud CLI 凭据

使用 gcloud CLI 向 ADC 提供凭据时,您可以使用 gcloud auth application-default login 命令。此命令会将您的凭据放在熟知的位置,以供 ADC 在本地环境中使用。这些凭据是您的本地 ADC 凭据

您的本地 ADC 凭据和 gcloud CLI 凭据是两组不同的凭据。gcloud CLI 不使用 ADC 获取凭据。

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

命令 说明
gcloud auth login

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

gcloud auth application-default login

生成提供给应用默认凭据以用于本地开发环境的用户凭据。

通常,您使用同一账号登录 gcloud CLI 并向 ADC 提供用户凭据,但如果需要,您可以使用不同的账号。

后续步骤