IBCOURSES / СПРАВОЧНИК ИБ

Kubernetes: кто выдал доступ через RBAC binding

К ответу ↓

Изменение привязки RBAC связывает получателей (subjects) с Role или ClusterRole. Права оцениваются в области привязки и с учётом правил роли.

Например
Материалов с пояснениями: 94 · Записей реестров: 11 678

Уточнить поиск

События и журналы

Найдено: 84
Инструкция по проверке

Kubernetes: кто выдал доступ через RBAC binding

Изменение привязки RBAC связывает получателей (subjects) с Role или ClusterRole. Права оцениваются в области привязки и с учётом правил роли.

Условия и источник

Выберите кластер, namespace, объект привязки и период. Источник истории — audit API, текущее состояние RBAC — отдельный снимок. Для разбора получателей и роли нужно доступное тело операции; Metadata его не содержит. Версию API server и политику фиксируйте отдельно от rbac.authorization.k8s.io/v1. Обновление прав для воспроизведения примера здесь не выполняется.

Как отобрать запись

В копии аудита отберите rolebindings/clusterrolebindings и интересующие create/update/patch/delete. Сохраните auditID, identity, objectRef, стадию и результат. Затем получите разрешённый снимок текущих binding и роли читающими запросами, если он нужен для сравнения. Для patch учитывайте форму изменения: тело патча не обязано быть полным объектом с subjects и roleRef.

Разбор примера

create в примере с 201 иллюстрирует добавление binding readers в namespace demo. user.username — инициатор API, requestObject.subjects — получатели, roleRef — ссылка на роль. Это три разные роли данных. Пример содержит лишь часть объекта и не показывает сами rules роли. По имени read-pods нельзя автоматически заключить, какие действия реально разрешены; необходимо прочитать соответствующий объект роли.

Интерпретация и границы

RoleBinding ограничивает область действия своим namespace, а ClusterRoleBinding относится к кластерной области. При существующей привязке roleRef не меняется обычным update: история перехода к другой роли может содержать удаление и создание. Проверьте результат и все затронутые subjects. Текущее отсутствие binding не доказывает отсутствия прежнего доступа, а текущее присутствие не устанавливает автора без исторического события.

Следующая проверка

Свяжите роль с её правилами и последующими изменениями, затем проверьте ожидаемую роль получателя. Отделите назначение от фактического использования доступа: для чтения Secret или exec нужны соответствующие события. Если есть архив состояния, восстановите временную границу полномочий; при отсутствии архива обозначьте неопределённость. Вывод о нарушении должен опираться на согласованный контекст и операцию, а не название роли.

Если записи нет

Проверьте policy, уровень аудита, подресурс/ресурс, omitStages, backend и период. Если тело отсутствует, уточните, было ли оно вообще предусмотрено, и используйте доступные архивы состояния, не придумывая subjects. Сравните историю audit с SIEM. Текущее чтение RBAC не восстановит удалённую запись; зафиксируйте, какие версии и временные участки остаются неподтверждёнными.

Поля и область применения

Исходное полеСмысл и ограничения
user.usernameИнициатор API
objectRef.resourcerolebindings или clusterrolebindings
verbcreate/update/patch/delete
requestObject.subjectsПолучатели прав при наличии тела
requestObject.roleRefСсылка на роль при наличии тела
responseStatus.codeРезультат запроса

Примеры записей

Данные в примерах условные. Состав полей зависит от версии и настроек источника.

Фрагмент запроса binding audit

Фрагмент журнала. Сокращённый пример по документированной структуре. Остальные поля опущены.

{
  "verb": "create",
  "user": {
    "username": "demo.admin"
  },
  "objectRef": {
    "resource": "rolebindings",
    "namespace": "demo",
    "name": "readers"
  },
  "requestObject": {
    "subjects": [
      {
        "kind": "User",
        "name": "demo.reader",
        "apiGroup": "rbac.authorization.k8s.io"
      }
    ],
    "roleRef": {
      "kind": "Role",
      "name": "read-pods",
      "apiGroup": "rbac.authorization.k8s.io"
    }
  },
  "responseStatus": {
    "code": 201
  }
}

Команды и способы проверки

Укажите свой узел, путь к журналу и временной интервал. Требуемая среда указана рядом с командой.

kubectl, чтение текущего состояния

kubectl get rolebinding readers -n demo -o yaml
kubectl get role read-pods -n demo -o yaml

Первоисточники

Текущий YAML не устанавливает автора прежнего изменения; Metadata audit может не содержать subjects/roleRef.

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

  • Kubernetes: запрос на exec в контейнер

    Для использования доступа искать отдельный запросexec с subresource/namespace/субъектом; создание binding не доказывает исполнение команды.

Как пользоваться техническим справочником

Найдите порт, код ошибки, событие или источник журнала. Уточните протокол и систему, затем сверяйте значение, поля, примеры и первоисточники. Назначение порта не определяет фактическую службу, а одна запись не доказывает инцидент.

Материалы по разделам

События и журналы

Два ответа рядом

Сравнение источников

Сравнение показывает различия. События и поля разных систем не считаются эквивалентными.

Выберите службу

В списке — службы, доступные с текущими условиями. Число рядом — количество записей портов, а не программ на вашем узле.

Как искать в справочнике

Введите число, код, фрагмент сообщения или вопрос. Известный идентификатор поможет найти карточку; это не анализ самого инцидента.

  1. Введите номер, код, имя или фрагмент записи. Для портов можно использовать список: 80, 443, 8000–8010.
  2. Уточните поиск фильтрами. Все условия действуют одновременно. Числа в списках показывают, сколько материалов останется при выборе варианта.
  3. Службу выбирайте из каталога: поиск внутри списка помогает найти название, а кнопка «Выбрать» применяет его.
  4. Убирайте отдельные условия кнопкой × рядом с фильтром. «Сбросить фильтры» сохраняет текст поиска и текущий раздел.
  5. В карточке сверьте источник, версию и условия регистрации, затем откройте поля, примеры и первоисточник.

/ — перейти к поиску. Прямые ссылки открывают выбранную карточку в этом же справочнике.

Назначения портов и коды приведены по официальным реестрам. Версии, условия регистрации и ссылки на документацию указаны в карточках.

Избранное и недавние материалы хранятся в этом браузере. Запрос и фильтры сохраняются при возврате к выдаче и обновлении вкладки. Поиск работает локально.

Что есть в справочнике

От вопроса к свидетельствам: кто вошёл, что запустил, к каким данным обратился, что изменил и где искать следы.

Выберите область, чтобы посмотреть доступные источники и перейти к материалам.

Уточнить или исправить ответ

Скопируйте сообщение и отправьте его на mail@ibcourses.ru.