通过使用ARM API,我可以获取存储在azure keyvault中的秘密的秘密uri
https://management.azure.com/subscriptions/{mySubID}/resourceGroups/{myResourcegroup}/providers/Microsoft.KeyVault/vaults/{myvaultName}/secrets/{mycert}?api-version=2015-06-01
但我想要一个秘密值来形成PFX证书以便上传到服务。
我怎样才能做到这一点?
请帮忙!!提前谢谢....
答案 0 :(得分:1)
我想要一个秘密值来形成PFX证书,以便上传到服务。
我们可以使用以下API执行此操作。
Get https://{Secret Identifier}?api-version=2016-10-01
更多详情请参阅this。关于身份验证,请参阅this document。
注意:对密钥保管库的请求权限始终如下,
https://vault.azure.net/
我们可以从您提到的API中获取秘密标识符。我们也可以从Azure门户网站获取它。
我在我身边测试它在我身边正常工作。更多详情请参阅截图
答案 1 :(得分:1)
这对我有用
GET https://{vaultBaseUrl}/secrets/{secret-name}/{secret-version}?api-version={api-version}
参考:https://docs.microsoft.com/en-us/rest/api/keyvault/getsecret
注意:强>
我在开始时没有成功,后来发现我正在使用从中获得的令牌
https://management.core.windows.net
显然它失败了,如InvalidAuthenticationTokenAudience :The access token has been obtained from wrong audience or resource
所以请记住你必须从中获取令牌
https://vault.azure.net
强>
答案 2 :(得分:0)
FWIW我使用类似于下面的PowerShell脚本来获取KeyVault机密值。大Q和大A(不是我的,那些)。如果不清楚,AZ命令是Azure CLI的一部分。
$keyvaultToken = (az account get-access-token --resource https://vault.azure.net) | ConvertFrom-Json
$headers = @{"Authorization" = "$($keyvaultToken.tokenType) $($keyvaultToken.accessToken)"}
$resp = iwr -uri https://vaultname.vault.azure.net/secrets/secretName/secretVersion?api-version=2016-10-01 -Headers $headers
$json = $resp.Content | ConvertFrom-Json
$json.value