![](/img/trans.png)
[英]How to grep dnszone from azure SQL Managed Instance connection-string
[英]How to use terraform to store connection string from SQL Managed Instance in Azure Key vault
我正在使用 terraform 部署一個 SQL 托管實例,並且需要將它附帶的 4 個連接字符串存儲在 azure 密鑰保管庫中。 根據 SQL 托管實例的 terraform 文檔: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mssql_managed_instance連接字符串不是導出的屬性,因此不能只執行 88633347並參考它。 我將如何識別這些連接字符串以將它們存儲在密鑰保管庫中?
如果 terraform 不可能,我願意接受 powershell/arm 解決方案
通常,您可以使用 terraform 將任何機密存儲在密鑰庫中,如下所示:
resource "azurerm_key_vault_secret" "example" {
name = "the-secret-name"
value = "the-secret-value"
key_vault_id = var.keyvault_id
}
每個連接字符串都遵循特定的語法,因此我會根據名稱、管理員用戶和管理員密碼將它們組合在一起作為字符串,並將它們添加到密鑰庫中,類似於以下內容:
locals {
username = "admin"
password = "abc"
}
resource "azurerm_mssql_managed_instance" "example" {
name = "managedsqlinstance"
resource_group_name = var.resource_group_name
location = var.location
administrator_login = local.username
administrator_login_password = local.password
...
}
resource "azurerm_key_vault_secret" "example" {
name = "sql-connectionstring"
value = "Server=tcp:${azurerm_mssql_managed_instance.example.name}.database.windows.net,1433;Persist Security Info=False;User ID=${local.username};Password=${local.password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
key_vault_id = var.keyvault_id
}
要查找連接字符串及其確切語法,您應該查看在 azure 門戶中創建的 sql 托管實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.