В чем разница между хранилищем строк подключения с помощью Azure KeyVault и шифрованием с помощью ASP.net IIS_Reg?

#asp.net #.net #azure #iis #azure-keyvault

Вопрос:

Недавно мы сохранили строки подключения к нашим проектам через хранилище ключей Azure и извлекли их с помощью конструктора конфигурации хранилища ключей Azure для наших локальных сборок. Это позволяет нам избавиться от нашей строки подключения в нашем репозитории управления версиями. Один из разработчиков сказал мне, что я должен изучить шифрование с помощью ASP.NET IIS_Reg, поскольку это «стандарт де-факто» для секретного шифрования web.config. Я действительно не могу найти ни одного документа, в котором сравнивались бы эти два метода. Возможно ли это/ Было бы излишним пытаться использовать и то, и другое? Можно ли их использовать в тандеме?

Ответ №1:

Если вы используете хранилище ключей Azure сегодня, я бы продолжил это делать, так как это более перспективный подход, чем шифрование в web.config. Особенно, если позже вы захотите перейти на .NET Core, вы все равно можете продолжать использовать AKV.

Шифрование данных в web.config-это просто боль для администрирования. С помощью AKV вы можете хранить свои секреты и лучше контролировать, кто к чему имеет доступ.

Комментарии:

1. Спасибо за ответ. Я чувствую давление, чтобы предоставить еще какие-то доказательства того, почему я решаю не заниматься этим. Есть ли какая-либо документация, на которую я могу указать, в которой говорится об этом?

2. Если вы используете SQL Server, то вы можете использовать идентификатор IIS для подключения к своим базам данных, и тогда вам не нужно шифровать строку подключения, потому что они не содержат никаких паролей. Кроме того, из этого у меня нет никакой хорошей ссылки, на которую можно было бы указать. Кроме того, вы можете хранить свои секреты вне папки web.config/IIS , например, во внешнем файле конфигурации или в реестре. Если хакер находится внутри вашей машины, то игра в любом случае окончена.

3. Другое дело, что когда вы шифруете данные в web.config (насколько я знаю), зашифрованные данные привязаны к машине, на которой они работают. Поэтому, если вам нужно перестроить свою машину или масштабировать ее, вам нужно заново зашифровать все данные в файле web.config.