azure - 应用服务证书 - 如何更改密钥保管库?
问题描述
由于基础架构更改,需要将我的应用服务证书移动到不同的 Key Vault。有没有办法通过 Powershell 或 Portal 重新配置它?
解决方案
您可以通过在正文中使用新的 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}}"
}
}
之后,您可以检查事件日志和新证书
推荐阅读
- google-apps-script - 使用 Google Appscript - 如何使用位于 Gmail 中的草稿模板中的自定义正文发送自动电子邮件?
- c++ - 为什么 _GLIBCXX_DEBUG 必须在第一行设置?
- python - 如何从与我尝试导入的文件处于同一级别的目录中导入变量、函数等?
- nativescript - 可以进行本地云构建吗?
- python - 如何使用正则表达式从两个相似的 html 类元素中提取数据?
- python-3.x - 如何修复导入时出错的模块中的 SyntaxError?
- javascript - react-native 中的堆栈和选项卡导航器问题
- xaml - Xamarin Datatrigger 与填充/边距混淆
- c++ - 连接到 MySQL 时如何修复 xdev C++ api 中的“字符串太长”错误
- bash - 如何使用第一个位置参数编写 bash 脚本来创建目录?并在第二个位置参数上创建文件