Azure

如何將密碼保存在 terraform 程式碼文件之外

  • October 20, 2020

我正在 azure 中創建一個 azure sql 伺服器:

我有一個variables.tf目前具有管理員密碼的文件:

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

然後我在主文件中引用它:

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
}

我不想將此文件簽入原始碼管理。

是否有將管理員使用者名和密碼放入環境變數的 terraform 方法?

取決於您的部署的設置方式。您可以生成密碼 (random_password) 並將其安全地儲存在密鑰庫中,並在部署 SQL 時進一步引用它。您還可以引用現有的 keyvault 機密作為您的密碼。

Terraform 中與此相關的一些連結:

在 Terraform 中創建密鑰庫:https ://www.terraform.io/docs/providers/azurerm/r/key_vault.html

從現有 Azure Key Vault 獲取機密: https ://www.terraform.io/docs/providers/azurerm/d/key_vault_secret.html

可以在此處找到與 Azure Key Vault 相關的資訊:https ://azure.microsoft.com/en-us/services/key-vault/

引用自:https://serverfault.com/questions/999250