You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure Key Vault读取密钥配置Terraform的MongoDB Atlas Provider

从Azure Key Vault读取密钥配置MongoDB Atlas Provider

要实现从Azure Key Vault读取API密钥来配置MongoDB Atlas Provider,你需要先通过Terraform的Azure数据源获取Key Vault中的密钥,再将其传入Provider配置。具体操作如下:

1. 配置Azure Provider并添加Key Vault密钥数据源

先确保已配置Azure Provider,再添加azurerm_key_vault_secret数据源读取Key Vault中存储的公钥和私钥:

# 配置Azure Provider(未配置时添加)
provider "azurerm" {
  features {}
}

# 读取MongoDB Atlas API公钥
data "azurerm_key_vault_secret" "mongodb_atlas_pub_key" {
  name         = "mongodb-atlas-api-public-key" # 替换为你Key Vault中公钥的秘密名称
  key_vault_id = "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.KeyVault/vaults/your-key-vault-name" # 替换为你的Key Vault资源ID
}

# 读取MongoDB Atlas API私钥
data "azurerm_key_vault_secret" "mongodb_atlas_pri_key" {
  name         = "mongodb-atlas-api-private-key" # 替换为你Key Vault中私钥的秘密名称
  key_vault_id = "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.KeyVault/vaults/your-key-vault-name" # 替换为你的Key Vault资源ID
}

2. 修改MongoDB Atlas Provider配置

将原变量引用替换为Key Vault数据源的返回值:

provider "mongodbatlas" {
  public_key  = data.azurerm_key_vault_secret.mongodb_atlas_pub_key.value
  private_key = data.azurerm_key_vault_secret.mongodb_atlas_pri_key.value
}

注意事项

  • 运行Terraform的身份(本地用户、服务主体等)必须拥有目标Key Vault的Secret Get权限,否则会触发权限不足错误。
  • Key Vault资源ID可从Azure门户的Key Vault概览页获取,也可通过Azure CLI命令az keyvault show --name your-key-vault-name --query id -o tsv获取。

内容的提问来源于stack exchange,提问作者pieter-jan goeman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:34:49