如何解决Terraform Azure提供程序-如何通过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循环提示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。