como manter as senhas fora do arquivo de código terraform

como manter as senhas fora do arquivo de código terraform

Estou criando um servidor SQL do Azure no Azure:

Eu tenho um variables.tfarquivo que atualmente possui a senha de administrador:

variable "sql_server_admin_password" {
  description = "admin password"
  default = "xxxx"  
}

Em seguida, faço referência a isso no arquivo principal:

resource "azurerm_sql_server" "main" {
  name                         = var.sql_server_name
  resource_group_name          = azurerm_resource_group.main.name
  location                     = azurerm_resource_group.main.location
  version                      = "12.0"
  administrator_login          = var.sql_server_admin_login
  administrator_login_password = var.sql_server_admin_password
}

Não quero verificar este arquivo no controle de origem.

Existe uma maneira terraform de obter o nome de usuário e a senha do administrador nas variáveis ​​de ambiente?

Responder1

Dependendo de como sua implantação está configurada. Você pode gerar uma senha (random_password) e armazená-la com segurança em um keyvault e referenciá-la posteriormente ao implantar seu SQL. Você também pode fazer referência a um segredo do keyvault existente como sua senha.

Alguns links relacionados a isso do Terraform:

Criação de cofre de chaves no Terraform:https://www.terraform.io/docs/providers/azurerm/r/key_vault.html

Busque o segredo de um Azure Key Vault existente: https://www.terraform.io/docs/providers/azurerm/d/key_vault_secret.html

Informações relacionadas ao Azure Key Vault podem ser encontradas aqui:https://azure.microsoft.com/en-us/services/key-vault/

Responder2

Como opção mais simples, você pode remover o valor padrão da variável e passar a variável ao executar terraform planou apply. Basta export TF_SQL_SERVER_ADMIN_PASSWORD=<password>executar comandos do terraform. Além disso, pode ser passado com segurança durante as compilações. Integrar o Azure KeyVault ou o HashiCorp Vault para recuperar as variáveis ​​é uma maneira mais complexa, mas mais segura de fazer isso.

informação relacionada