gpt4 book ai didi

azure - 如何使用 terraform 将来自 SQL 托管实例的连接字符串存储在 Azure Key Vault 中

转载 作者:行者123 更新时间:2023-12-02 06:06:30 25 4
gpt4 key购买 nike

我正在使用 terraform 部署 SQL 托管实例,并且需要将其附带的 4 个连接字符串存储在 Azure Key Vault 中。根据 SQL 托管实例的 terraform 文档: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/mssql_managed_instance连接字符串不是导出的属性,因此不能只进行输出并引用它。我如何识别这些连接字符串以将它们存储在 key 保管库中?

如果 terraform 无法实现,我愿意接受 powershell/arm 解决方案

最佳答案

一般来说,您可以使用 terraform 将任何 secret 存储在 key 保管库中,如下所示:

resource "azurerm_key_vault_secret" "example" {
name = "the-secret-name"
value = "the-secret-value"
key_vault_id = var.keyvault_id
}

每个连接字符串都遵循一定的语法,因此我会根据名称、管理员用户和管理员密码将它们组合在一起作为字符串,并将它们添加到 key 保管库,类似于:

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 托管实例。

关于azure - 如何使用 terraform 将来自 SQL 托管实例的连接字符串存储在 Azure Key Vault 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72134853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com