操作返回了无效的状态码

操作返回了无效的状态码

我有代码,我正在尝试获取azurevaultsecret并将其 secret 保存在一个变量中。在运行代码时,我得到禁止的错误。请分享宝贵的解决方案。

   $ssAADKey = ConvertTo-SecureString $AADKey -AsPlainText -Force
$psCredential = New-Object System.Management.Automation.PSCredential($AADAppID, $ssAADKey)
Connect-AzureRmAccount -ServicePrincipal -Credential $psCredential -TenantId $TenantId
$myApp = Get-AzureADApplication -Filter "DisplayName eq '$($AppName)'"  -ErrorAction SilentlyContinue

$Secrets   = Get-AzureKeyVaultSecret -VaultName "TestVault1" -name "TestSecret1" -ErrorAction Stop
$password =$Secrets.SecretValueText

最佳答案

我在您的网站上测试了您的代码,效果很好。

根据您提供的描述和错误消息,我认为您可能不能完全理解Azure Key Vault的。您可以引用以下步骤进行故障排除。

1.在Azure AD中添加新的应用程序注册。然后我们可以从Azure门户获取tenantId,appId,secretKey,请引用此article

2.使用“Key Vault”将权限添加到已注册的应用程序。
azure - Get-AzureKeyVaultSecret:操作返回了无效的状态码 'Forbidden'-LMLPHP

3.在Key Vault通道中,您需要Add policies到您注册的应用程序或用户。在Access Control中,您需要对注册的应用程序或用户进行add permission
azure - Get-AzureKeyVaultSecret:操作返回了无效的状态码 'Forbidden'-LMLPHP
azure - Get-AzureKeyVaultSecret:操作返回了无效的状态码 'Forbidden'-LMLPHP

有关更多详细信息,您可以引用此SO thread

关于azure - Get-AzureKeyVaultSecret:操作返回了无效的状态码 'Forbidden',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51947349/

10-12 17:05