gpt4 book ai didi

azure - PowerShell:如何判断用户是否有权从 Azure Key Vault 读取 secret ?

转载 作者:行者123 更新时间:2023-12-02 06:17:41 26 4
gpt4 key购买 nike

我正在编写一个脚本,需要确定 Key Vault 中是否存在 secret 。脚本的很多逻辑都围绕着这个事实。

我遇到的问题是我的脚本无法区分 secret 不存在和用户无权读取它之间的区别。

我用来获取 secret 的代码如下:

$secret = Get-AzKeyVaultSecret -VaultName $vaultName -Name $secretName

Get-AzKeyVaultSecret commandlet:

  1. 如果 secret 存在并且可以读取,则返回 secret
  2. 如果 key 不存在,但允许用户从 key 保管库读取,则返回 $null
  3. 如果不允许用户从 key 保管库读取数据,则返回 $null 并写入发送到控制台的错误文本

问题是我无法(在代码中)区分后两者。该命令行开关不会引发异常,并且错误文本似乎不会写入标准流,我可以使用 Out-String 或类似方法将其重定向。

谁能建议我如何区分上述条件 2) 和 3)?

最佳答案

只需将其包装在带有 ErrorAction Stop 的 try-catch 中

try{
$secret = Get-AzKeyVaultSecret -VaultName $vaultName -Name $secretName -ErrorAction Stop
}
catch
{
write-host "Cannot read secrets!"
}

关于azure - PowerShell:如何判断用户是否有权从 Azure Key Vault 读取 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65683030/

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