В настоящее время я храню все свои секретные ключи доступа API / библиотеки в web.config, а доступ к ним осуществляется в коде с помощью:
private static string AWSaccessKey = System.Web.Configuration.WebConfigurationManager.AppSettings["AWSaccessKey"];
private static string AWSprivateKey = System.Web.Configuration.WebConfigurationManager.AppSettings["AWSprivateKey"];
Я думал, что это было рекомендовано, а не напрямую кодирование паролей и ключей доступа. Хотя я только что получил письмо от AWS, сообщающее, что мой ключ доступа AWS взломан. Затем я просмотрел репозиторий Git и обнаружил, что мой файл web.config полностью доступен для просмотра; Я думал, что этот файл не будет включен в мое Git репо.
Может кто-нибудь, пожалуйста, посоветуйте, как я могу безопасно исправить эту ситуацию? Должен ли я добавить web.config в файл Git ignore? Если я сделаю это, будет ли мое приложение по-прежнему иметь доступ к ключам доступа в web.config, когда оно развернуто из конвейера с использованием моего Git репо?