我有代码,我正在尝试获取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”将权限添加到已注册的应用程序。
3.在Key Vault通道中,您需要Add policies
到您注册的应用程序或用户。在Access Control
中,您需要对注册的应用程序或用户进行add permission
。
有关更多详细信息,您可以引用此SO thread。
关于azure - Get-AzureKeyVaultSecret:操作返回了无效的状态码 'Forbidden',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51947349/