#docker #asp.net-web-api #dockerfile
#docker #asp.net-web-api #dockerfile
Вопрос:
Я сам создал веб-api, который использует базу данных sql. Я использовал Visual Studio для создания этого проекта, и у меня есть возможность щелкнуть правой кнопкой мыши и «управлять пользовательскими секретами» в моем файле проекта.
В пользовательских секретах я сохранил свою строку подключения, и я не хочу добавлять ее в свое (частное) репозиторий github. Пользовательский секрет представляет собой файл json.
Как я могу включить эти секреты? Должен ли я включать их в проект, делая их частью образа? Или мне сделать что-то необычное с запущенным экземпляром?
Комментарии:
1. Нет, вы не должны включать их в свое изображение, а только в работающий контейнер. Лучше всего, вероятно, ссылаться на эти секреты через переменные среды и устанавливать эти переменные среды при запуске этого контейнера.
2. В этом сообщении в блоге предлагается привязать секреты к контейнеру.
Ответ №1:
Для этого есть много способов, но обычно вы либо:
- Извлеките свои секреты из своей кодовой базы (GIT repo), введите их через переменные среды при запуске контейнера, а затем получите к ним доступ из кода вашего приложения, как и к любому другому варианту среды. Это не самый безопасный вариант, но, по крайней мере, ваши секреты больше не будут в вашем VCS.
- Извлеките секреты из какого-либо менеджера секретов (например, AWS Secrets Manager) прямо из кода вашего приложения. Это более безопасно, чем первый вариант, но требует больше изменений кода и создает зависимость между вашим приложением и вашим менеджером секретов.