首页 > 解决方案 > 在 terraform 中向 GCP 进行身份验证

问题描述

我们需要使用 terraform 创建 gcp 资源,但是当 terraform 尝试向 gcp 进行身份验证时,我们被困在 terraform 初始化阶段。我们已经配置了我们的后端并获得了我们的服务帐户密钥,但是缩小(删除凭证 json 文件中的多余行)凭证 json 并导出到 GOOGLE_CREDENTIALS,不起作用。你是如何设置这个值的?

标签: google-cloud-platformterraformterraform-provider-gcp

解决方案


  • 如果您在本地和受控环境中,则可以使用 GOOGLE_APPLICATION_CREDENTIALS 并将其设置为 JSON 密钥文件的路径。但正如所讨论的,关键文件在安全方面是不好的做法。另一种方法是使用身份验证gcloud auth application-default login,您不必处理密钥文件。

  • 另一种选择是使用已使用授权用户打开会话的凭据设置的 Google Cloud Shell。

  • 最后,对于自动化管道,您可以使用 Google Cloud Build,其中将使用 Cloud Build 使用的服务帐户的身份验证和授权来运行流程


推荐阅读