如何从其他 Terraform 部署创建的密钥库中获取秘密值?
How to get secret value from keyvault that were created by other terraform deployment?
我有一个 azurerm_key_vault
类型的密钥库,名称为 key-vault-1
,其中 azurerm_key_vault_secret
类型的密钥名为 secret-password-1
。
这些在其他部署中定义。
如何从其他 modules/deployments 访问 secret-password-1
的值?
您可以使用 Data Source: azurerm_key_vault_secret 访问现有密钥保管库中的机密值。当然,创建 Key vault 和 secret 的部署必须在模块之前执行。
如果两个部署都在模块中,则需要在 Key Vault 部署中定义机密的输出。这是一个例子:
main.tf
module "keyvault" {
source = "./modules/keyvault"
...
}
module "other_deployment" {
source = ./modules/other_deployment
secret-password-1 = module.keyvault.secret-password-1
}
./modules/keyvault/main.tf
...
output "secret-password-1" {
value = azurerm_key_vault_secret.exxample.value
}
./modules/other_deployment/main.tf
variable "secret-password-1" {}
此示例展示了如何引用在另一个模块中创建的秘密。
我有一个 azurerm_key_vault
类型的密钥库,名称为 key-vault-1
,其中 azurerm_key_vault_secret
类型的密钥名为 secret-password-1
。
这些在其他部署中定义。
如何从其他 modules/deployments 访问 secret-password-1
的值?
您可以使用 Data Source: azurerm_key_vault_secret 访问现有密钥保管库中的机密值。当然,创建 Key vault 和 secret 的部署必须在模块之前执行。
如果两个部署都在模块中,则需要在 Key Vault 部署中定义机密的输出。这是一个例子:
main.tf
module "keyvault" {
source = "./modules/keyvault"
...
}
module "other_deployment" {
source = ./modules/other_deployment
secret-password-1 = module.keyvault.secret-password-1
}
./modules/keyvault/main.tf
...
output "secret-password-1" {
value = azurerm_key_vault_secret.exxample.value
}
./modules/other_deployment/main.tf
variable "secret-password-1" {}
此示例展示了如何引用在另一个模块中创建的秘密。