azure - 如何从多个密钥库中获取密钥?地形
问题描述
我正在努力解决这个问题并努力让它正确。所以我有 3 个密钥库,每个地区 1 个,美国、欧洲、亚洲,所以我通过数据块传递它
data "azurerm_key_vault" "existing" {
name = "mykeyvault"
resource_group_name = "myrg"
}
data "azurerm_key_vault_secret" "userlist1" {
name = "secret1"
key_vault_id = "${data.azurerm_key_vault.existing.id}"
}
data "azurerm_key_vault_secret" "userlist2"{
name = "secret2"
key_vault_id = "${data.azurerm_key_vault.existing.id}"
}
output "secret_value1" {
value = "${data.azurerm_key_vault_secret.userlist1.value}"
}
output "secret_value2" {
value = "${data.azurerm_key_vault_secret.userlist2.value}"
}
现在正在努力拼凑的是,如果我的管道设置为在 region = europe 上运行,我该如何传递下面的秘密值?
module "testmod" {
source = "./test
password = "${data.azurerm_key_vault_secret.**IFREGIONISEUROPETHENPASSTHISSECRET**.value}"
}
解决方案
首先,您计划使用的方法将您的秘密放在您的状态文件中,因此请确保您的状态文件已加密且安全。
因为你想动态引用值,你想要的可能是一个像对象这样的数据结构,而不是一个变量序列。
使用 locals 在对象中收集您的值:
locals {
secret_by_region = {
"asia" = data.azurerm_key_vault_secret.userlist1.value,
"europe" = data.azurerm_key_vault_secret.userlist2.value
}
}
然后从局部变量中引用值:
module "testmod" {
source = "./test
password = local.secret_by_region[var.region]
}
推荐阅读
- here-api - Here.com API 正确结构
- azure - 在处理 Azure CosmosDb ChangeFeed 时跟踪列更改
- python - 无法从 .kv 文件调用函数,解释器声称类和方法不存在
- html - Angular TypeError:使用 event.target.file [0] 时无法读取未定义的属性“0”
- nginx - 带有 keycloak 的 jhipster 应用程序
- git - GIT:将更改从一个分支移动到另一个分支
- node.js - 在 fsevents 的 npm 安装期间 nody-gyp 重建的目的是什么?
- php - PHP - 输出包含特定文本标记的数组值
- javascript - 将二维数组转换为分配的关键对象
- reactjs - 是什么导致输入框文本在 Reconciliation 的 ReactJS 页面示例中没有重新排序?