【发布时间】:2021-10-21 19:45:05
【问题描述】:
我创建了一个带有默认防火墙规则的 Azure KeyVault。现在我想更新防火墙规则以使用 Terraform 添加一些 IP 地址。我知道要获取当前的 KeyVault 和资源组。但我发现很难用新的 IP 地址(防火墙)更新 KeyVault。
provider "azurerm" {
version = "=1.36.0"
subscription_id = "7e7f55d3-f30a-4bfd-a6be-1c59594b8592"
}
data "azurerm_resource_group" "rg_name" {
name = "ITQIG-eu-rsv-sangamn-dev"
}
data "azurerm_key_vault" "kv_name" {
name = "manjugtestkv"
resource_group_name = "${data.azurerm_resource_group.rg_name.name}"
}
【问题讨论】:
-
如果要更新资源的配置,您需要使用资源而不是数据源。数据源只是为了获取有关现有资源的信息。您是否在 Terraform 中创建了密钥库?如果是这样,您应该在那里编辑
network_acls。如果没有,那么您应该将其导入并使用 Terraform 进行管理。 -
如果我使用 Terraform(无网络 ACL)创建了 KeyVault,现在如果我使用相同的模板(仅添加 network_acl 部分),Terraform 不会部署新的 KeyVault(删除并重新创建)?我不会丢失我现有的 KeyVault 配置(秘密和其他东西)吗?
-
它至少会保持秘密。抱歉回答错误。我已经删除了。
-
谢谢。我会再做一次 PoC 并检查一下。