Введите секрет в Docker изображение через Azure конвейер - PullRequest
3 голосов
/ 12 февраля 2020

У меня есть конвейер в Azure Создание Devops и передача некоторых изображений в DockerHub. Эти изображения передаются в среду производства и разработки, но также доступны для локальной разработки. Для секретов производства и разработки в Azure мы просто используем хранилище ключей и группы переменных. Однако мы не нашли хорошего решения для введения секретов при локальной работе.

Например, в настройках приложения. json у нас есть параметр ClientSecret, который используется для аутентификации на Azure AD. Как мы можем вставить этот параметр в appsettings. json во время конвейера выпуска, чтобы он не был виден кому-то еще позже?

Некоторые предложения включают использование преобразования файлов в конвейере, но это не оптимально, так как мы на самом деле не хочу менять какие-либо файлы. Еще одно предложение - использовать --build-arg в конвейере, но эти аргументы становятся видимыми с docker history.

Так как же я могу ввести секрет в appsettings. json в Docker изображении, и этот секрет желательно вообще нигде не видеть?

1 Ответ

1 голос
/ 13 февраля 2020

Как вы упомянули, с использованием Преобразования файлов a = nd замена переменной - это менее конфигурируемый и быстрый подход.

Кроме того, вы также можете выбрать Azure Key Vault .

Azure Key Vault помогает командам безопасно хранить и управлять конфиденциальной информацией, такой как ключи, пароль, сертификаты и т. Д. c. в централизованном хранилище, которое защищено стандартными алгоритмами, длинами ключей и даже аппаратными модулями безопасности. Это предотвращает раскрытие информации через исходный код, что является распространенной ошибкой многих разработчиков. Многие разработчики оставляют конфиденциальную информацию, такую ​​как строки подключения к базе данных, пароли, закрытые ключи и т. Д. c. в их исходном коде, который при получении злоумышленниками может привести к нежелательным последствиям.

Доступ к хранилищу ключей требует надлежащей аутентификации и авторизации, а с помощью RBA C команды могут иметь даже точный гранулярный контроль, у которого есть какие разрешения для конфиденциальных данных.

Что касается как использовать Azure Key Vault в Azure DevOps, см. ниже в блоге:

Как использовать docker секрет изображения с Azure Ключом Vault, вы можете взглянуть по этой ссылке: Публикация отдельного изображения Docker Контейнер с секретами от VS2017 и запуск его на Azure

Дополнительные способы для справки: 7 способов разобраться с секретами приложения в Azure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...