如何在使用 Terraform 时防止提供商 access_key 泄漏

问题描述 投票:0回答:1

我遇到了一个问题,我没有找到任何关于避免从源代码中设置后端配置或 Terraform 的 access_key 的很好的文档。

这是最好的方法吗? : Hashicorp Terraform 远程状态和 Azure

有人有一个很好的解决方案吗?

backend "azurerm" {
  resource_group_name  = "tfstate"
  storage_account_name = "<storage_account_name>"
  container_name       = "tfstate"
  key                  = "terraform.tfstate"
  access_key           = "value" # This is a bad value to expose
}

祝你有美好的一天。

azure security azure-devops terraform
1个回答
0
投票

您可以利用 TF_VAR_name

环境变量可以用来设置变量。环境变量必须采用 TF_VAR_name 格式,并且最后将检查该变量的值。

因此您需要创建

variable "access_key"
,然后设置环境变量 TF_VAR_access_key 并分配您的访问密钥。

您的 terraform 代码将是

backend "azurerm" {
  resource_group_name  = "tfstate"
  storage_account_name = "<storage_account_name>"
  container_name       = "tfstate"
  key                  = "terraform.tfstate"
  access_key           = var.access_key
}

和您的管道

- bash: |
     # run terraform here
  env:
    TF_VAR_access_key: $(access_key) 

access_key
应作为秘密存储在变量组中,或从密钥库加载。

© www.soinside.com 2019 - 2024. All rights reserved.