RoleBinding

Простыми словами

Роль отвечает на вопрос «что разрешено», привязка — «кому и где». Без привязки список прав остаётся описанием, а не выданным доступом.

Как применяется

RoleBinding используют для доступа команды к проекту или приложения к ресурсам API. При проверке учитывают subjects, ссылку roleRef и namespace самой привязки. Субъект может иметь несколько bindings, поэтому ограниченная новая привязка не отбирает ранее выданные широкие права.

Пример применения

Сервисная учётная запись отчётного процесса находится в namespace reports, а читать задания ей нужно в namespace processing. RoleBinding создают в processing, ссылаясь на нужную роль и явно указывая namespace service account. Затем проверяют доступ от имени этой записи, а не администратора.

Не путать с

  • RoleХранит правила разрешений; RoleBinding указывает их получателя.
  • ClusterRoleBindingВыдаёт разрешения ClusterRole на уровне кластера, а не только одного namespace.
  • Service accountСубъект доступа, который может быть указан в binding; не сама привязка.

Как это работает

  1. Выбрать рольПроверяют её ресурсы и действия, включая отсутствие лишних широких разрешений.
  2. Указать получателейЗадают пользователей, группы или service accounts с точными именами.
  3. Создать привязкуРазмещают RoleBinding в namespace, к ресурсам которого нужен доступ.
  4. Проверить полномочияВыполняют контрольные запросы и исследуют остальные bindings субъекта.

Продолжить изучение

Связанные термины

Частые вопросы

Ссылка на ClusterRole открывает весь кластер?

Нет: RoleBinding ограничивает выдачу разрешений своим namespace. Для кластерной выдачи служит ClusterRoleBinding.

Можно привязать service account из другой среды?

Да, с явным указанием её namespace; права выдаются на ресурсы namespace привязки.

Можно просто заменить roleRef?

Поле roleRef неизменяемо. При смене роли привязку пересоздают с контролем изменения доступа.

RoleBinding — объект Kubernetes RBAC, который связывает Role либо ClusterRole с пользователями, группами или сервисными учётными записями. Он выдаёт разрешения в namespace, где создан, даже если ссылается на ClusterRole.