本页面介绍了登录 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 提供用户凭据,但如果需要,您可以使用不同的账号。
后续步骤
- 详细了解 ADC 如何查找凭据。
- 使用 Cloud 客户端库时进行身份验证。
- 探索在 Google 进行身份验证。