Как предотвратить блокирование секретов в одном и том же пространстве имен? - PullRequest
0 голосов
/ 30 апреля 2020

Мое пространство имен содержит несколько секретов и модулей. Секреты выборочно монтируются на контейнерах в виде томов, используя спецификацию развертывания c. Можно ли отрицать указанные c секреты от монтирования в качестве томов в определенных модулях. Я проверил RBA C, и он не дает стручкам доступа к секретам через API. Существует ли аналогичный механизм для смонтированных секретов, учитывая, что существует риск безопасности, позволяющий монтировать все секреты в модулях в одном и том же пространстве имен.

Ответы [ 2 ]

3 голосов
/ 30 апреля 2020

Нет простого способа сделать это, потому что секрет установлен kubelet. Но у вас может быть проверенный веб-хук , настроенный на перехват всех запросов на создание модуля, поступающих на Kubernetes API Server. Вы будете писать код в веб-хуке, чтобы проверить и разрешить запрос на создание модуля, только если у модуля pod spe c нет недопустимых или нежелательных секретов, в противном случае он отклонит запрос на создание модуля.

Другой вариант будет чтобы запрос на создание модуля был подтвержден Open Policy Agent , где вы можете написать политику для реализации аналогичной проверки.

2 голосов
/ 30 апреля 2020

Другой ответ правильный, но в интересах полноты вы могли бы написать контроллер доступа, который проверяет запросы на соответствие какой-либо политике. Это то, что делает встроенный контроллер доступа NodeRestriction, чтобы помочь ограничить вещи, чтобы kubelet мог получать доступ только к секретам для модулей, которые он должен запускать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...