为本地开发环境设置 ADC

您可以在本地开发环境中向 ADC 提供用户凭据服务账号凭据

用户凭据

当您的代码在本地开发环境(例如开发工作站)中运行时,最好的方法是使用与您的用户账号关联的凭据。

使用用户账号配置 ADC 的方式取决于用户账号是由 Google 管理(换句话说,它是 Google 账号)还是由其他身份提供方 (IdP) 管理,并且用户账号通过使用员工身份联合进行联合。

使用 Google 账号配置 ADC

如需使用 Google 账号配置 ADC,您可以使用 Google Cloud CLI:

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    登录屏幕随即出现。在您登录后,您的凭据会存储在 ADC 使用的本地凭据文件中。

使用由外部 IdP 管理的账号配置 ADC

如需为由外部 IdP 管理并使用员工身份联合进行联合的用户账号配置 ADC,请执行以下操作:

  1. After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:

    gcloud init
  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

    登录屏幕随即出现。在您登录后,您的凭据会存储在 ADC 使用的本地凭据文件中。

使用用户凭据配置 ADC 的提示

使用用户账号配置 ADC 时,您应该注意以下事项:

  • 如果没有额外的配置步骤,使用用户账号配置的 ADC 可能不适用于某些 API。如果您看到错误消息,说明 API 未在项目中启用或者没有可用的配额项目,请参阅用户凭据无效

  • 本地 ADC 文件包含您的刷新令牌。任何有权访问文件系统的用户都可以使用它来获取有效的访问令牌。如果您不再需要这些本地凭据,可以使用 gcloud auth application-default revoke 命令将其撤消。

  • 您的本地 ADC 文件与您的用户账号而非 gcloud CLI 配置相关联。改用其他 gcloud CLI 配置可能会更改 gcloud CLI 使用的身份,但不会影响本地 ADC 文件或 ADC 配置。

服务账号凭据

您可以使用服务账号模拟或服务账号密钥,通过服务账号的凭据来配置 ADC。

服务账号模拟

您可以使用服务账号模拟来设置本地应用默认凭据 (ADC) 文件。支持模拟的客户端库可以自动使用这些凭据。使用模拟创建的本地 ADC 文件支持以下语言:

  • C#
  • Go
  • Java
  • Node.js
  • Python

您必须具有要模拟的服务账号的 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) IAM 角色。如需了解详情,请参阅必需的角色

使用服务账号模拟创建本地 ADC 文件:

gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL

现在,您可以使用受支持的语言使用客户端库,就像使用用户凭据设置本地 ADC 文件后一样。身份验证库会自动查找凭据。如需了解详情,请参阅使用客户端库时进行身份验证

服务账号密钥

如果您无法使用用户账号或服务账号模拟进行本地开发,可以使用服务账号密钥。

如需创建服务账号密钥并将其提供给 ADC,请执行以下操作:

  1. 按照创建服务账号密钥中的说明,创建一个具有您的应用所需的角色的服务账号,并为该服务账号创建密钥。
  2. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

后续步骤