Выбор ответа Senior ConfigMap и Secret обновлено
Право создавать поды и секреты
Вопрос
Разработчику запретили get secrets в namespace prod, но разрешили создавать поды. Может ли он прочитать секрет базы?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Да: создать под, который смонтирует секрет как том или переменную, и вывести значение. Под получает доступ к любому Secret своего namespace по ссылке, и проверка прав на сам Secret при этом не выполняется для пользователя, создавшего под.
Варианты ответа
- Нет: RBAC запрещает ему
get secrets, и под не сможет смонтировать секрет от его имени - Только если секрет помечен
immutable, иначе kubelet проверит права создателя пода - Нет: значения секретов видит только kubelet, в под они попадают в зашифрованном виде
- Да: создать под, который смонтирует секрет как том или переменную, и вывести значениеправильный ответ
Разбор
Под получает доступ к любому Secret своего namespace по ссылке, и проверка прав на сам Secret при этом не выполняется для пользователя, создавшего под. Поэтому право создавать поды (или Deployment, Job) в namespace фактически даёт доступ к его секретам. Защита: разносить секреты по namespace, ограничивать права на создание рабочих нагрузок, использовать внешние хранилища с собственной авторизацией.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.