Обработка секретов внутри docker контейнера без использования docker роя - PullRequest
0 голосов
/ 25 января 2020

Один вопрос, как вы обращаетесь с секретами внутри Dockerfile, не используя docker Swarm. Допустим, у вас есть частное репо на npm и вы восстанавливаете его, используя .npmr c внутри dockerfile, предоставляя учетные данные. После восстановления пакета, очевидно, я удаляю файл .npmr c из контейнера. Точно так же это касается NuGet.config, а также для восстановления частных репозиториев внутри контейнера. В настоящее время я предоставляю эти учетные данные как --build-arg при сборке файла docker.

Но команда типа docker history --no-trun c покажет пароль в журнал. Есть ли достойный способ справиться с этим. В настоящее время я не на kubernetes. Следовательно, необходимо обрабатывать то же самое в docker.

Один из способов, который я могу придумать, - это смонтировать / run / secrets / и сохранить его внутри, используя текстовый файл с паролем или файл .env. Но затем этот файл .env должен быть частью конвейера, чтобы завершить процесс CI / CD, что означает, что он должен быть частью системы контроля версий. Есть ли способ избежать этого, или что-то можно сделать с помощью самого конвейера, или здесь можно применить любой тип логики шифрования / дешифрования c?

Спасибо.

Спасибо.

1 Ответ

1 голос
/ 25 января 2020

Во-первых, имейте в виду, что файлы, удаленные в одном слое, все еще существуют в предыдущих слоях. Таким образом, удаление файлов также не поможет.

Существует три безопасных способа:

  1. Заранее загрузите весь код вне сборки Docker, где вы иметь доступ к секрету, а затем просто КОПИРОВАТЬ в загруженном материале.

  2. Используйте BuildKit, экспериментальную функцию Docker, которая позволяет секретам защищаться безопасным способом ( https://docs.docker.com/develop/develop-images/build_enhancements/#new - docker -build-secret-information ).

  3. Служить секретам с сетевого сервера, работающего локально (например, в другом контейнере). Смотрите здесь для подробного объяснения, как это сделать: https://pythonspeed.com/articles/docker-build-secrets/

...