欢迎来到cool的博客
7

Music box

Click to Start

点击头像播放音乐
新博客链接

GCP为服务器到服务器的生产应用设置身份验证(GOOGLE_APPLICATION_CREDENTIALS)

https://cloud.google.com/docs/authentication/production

为服务器到服务器的生产应用设置身份验证

本指南介绍如何为服务器到服务器的生产应用设置身份验证和授权。身份验证过程用于确定客户端的身份。授权过程用于确定经过身份验证的客户端对特定资源具有哪些权限。也就是说,身份验证识别您是谁,而授权规定您可以做些什么。如需详细了解支持的身份验证方法以及如何选择,请参阅身份验证概览

Google 使用凭据来标识您的应用,以进行配额计算和结算。此外,还使用凭据来授予对 GCP API、资源和功能的访问权限。

为应用提供凭据

GCP 客户端库使用名为“应用默认凭据”(ADC) 的策略来查找应用的凭据。当您的代码使用客户端库时,该策略将按以下顺序检查您的凭据:

  1. 首先,ADC 检查是否设置了环境变量 GOOGLE_APPLICATION_CREDENTIALS。如果设置了该变量,则 ADC 使用该变量指向的服务帐号文件。下一部分将介绍如何设置环境变量。

  2. 如果未设置环境变量,则对于在 Compute Engine、Kubernetes Engine、App Engine 和 Cloud Functions 上运行的应用,ADC 使用这些服务提供的默认服务帐号。

  3. 如果 ADC 无法使用上述任何凭据,则会引发错误。

以下代码示例展示了该策略。该示例并未明确指定应用凭据。但是,只要设置了 GOOGLE_APPLICATION_CREDENTIALS 环境变量,或者只要应用在 Compute Engine、Kubernetes Engine、App Engine 或 Cloud Functions 上运行,ADC 便能够隐式查找凭据。

必须安装 Cloud Storage 客户端库才能运行以下示例。

 

手动获取和提供服务帐号凭据

如果您在本地开发代码、在本地部署应用或者将应用部署到其他公有云,则可以手动创建和获取服务帐号凭据。

创建服务帐号

以下步骤描述了如何创建服务帐号。但是,如下方限制访问权限部分所示,您应该限制对权限的访问,而不是设置所有者级别权限。

GCP CONSOLE

COMMAND LINE

  1. In the GCP Console, go to the Create service account key page.

    GO TO THE CREATE SERVICE ACCOUNT KEY PAGE
  2. From the Service account list, select New service account.
  3. In the Service account name field, enter a name.
  4. From the Role list, select Project > Owner.

    Note: The Role field authorizes your service account to access resources. You can view and change this field later by using GCP Console. If you are developing a production app, specify more granular permissions than Project > Owner. For more information, see granting roles to service accounts.

  5. Click Create. A JSON file that contains your key downloads to your computer.

提供服务帐号凭据

创建服务帐号后,若要为您的应用提供凭据,有两种方式可供您选择。您可以明确设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量,也可以在代码中传递指向服务帐号密钥的路径。

返回列表