Ron*_*erg 1 rest azure azure-app-service-plans azure-keyvault azure-web-app-service
我正在尝试通过 REST API(在 PowerShell 中)将私有自签名证书添加到 Azure 应用服务(如底部的屏幕截图所示)。我调用API的方式如下:
$certBody = @{
name = "InfoServiceTAKeyVaultDev"
location = "West Europe"
properties = @{
keyVaultId = "/subscriptions/<subscriptionId>/resourceGroups/BzInfoServiceTADEV/providers/Microsoft.KeyVault/vaults/BzKVInfoServiceTADev"
keyVaultSecretName = "InfoServiceTAKeyVaultCert"
}
}
Invoke-RestMethod `
-Method Put `
-Uri ("https://management.azure.com/subscriptions/<subscriptionId>" +
"/resourceGroups/BzInformatieServiceResourceGroupDEV" +
"/providers/Microsoft.Web/certificates" +
"/InfoServiceTAKeyVaultDev" +
"?api-version=2016-03-01") `
-Headers @{ Authorization = ("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSU...")
"Content-Type" = "application/json" } `
-Body ($certBody | ConvertTo-Json -Compress -Depth 3)
Run Code Online (Sandbox Code Playgroud)
结果是一条错误消息:The service does not have access to
'/subscriptions/<subscriptionId>/resourcegroups/bzinfoservicetadev/providers/microsoft.keyvault/vaults/bzkvinfoservicetadev' Key Vault. Please make sure that you
have granted necessary permissions to the service to perform the request operation.
在这种情况下,谁是无权访问此 Key Vault 的“服务”?我已经发现一些 帖子声称我应该将服务主体添加abfa0a7c-a6b6-4736-8310-5855508787cd到我的 Key Vault 访问策略中,但这没有任何效果。
所需最终结果的屏幕截图:
更新:我已经启用了高级访问策略“启用对 Azure 资源管理器的访问以进行模板部署”。这也不起作用。
@tim-scriv 的评论被证明非常有帮助。我必须将以下主体添加到 Key Vault 访问策略中:(Microsoft Azure App Service对象 ID 3ed082e0-d6c4-4071-ac9e-61363535a0a3:)。获得秘密的许可就足够了。
| 归档时间: |
|
| 查看次数: |
3322 次 |
| 最近记录: |