Для генерации отчетов о соблюдении Kyverno-политик у контроллера отчетов Container Security должны быть права на получение списка объектов проверки. Kubernetes-роль view по умолчанию разрешает доступ к просмотру списка большинства объектов. Но просмотр списка чувствительных объектов, таких как ClusterRole или Secret, не разрешен ролью view.
При создании Kyverno-политики, которая проверяет не включенные в роль view объекты, необходимо в кластер добавить отдельную роль с правами на просмотр списка таких объектов. Иначе проверка выполнится, но отчет сформирован не будет.
Пример роли с правами для контроллера отчетов на просмотр списка ClusterRole:
apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:name: kyverno:list-clusterroleslabels:rbac.kyverno.io/aggregate-to-reports-controller: 'true'rules:- apiGroups:- rbac.authorization.k8s.ioresources:- clusterrolesverbs:- get- list- watch
Где:
rbac.kyverno.io/aggregate-to-reports-controller: 'true' — метка для механизма aggregated clusterroles, который автоматически добавит роль в общую роль для контроллера отчетов.
resources — перечень объектов, на просмотр списка которых предоставляется разрешение.
verbs — набор разрешенных действий над указанными объектами. get, list и watch — обязательные действия для контроллера отчетов.