Могу ли я сохранить имя пользователя и пароль в хранилище ключей Azure?
Мы создали веб-приложение, и оно хранит имя пользователя и пароль для аутентификации пользователя в базе данных прямо сейчас. Таким образом, эти учетные данные могут быть сохранены в keyvault для большей безопасности, а не хранения в базе данных. Или вы можете сказать мне правильное место для хранения этих данных для авторизации в очень безопасной форме? PS: нам не нравится авторизовать пользователя провайдерами Oauth
Заранее спасибо.
2 ответа
Насколько я знаю, мы могли бы сохранить имя пользователя и пароль для keyvault.
Вы можете сохранить имя пользователя в качестве ключа, пароль в качестве хранилища.
В веб-приложении вы можете использовать AD auth для подключения к лазурному ключу. Затем вы можете установить пакет Microsoft.Azure.KeyVault и использовать класс KeyVaultClient для CURD хранилища ключей.
Подробнее о том, как использовать его в C#, вы можете обратиться к этой статье.
Но я не предлагаю вам использовать хранилище ключей для хранения имени пользователя и пароля.
Azure keyvault используется для хранения хранилища, он предоставит URL для доступа к хранилищу. Так что ваше приложение не увидит хранилище клиентов.
Но в вашем веб-приложении веб-приложение все равно получит пароль из хранилища ключей и сравнит имя пользователя и пароль, введенные пользователем.
Итак, основная идея - обеспечить безопасность вашего веб-приложения. Потому что мы могли бы хранить закодированное имя пользователя и пароль в базе данных. Так что, если кто-то получит доступ к базе данных, он все равно не сможет получить нужную информацию.
На мой взгляд, я предлагаю вам по-прежнему использовать базу данных для хранения имени пользователя и пароля.
Вы можете закодировать пользователя и пароль перед сохранением в базу данных, как это делает идентификация. Если пользователь передаст аутентификацию, вы можете сгенерировать токен для доступа пользователя к вашему веб-приложению.
Кроме того, если вы используете веб-приложение Azure, оно обеспечивает множественную аутентификацию для защиты вашего веб-приложения. Я предлагаю вам также попробовать Azure AD. Более подробно вы можете обратиться к этой статье.
Взгляните на MSI (Идентификация машинных сервисов). AWS делает это в течение некоторого времени под другой аббревиатурой. Я только начал использовать его в Azure, и он работает очень хорошо и сохраняет все в безопасности, похоже, он должен быть готов для веб-приложений и сейчас.