Немного тулзов, чтобы у твоего кубернетеса не было дыры в безопасности
- rbac-manager - оператор для удобной работы с RBAC. Позволяет биндить роли по лейблам на ресурсах, создавать биндинги в разных неймспейсах из одного манифеста и по-другому упрощает жизнь кластер админа
- rbac-lookup - CLI утилита для просмотра прав юзеров. Одной строкой выводит все биндинги
- audit2rbac - читает аудит логи к8с и генерирует RBAC исходя из того, что нужно юзерам
#k8s #security #rbac
- rbac-manager - оператор для удобной работы с RBAC. Позволяет биндить роли по лейблам на ресурсах, создавать биндинги в разных неймспейсах из одного манифеста и по-другому упрощает жизнь кластер админа
- rbac-lookup - CLI утилита для просмотра прав юзеров. Одной строкой выводит все биндинги
- audit2rbac - читает аудит логи к8с и генерирует RBAC исходя из того, что нужно юзерам
#k8s #security #rbac
GitHub
GitHub - FairwindsOps/rbac-manager: A Kubernetes operator that simplifies the management of Role Bindings and Service Accounts.
A Kubernetes operator that simplifies the management of Role Bindings and Service Accounts. - FairwindsOps/rbac-manager
RBAC в kubernetes очень гибкий, но есть некоторые неудобства. Например:
- в одном RoleBinding нельзя назначить пользователю несколько ролей. Да, так и должен работать RoleBinding, но в системах со сложной матрицей доступа придется создавать сотни манифестов
- невозможно забиндить роль к пачке неймспейсов по маске имени или другим параметрам
- невозможно (или сложно) отследить появление нового неймпспейса и сразу выписать ему нужные доступы
С этим сильно помогает rbac-manager. Он позволяет описать все (Cluster)RoleBinding в одном манифесте, что сильно уменьшает количество строк кода. Позволяет биндить роли к неймспейсам на основании лейблов. Мы в компании пользуемся им уже несколько месяцев и очень довольны.
Я даже сделал чарт для деплоя ролей, кластерролей и манифестов для rbac-manager из единого места. Пользуйтесь на здоровье!
#k8s #rbac
- в одном RoleBinding нельзя назначить пользователю несколько ролей. Да, так и должен работать RoleBinding, но в системах со сложной матрицей доступа придется создавать сотни манифестов
- невозможно забиндить роль к пачке неймспейсов по маске имени или другим параметрам
- невозможно (или сложно) отследить появление нового неймпспейса и сразу выписать ему нужные доступы
С этим сильно помогает rbac-manager. Он позволяет описать все (Cluster)RoleBinding в одном манифесте, что сильно уменьшает количество строк кода. Позволяет биндить роли к неймспейсам на основании лейблов. Мы в компании пользуемся им уже несколько месяцев и очень довольны.
Я даже сделал чарт для деплоя ролей, кластерролей и манифестов для rbac-manager из единого места. Пользуйтесь на здоровье!
#k8s #rbac
GitHub
GitHub - bubnovd/rbac-definition-helm: Deploy RBACDefinition for rbac-manager, Roles and ClusterRoles by Helm
Deploy RBACDefinition for rbac-manager, Roles and ClusterRoles by Helm - bubnovd/rbac-definition-helm