【问题标题】:Authentication to GCP in terraform在 terraform 中向 GCP 进行身份验证
【发布时间】:2021-10-21 00:08:38
【问题描述】:

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

【问题讨论】:

  • 这有帮助吗:registry.terraform.io/providers/hashicorp/google/latest/docs/…?我们还需要查看至少一部分代码。
  • 我不知道你是否知道它是GOOGLE_APPLICATION_CREDENTIALS 而不是GOOGLE_CREDENTIALS 然后尝试保持json密钥文件不变
  • @MBHAPhoenix 你是传递json文件的路径还是json文件的实际内容?传递路径有效,但我们不想将凭证 json 文件签出到 git。我们想将凭证 json 文件的内容导出到 GOOGLE_APPLICATION_CREDENTIALS,即使删除了多余的行,这也不起作用
  • @edoc 这是某个 CI-CD 管道的一部分吗?
  • @MarkoE 是的

标签: google-cloud-platform terraform terraform-provider-gcp


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

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

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

【讨论】:

    猜你喜欢
    • 2011-04-30
    • 2021-09-18
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2021-01-18
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多