在不使用ARM模板的情况下将证书部署到服务矩阵集群

时间:2018-07-12 20:58:34

标签: azure azure-service-fabric azure-keyvault

我想将客户端证书部署到我已创建的群集中,我的服务将使用该客户端证书来向从属服务发出请求,并且已将该证书添加到我提供的KeyVault资源中。我如何才能将该证书部署到我的VM规模集-是否可以通过某种方法授权我的服务访问该Keyvault实例,然后该实例将自动部署到我的VM?

1 个答案:

答案 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配置访问策略。