从密钥库向azure VM添加证书
我正在使用此链接上的步骤将应用程序服务证书配置到Azure虚拟机- 我已经完成了步骤1到步骤6。我在尝试从密钥库向VM添加证书时遇到了问题。我使用了链接中的步骤: 我在azure portal上的云shell上使用了以下脚本从密钥库向azure VM添加证书,azure,azure-keyvault,Azure,Azure Keyvault,我正在使用此链接上的步骤将应用程序服务证书配置到Azure虚拟机- 我已经完成了步骤1到步骤6。我在尝试从密钥库向VM添加证书时遇到了问题。我使用了链接中的步骤: 我在azure portal上的云shell上使用了以下脚本 $certUrl = (Get-AzureKeyVaultSecret -VaultName "xxxKeyVault" -Name "xxxcert").Id; $vm=Get-AzureRmVM -ResourceGroupName "xxx_Group" -Name
$certUrl = (Get-AzureKeyVaultSecret -VaultName "xxxKeyVault" -Name "xxxcert").Id;
$vm=Get-AzureRmVM -ResourceGroupName "xxx_Group" -Name "XXX"
$vaultId=(Get-AzureRmKeyVault -VaultName "xxxKeyVault").ResourceId
$certStore = "MyCert";
$vm = Add-AzureRmVMSecret -VM $vm -SourceVaultId $vaultId -CertificateStore $certStore -CertificateUrl $certURL
Update-AzureRmVM -ResourceGroupName "xxx_Group" -VM $vm>
但是进入最后一个脚本,我得到了错误
更新AzureRmVM:List Vault证书包含重复的(,mycert)实例,这是不允许的。
错误代码:InvalidParameter
ErrorMessage:List Vault证书包含重复的(,mycert)实例,这是不允许的。
ErrorTarget:Vault证书
状态代码:400
错误的要求
操作ID:51078b39-72a0-4a6f-be02-E0FFF12DF8B
第1行字符:1
+更新AzureRmVM-ResourceGroupName“xxxx_组”-VM$VM
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:CloseError:(:)[Update AzVM],ComputeCloudException
+FullyQualifiedErrorId:Microsoft.Azure.Commands.Compute.UpdateAzureVMCommand
我错过什么了吗?
我的虚拟机有一个窗口
更新
我已经验证了我在Vm上有多个相同的证书。请问,我到底要删除哪一个
"secrets": [
{
"sourceVault": {
"id": "/subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.KeyVault/vaults/xxxKeyVault"
},
"vaultCertificates": [
{
"certificateUrl": "https://xxxkeyvault.vault.azure.net/secrets/xxxx/xxxx",
"certificateStore": "My"
},
{
"certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxx/xxxxx",
"certificateStore": "My"
},
{
"certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxx/xxxxxxx",
"certificateStore": "My"
},
{
"certificateUrl": "https://xxxxkeyvault.vault.azure.net/secrets/xxxxxxx/xxxxxxxx",
"certificateStore": "MyCert"
}
]
},
{
"sourceVault": {},
"vaultCertificates": {}
}
],
当您向Azure VM添加证书时,您应该首先确定VM的操作系统类型。根据您遵循的文档中的描述: 这些SSL证书可以存储在Azure密钥库中,并允许 将证书安全部署到Windows虚拟机(VM) 在蔚蓝中 这似乎只是工作的Windows虚拟机和我也做了测试。因此,如果您想向LinuxVM添加证书,可以查看 此外,错误还显示: 更新AzureRmVM:列表证书包含重复实例 的, 这是不允许的 我建议您最好检查一下VM是否已经拥有相同的证书。在我这方面,如果您两次添加同一证书,第二次会出现如下错误:
希望这对您有所帮助。您需要做的是:
Azure的问题是——它不知道(或关心)你的虚拟机是否真的有你要安装的证书,它抱怨的是虚拟机定义已经有了该证书,所以它无法添加它。很抱歉,我忘了添加它是widows虚拟机。也许我会检查虚拟机是否已经有了证书。谢谢你的帮助。我刚刚检查了虚拟机上是否已经存在证书,但它不在那里。这是真的吗?我做了测试,两次添加相同的证书时出现了相同的错误。查看答案,我已经更新了。您可以使用获取虚拟机信息并进行检查。您可以在osProfile中看到它。我现在可以看到证书了。我有超过4个。谢谢。今天晚些时候我将再次运行脚本。我已经看到了其中的4个以上。我是将它们全部移除还是只保留其中一个。其次,如果是全部,我是否将其从“机密”节点中删除?谢谢你的帮助。什么是秘密节点?你可以删除你试图再次添加的节点,或者删除所有节点,这并不重要,它不会从虚拟机中删除它们。我是新来的,没有足够的声誉投票支持你。谢谢。你真的帮了大忙。这可能意味着你需要接受这个答案,而不是另一个;)