Есть ли способ получить значение секрета из Azure Key Vault?
Не похоже, что value
раскрывается в секретном объекте хранилища ключей здесь а>.
Есть ли способ получить значение секрета из Azure Key Vault?
Не похоже, что value
раскрывается в секретном объекте хранилища ключей здесь а>.
Теперь вы можете сделать это с помощью источника данных azurerm_key_vault_secret.
Я наслаждаюсь без скриптов.
data "azurerm_key_vault_secret" "test" {
name = "secret-sauce"
vault_uri = "https://rickslab.vault.azure.net/"
}
output "secret_value" {
value = "${data.azurerm_key_vault_secret.test.value}"
}
Сначала необходимо создать ресурс данных в хранилище ключей Azure, чтобы получить идентификатор ресурса хранилища ключей:
data "azurerm_key_vault" "keyvault" {
name = "${var.keyvault_name}"
resource_group_name = "${var.resourcegroup_name}"
}
Затем используйте azurerm_key_vault_secret
, чтобы получить секрет с идентификатором ресурса хранилища ключей:
data "azurerm_key_vault_secret" "win_admin_pass" {
name = "${var.secret_name}"
key_vault_id = "${data.azurerm_key_vault.keyvault.id}"
}
Обратите внимание, что использование vault_uri
в azurerm_key_vault_secret
устарело и не рекомендуется.
Есть ли способ получить значение секрета из Azure Key Vault?
В качестве обходного пути мы можем использовать PowerShell
, чтобы получить это значение, например:
$a = Get-AzureKeyVaultSecret -VaultName "jasonkey" -Name "jason"
$a.SecretValueText
К сожалению, в настоящее время это невозможно в Terraform. Terraform выводит только идентификатор и версию секрета. Если вам нужно получить секреты Azure Keyvault, лучший способ - использовать Azure-CLI или Powershell, если он недоступен.
Использование Azure-CLI (2.0)
az keyvault secret show --vault-name <vault-name> --name <secret-name>
Синтаксис:
az keyvault secret show --name
--vault-name
[--version]
Для получения дополнительной информации см. Управление хранилищем ключей Azure. Секреты Azure-CLi
Использование Powershell: Get-AzureKeyVaultSecret
get-azurekeyvaultsecret -vaultName "<vault-name>" -name "<secret-name>"
Я работал над этим, чтобы получить пароль от секретного хранилища ключей. Приведенный ниже код работал у меня, попробуйте.
data "azurerm_key_vault" "terrakv" {
name = "terrakv" // KeyVault name
resource_group_name = "mykv" // resourceGroup
}
data "azurerm_key_vault_secret" "kvsecret" {
name = "secret" // Name of secret
key_vault_id = data.azurerm_key_vault.terrakv.id
}
os_profile {
computer_name = "vm-01"
admin_username = "testadmin"
admin_password = data.azurerm_key_vault_secret.kvsecret.value // Toget actual value
}
Надеюсь, это вам точно поможет.
azurerm_key_vault_secret
, и так далее. - person BMW   schedule 16.10.2017