首页 > 解决方案 > 应用服务证书 - 如何更改密钥保管库?

问题描述

由于基础架构更改,需要将我的应用服务证书移动到不同的 Key Vault。有没有办法通过 Powershell 或 Portal 重新配置它?

标签: azureazure-web-app-serviceazure-keyvault

解决方案


您可以通过在正文中使用新的 keyVaultId 和 keyVaultSecretName 对在证书上发出 PUT 请求来移动应用服务证书。

当您这样做时,证书将被添加到新的 KeyVault 中,但您必须手动将其从旧的 KeyVault 中删除。

查看此链接以检查如何执行请求: https ://docs.microsoft.com/en-us/rest/api/appservice/appservicecertificateorders/createorupdatecertificate

[编辑] 感谢 MS 的支持,我成功了:

首先,您需要向证书服务授予对新 KeyVault 的访问权限:您可以访问您的 keyvault,然后转到Access policies. 在那里你必须点击 hiden +Add Access Policy

当它显示 Select Principal 时,查找此 ID f3c21649-0979-4721-ac85-b0216b2cf413:。最后它应该是这样的: 在此处输入图像描述

然后找到新 keyvault 的 ResourceID。为此,您可以简单地执行以下操作: 在此处输入图像描述 在此处输入图像描述

现在您需要发出 PUT 请求。如果您不熟悉它,请打开此链接并单击Try It。登录后,选择您的订阅。该网站将为您处理身份验证,但您也可以使用任何编程语言进行身份验证。

在此处输入图像描述

在那里你必须使用“证书名称”。这是 Azure 门户中资源的名称。然后你需要使用这个payload:

{
    "location": "global",
    "properties": {
        "keyVaultCsmId": "{{the KeyVaultId we extracted previously}}",
        "keyVaultSecretName": "{{new SecretName -> this can be anything you want}}"
    }
}
 

在此处输入图像描述

之后,您可以检查事件日志和新证书

在此处输入图像描述


推荐阅读