Карточка Junior Безопасность контейнеров обновлено

Где хранить секреты контейнеров

Вопрос

Куда класть секреты для контейнеров, а куда нельзя?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Нельзя: в Dockerfile (ENV, ARG, COPY .env), в образ, в git. Можно: BuildKit --mount=type=secret при сборке; в рантайме файлы секретов (Docker/Compose secrets, Kubernetes Secret как файл), внешние хранилища (Vault, облачные менеджеры секретов), .env с правами 600 вне репозитория.

Ответ

Нельзя: в Dockerfile (ENV, ARG, COPY .env), в образ, в git. Можно: BuildKit --mount=type=secret при сборке; в рантайме файлы секретов (Docker/Compose secrets, Kubernetes Secret как файл), внешние хранилища (Vault, облачные менеджеры секретов), .env с правами 600 вне репозитория. Файлы лучше переменных: env видны в inspect и /proc.

Разбор

Нельзя: в Dockerfile (ENV, ARG, COPY .env), в образ, в git. Можно: BuildKit --mount=type=secret при сборке; в рантайме файлы секретов (Docker/Compose secrets, Kubernetes Secret как файл), внешние хранилища (Vault, облачные менеджеры секретов), .env с правами 600 вне репозитория. Файлы лучше переменных: env видны в inspect и /proc.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.