有没有办法从Azure Key Vault获取机密值?
看起来value
未在密钥保管库秘密对象here中公开。
答案 0 :(得分:4)
Now you can do it with azurerm_key_vault_secret data source.
I'm enjoying without any scripting.
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}"
}
答案 1 :(得分:3)
您首先需要为天蓝色的密钥库创建数据资源以获取密钥库资源ID:
data "azurerm_key_vault" "keyvault" {
name = "${var.keyvault_name}"
resource_group_name = "${var.resourcegroup_name}"
}
然后使用azurerm_key_vault_secret
来获取具有密钥库资源ID的秘密:
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
。
答案 2 :(得分:0)
有没有办法从Azure Key Vault获取机密值?
作为一种变通方法,我们可以使用AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, YourActivity.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
Calendar timeOff = Calendar.getInstance();
/* setting time */
timeOff.set(Calendar.HOUR_OF_DAY, 23);
timeOff.set(Calendar.MINUTE, 59);
timeOff.set(Calendar.SECOND, 0);
alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY,
AlarmManager.INTERVAL_DAY, intent);
来获取此值,如下所示:
PowerShell
答案 3 :(得分:0)
不幸的是,Terraform目前无法实现这一目标。 Terraform只会输出密码和版本。如果您需要检索azure密钥保险密码,最好的方法是使用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]
有关详情,请参阅:Managing Azure Keyvault Secrets with Azure-CLi
使用Powershell :Get-AzureKeyVaultSecret
get-azurekeyvaultsecret -vaultName "<vault-name>" -name "<secret-name>"
答案 4 :(得分:0)
我一直在努力从金库密钥中获取密码。下面的代码对我有用,请尝试一下。
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
}
希望它能对您有所帮助。