Android:如何为 Android 应用程序使用 GCP 服务帐户

Nit*_*ish 5 android android-security

我在我的应用程序中使用 Google 路线 API。最近,我收到了来自 Google 的关于 API 密钥的警告说:

Your app contains exposed Google Cloud Platform (GCP) API keys

这是因为方向 API 需要身份验证密钥(我在 strings.xml 文件中有该密钥,并从那里附加它)。在控制台上,已经添加了应用程序的包名称和 SHA1,同时限制了 API。我阅读了有关设置 GCP 服务帐户的信息,但不知道如何使用它。根据文档,我们应该设置环境变量并通过它提供凭据。这是否意味着我必须将生成的 json 文件存储在我的应用程序中并从那里获取凭据(如文档中所述)。如果没有,那么移动应用程序的最佳方法应该是什么。

更新:生成的 google-services.json 本身有 api 密钥。

Tha*_*eed 1

最好的来源是 Google 文档本身

\n\n

从文档中 -

\n\n

如果您在应用程序中嵌入 GCP API 密钥,这些密钥将公开可用。API 密钥的暴露可能会导致您的 app\xe2\x80\x99s 帐户中发生意外费用和配额更改。我们建议使用以下方法之一在您的应用中修复此问题:

\n\n
    \n
  1. 如果可能,请使用 GCP 服务帐户代替 GCP API 密钥来验证您的应用程序。GCP 服务帐号是与您的 GCP 项目关联的 Google 帐号。有关创建和使用服务帐户的更多详细信息可以在此处找到。

  2. \n
  3. 对您的 API 密钥添加限制,以便仅允许您的应用程序使用 API 密钥。有关添加 API 密钥限制的更多详细信息,请参阅此处

  4. \n
\n\n

请查看安全使用 API 密钥的GCP 最佳实践。

\n