1

У меня есть ряд тестов SQL-единиц, написанных в Visual Studio 2015. В настоящее время они подключаются к базе данных (база данных SQL Azure), используя статические строки подключения в файле app.config.Шифрование ConnectionString для SQL-модулей в Visual Studio 2015

Я хотел бы защитить эту информацию, используя, по возможности, Azure Key Vault.

Я видел такие статьи, как this one и this one, при шифровании файла web.config, но они, похоже, больше ориентированы на лазурные веб-приложения.

Может ли кто-нибудь предоставить некоторые рекомендации по реализации, более близкие к сценарию SQL Unit Testing или подтвердить, что вышеупомянутые подходы будут работать в моем случае?

Или существует другое решение, такое как переопределение ExecutionContext, которое используется TestService?

Спасибо.

+1

Вы нашли эту страницу: https://msdn.microsoft.com/en-us/library/53tyfkaw(v=vs.110).aspx –

ответ

0

Я не думаю, что хранить строки SQL-соединений для модульных тестов в хранилище ключей - это путь. Чтобы ваши модульные тесты извлекали эти строки подключения из хранилища ключей, it needs a token from Azure AD, чтобы поговорить с хранилищем ключей. Поэтому вам нужно зарегистрировать приложение в Azure AD, которое имеет разрешения на получение секретов из хранилища ключей.

Но ваше приложение для проверки подлинности Azure AD, как этого зарегистрированного приложения, он нуждается в идентификатор клиента и клиент секретный. Этот секрет клиента, очевидно, не может быть сохранен в хранилище ключей, поэтому вы вернетесь в квадрат с секретом, который вам нужно хранить за пределами хранилища ключей.

Если тесты вашего устройства всегда выполняются на одном компьютере, вы можете установить клиентский сертификат и использовать его для аутентификации с помощью Azure AD вместо секретности клиента. Но это сделает ваши модульные тесты не очень переносимыми.

Вы, вероятно, лучше, чтобы хранить строки подключения в частном конфигурационном файле, который вы исключаете из системы управления и reference от вашего app.config или web.config файл или читать их в переменных окружения.