Выбор ответа Senior Секреты и Vault обновлено
Шифрование Secret в etcd
Вопрос
Как защитить Kubernetes Secret на уровне хранения?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Включить шифрование at rest через EncryptionConfiguration, лучше с KMS. По умолчанию API server пишет Secret в etcd без шифрования, и любой с доступом к диску или бэкапу etcd читает значения.
Варианты ответа
- Хранить значения в base64 дважды, чтобы их не прочитали сходу
- Включить шифрование at rest через EncryptionConfiguration, лучше с KMSправильный ответ
- Включить TLS между kubectl и API server для всех запросов к secrets
- Хранить секреты в ConfigMap с ограниченным RBAC
Разбор
По умолчанию API server пишет Secret в etcd без шифрования, и любой с доступом к диску или бэкапу etcd читает значения. EncryptionConfiguration шифрует данные при записи, а с KMS ключ шифрования ключей хранится вне кластера. Двойной base64 ничего не даёт, TLS защищает трафик, а не хранилище, ConfigMap ещё хуже. В managed Kubernetes шифрование часто включается опцией кластера.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.