Terraform Azure 提供商 - 如何通过 Terraform 为我的密钥保管库添加一个以上的密钥 and/or 秘密?
Terraform Azure provider - How do I add via terraform more than one key and/or secret for my key vault?
我看到的所有示例都提供了 1 个密钥和/或 q 个密钥。
有没有办法添加另一个(或更多)?
要为您的密钥保管库添加多个密钥或机密,您只需多次添加资源 azurerm_key_vault_key
和 azurerm_key_vault_secret
。
建议在循环中创建此类资源。 Terraform 提供了几种不同的循环结构,每种结构都旨在用于略有不同的场景:
count
参数:循环资源。
for_each
表达式:遍历资源和资源内的内联块。
for
表达式:遍历列表和映射。
例如,使用 count
个参数创建一个或多个密钥和机密。
variable "key_lists" {
type = list(string)
default = ["key1","key2","key3"]
}
variable "secret_maps" {
type = map(string)
default = {
"name1"= "value1"
"aaa" = "111"
"bbb" = "222"
}
}
resource "azurerm_key_vault_key" "generated" {
count = length(var.key_lists)
name = var.key_lists[count.index]
key_vault_id = azurerm_key_vault.example.id
key_type = "RSA"
key_size = 2048
key_opts = [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
]
}
resource "azurerm_key_vault_secret" "example" {
count = length(var.secret_maps)
name = keys(var.secret_maps)[count.index]
value = values(var.secret_maps)[count.index]
key_vault_id = azurerm_key_vault.example.id
}
您可以阅读 this blog 以获得更多 Terraform 循环提示。
我看到的所有示例都提供了 1 个密钥和/或 q 个密钥。 有没有办法添加另一个(或更多)?
要为您的密钥保管库添加多个密钥或机密,您只需多次添加资源 azurerm_key_vault_key
和 azurerm_key_vault_secret
。
建议在循环中创建此类资源。 Terraform 提供了几种不同的循环结构,每种结构都旨在用于略有不同的场景:
count
参数:循环资源。for_each
表达式:遍历资源和资源内的内联块。for
表达式:遍历列表和映射。
例如,使用 count
个参数创建一个或多个密钥和机密。
variable "key_lists" {
type = list(string)
default = ["key1","key2","key3"]
}
variable "secret_maps" {
type = map(string)
default = {
"name1"= "value1"
"aaa" = "111"
"bbb" = "222"
}
}
resource "azurerm_key_vault_key" "generated" {
count = length(var.key_lists)
name = var.key_lists[count.index]
key_vault_id = azurerm_key_vault.example.id
key_type = "RSA"
key_size = 2048
key_opts = [
"decrypt",
"encrypt",
"sign",
"unwrapKey",
"verify",
"wrapKey",
]
}
resource "azurerm_key_vault_secret" "example" {
count = length(var.secret_maps)
name = keys(var.secret_maps)[count.index]
value = values(var.secret_maps)[count.index]
key_vault_id = azurerm_key_vault.example.id
}
您可以阅读 this blog 以获得更多 Terraform 循环提示。