我想将客户端证书部署到我已创建的群集中,我的服务将使用该客户端证书来向从属服务发出请求,并且已将该证书添加到我提供的KeyVault资源中。我如何才能将该证书部署到我的VM规模集-是否可以通过某种方法授权我的服务访问该Keyvault实例,然后该实例将自动部署到我的VM?
答案 0 :(得分:0)
如果需要将证书存储在证书存储区中,则可以使用certificate references将VM缩放集(重新)部署到Key Vault。
"secrets": [
{
"sourceVault": {
"id": "/subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1"
},
"vaultCertificates": [
{
"certificateUrl": "https://mykeyvault1.vault.azure.net/secrets/{secretname}/{secret-version}",
"certificateStore": "certificateStoreName"
}
]
}
]
确保将密钥保管库配置为allow deployments to access secrets。
您还可以使用MSI或您自己的Service Principal通过代码访问Key Vault。我宁愿使用客户端证书(部署到VM)进行身份验证。
如果选择MSI,则每个VM都有自己的(托管)服务主体,所有这些主体都需要配置为允许access to Key Vault data。您需要自己执行此操作。
如果您选择将Service Principal与ClientId和ClientSecret一起使用,请确保将protected configuration中的Service Principal Client Secret保留下来。 (这也需要证书)请确保也为此SPN配置访问策略。