KeyVault integration for Virtual Assistant #1866
Description
Is your feature request related to a problem? Please describe.
Virtual Assistant switched from .bot files to appSettings.json and cognitiveModels.json.
One of the benefits of this is that it becomes easier to store secrets in KeyVault.
Quote from the Enterprise Bot Template migration guide:
This also enables you to leverage standard approaches such as KeyVault
For appSettings.json that is easy to do, and the nesting of appSettings properties can be done by using --
as a separator. See https://docs.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?view=aspnetcore-2.2#use-managed-identities-for-azure-resources.
What is the solution you are looking for?
However, due to the setup in cognitiveModels.json (the LUIS and QnA models are an array of objects, instead of a dictionary) it seems that the secrets in cognitiveModels.json cannot easily be moved to KeyVault, I only want KeyVault to store e.g. the LUIS authoringKey
and subscriptionKey
, not all the appId
and version
. I do not want to store the whole array of models.
I'm looking for the way how the Virtual Assistant team envisioned getting the secrets relevant to cognitiveModels from KeyVault and combining it with the rest of the settings