【问题标题】:Create azure secret with get-Credetials in powershell在 powershell 中使用 get-Credentials 创建 azure secret
【发布时间】:2021-12-11 21:05:11
【问题描述】:

我正在尝试在 azure 中自动创建 VM。 我想提示用户填写凭据,然后将它们作为机密存储在我的 azure key vault 中。问题是它会自动将密码传输到安全字符串,因此我无法存储该值...

【问题讨论】:

  • [System.Net.NetworkCredential]::new([string]::Empty,$passw).Password[System.Runtime.InteropServices.Marshal]::PtrToStringUni([System.Runtime.InteropServices.Marshal]::SecureStringToGlobalAllocUnicode($passw))ConvertFrom-SecureString $passw -AsPlainText 如果你有 PS Core。一个简单的谷歌搜索就会产生你正在寻找的答案。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: azure powershell cloud azure-keyvault


【解决方案1】:

事实上,Azure 希望您使用 Set-AzKeyVaultSecret 将 SecureString 传递给 KeyVault。所以你不需要把它转换成纯文本。

Set-AzKeyVaultSecret in Docs

# Read in Credentials (Password will be of type SecureString)
$Credential = Get-Credential
     
# Save password in your key vault
Set-AzKeyVaultSecret -Name "MySecret" -VaultName "MyKeyVaultName" -SecretValue $Credential.Password


并使其更加完整。以下是您可以将其作为纯文本检索的方法。

# Plain password
$Credential = Get-Credential
$Credential.GetNetworkCredential().Password

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多