gpt4 book ai didi

azure - 使用 KeyVault key 通过 PowerShell 部署 VM,无需明文转换

转载 作者:行者123 更新时间:2023-12-02 08:22:43 27 4
gpt4 key购买 nike

我目前正在学习 AZ-104 并尝试使用 Powershell 自动化虚拟机部署。

我想使用 New-AzVMConfigSet-AzVMOperatingSystem -Credential $cred 创建 VM,但使用我在 AzureKeyVault 中保存的凭据。

我发现的唯一解决方案是使用 .NET 脚本将 secret 转换为明文。

$secret = Get-AzKeyVaultSecret -VaultName "somekeyvaultname" -Name "vmpassword"
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secret.SecretValue)
try {
$secretValueText = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr)
} finally {
[System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}
Write-Output $secretValueText

有没有办法在脚本中使用 KeyVault 对象,以便自动将其用于虚拟机?或者这只能通过 ARM 模板实现?

最佳答案

您可以使用 AZ CLI 或 Powershell 从 AzureKeyVault 获取凭据

AZ CLI 代码示例:

$Secret = az keyvault secret show --name "SecretName"--vault-name "KeyvaultName" | ConvertFrom-Json
$SecretValue= $Secret.value

Powershell 代码示例:

$Secret = Get-AzKeyVaultSecret -VaultName "KeyvaultName" -Name "SecretName"
$SecretValue = $secret.SecretValue | ConvertFrom-SecureString -AsPlainText

关于azure - 使用 KeyVault key 通过 PowerShell 部署 VM,无需明文转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67176308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com