Выбор ответа Middle Безопасность контейнеров обновлено
Секрет в ENV образа
Вопрос
Разработчик положил ключ API в Dockerfile как ENV PAYMENT_KEY=..., а потом удалил строку в следующей версии. Ключ в безопасности?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Нет: старые версии образа и их история содержат ключ; его нужно отозвать. ENV записывается в конфигурацию образа и виден в docker inspect и истории.
Варианты ответа
- Да: новая версия образа его не содержит, а старые слои Docker перезаписывает при сборке
- Да, если образ лежит в приватном реестре: история слоёв видна только владельцу реестра
- Нет: старые версии образа и их история содержат ключ; его нужно отозватьправильный ответ
- Нет, но достаточно удалить из реестра последний тег, тогда старые слои станут недоступны
Разбор
ENV записывается в конфигурацию образа и виден в docker inspect и истории. Все собранные ранее версии с ключом лежат в реестре, кешах CI и на серверах. Утёкший секрет считается скомпрометированным: его отзывают и заменяют, а не прячут. Приватность реестра не защищает от тех, у кого есть доступ к pull.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.