我有一个奇怪的问题。我有1个ARM模板,用于部署2个环境。
我正在添加这样的证书:
{
"type": "Microsoft.Web/certificates",
"name": "[variables('certificateName')]",
"apiVersion": "2016-03-01",
"location": "[resourceGroup().location]",
"properties": {
"keyVaultId": "[parameters('almKeyVaultId')]",
"keyVaultSecretName": "[parameters('servicePrincipalCertSecretName')]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms/', variables('appServicePlanName'))]"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms/', variables('appServicePlanName'))]"
]
},
对于我的测试环境,这成功了。 当我部署我的QA环境时,我收到了错误:参数KeyVaultId& KeyVaultSecretName的值无效。
但是,Test和QA的参数值相同(almKeyVaultId& servicePrincipalCertSecretName)。
任何想法我做错了什么?
更新
删除完整的QA资源组后,我能够重新部署完全相同的ARM模板。 似乎应该在Key Vault秘密之后创建资源组?有什么想法吗?如果我们在生产中遇到这种情况,我们不想删除整个资源组
答案 0 :(得分:1)
我想我找到了这个问题的原因。 显然,在创建资源组时,您无法更改密钥名称。如果这样做,将抛出上述错误。
如果要更改密码名称,则需要删除资源组并重新部署所有内容。
答案 1 :(得分:0)
我可以确认删除资源组是可以的,但是我已将RBAC应用于资源组,并且供应商管理了我们的权限,因此重新创建资源组会引起其他问题。
我使用resources.azure.com从资源组(未在门户网站的资源组中显示)中删除证书,导航到资源组并将其从Microsoft.Web \ Certificates集合中删除。