Облачная платформаEvolution

Настройка разрешений для генерации отчетов контроля допуска


Для генерации отчетов о соблюдении Kyverno-политик у контроллера отчетов Container Security должны быть права на получение списка объектов проверки. Kubernetes-роль view по умолчанию разрешает доступ к просмотру списка большинства объектов. Но просмотр списка чувствительных объектов, таких как ClusterRole или Secret, не разрешен ролью view.

При создании Kyverno-политики, которая проверяет не включенные в роль view объекты, необходимо в кластер добавить отдельную роль с правами на просмотр списка таких объектов. Иначе проверка выполнится, но отчет сформирован не будет.

Пример роли с правами для контроллера отчетов на просмотр списка ClusterRole:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: kyverno:list-clusterroles
labels:
rbac.kyverno.io/aggregate-to-reports-controller: 'true'
rules:
- apiGroups:
- rbac.authorization.k8s.io
resources:
- clusterroles
verbs:
- get
- list
- watch

Где:

  • rbac.kyverno.io/aggregate-to-reports-controller: 'true' — метка для механизма aggregated clusterroles, который автоматически добавит роль в общую роль для контроллера отчетов.

  • resources — перечень объектов, на просмотр списка которых предоставляется разрешение.

  • verbs — набор разрешенных действий над указанными объектами. get, list и watch — обязательные действия для контроллера отчетов.