Выбор ответа Junior RBAC и Helm обновлено
Запрещающие правила RBAC
Вопрос
Как в RBAC запретить пользователю удалять поды, если у него есть роль edit?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Никак напрямую: RBAC только разрешающий; выдать роль без этого права. RBAC аддитивен: итоговые права это объединение всех разрешений, запрещающих правил нет.
Варианты ответа
- Добавить в роль правило с
verbs: ["!delete"]для ресурса pods - Никак напрямую: RBAC только разрешающий; выдать роль без этого праваправильный ответ
- Создать Role с
effect: Denyи привязать её поверхedit - Поставить на поды аннотацию
rbac.deny/delete, API её учитывает
Разбор
RBAC аддитивен: итоговые права это объединение всех разрешений, запрещающих правил нет. Если роль слишком широкая, её заменяют более узкой. Тонкие запреты можно реализовать admission-политиками (Kyverno, Gatekeeper, ValidatingAdmissionPolicy), но это уже не RBAC. Синтаксиса !delete и effect: Deny в RBAC нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.