Стадия жизненного цикла модуля: General Availability
Что такое Audit Policy
Audit Policy — это YAML-файл, который определяет, какие события должен записывать API-сервер.
Когда происходит запрос, Kubernetes проверяет его на соответствие правилам в файле.
Первое сработавшее правило определяет уровень логирования.
Структура политики
Документация Kubernetes Структура полей ресурса Policy
Политика аудита в Kubernetes задается в файле формата YAML и состоит из набора правил, определяющих какие события и с каким уровнем детализации будут зафиксированы в журнале. Файл имеет следующую структуру:
apiVersion: audit.k8s.io/v1 # Версия API, используемая для политики аудита
kind: Policy # Тип ресурса — всегда Policy
rules: # Набор правил для аудита
- level: # Уровень детализации логов. Обязательное поле
users: # Список пользователей, чьи действия логируются
userGroups: # Группы пользователей (например, system:serviceaccounts)
verbs: # Действия/операции, которые логируются (create, update, delete и т.д.)
resources: # Ресурсы Kubernetes, для которых применяется правило
namespaces: # Неймспейсы, которые охватывает правило
Массив rules описывает правила аудита.
Каждое правило содержит следующие поля:
level— уровень детализации логируемого события. Возможные значения (от наиболее детализированного к наименее):None— не логировать вообще,Metadata— только метаданные запроса (кто, когда, что, откуда; без содержимого объекта),Request— также сохраняет тело запроса (только для запросов на изменение),RequestResponse— сохраняет и тело запроса и содержимое ответа.
-
users— перечень имен пользователей, на которых действует правило (например,["admin"]). Если это сервисные аккаунты, то имя обычно выглядит какsystem:serviceaccount:<namespace>:<serviceaccount-name>. Для обычных пользователей имя зависит от настроек системы аутентификации. Для объектовdeckhouse.io/v1Usersв качестве имени используетсяemail. -
userGroups— группы пользователей (например,["system:authenticated"]). После аутентификации kube-apiserver присваивает каждому пользователю список групп (например, все аутентифицированные пользователи — частьsystem:authenticated, сервисные аккаунты — в дополнительных группах). Если запрос пришёл от пользователя, который состоит хотя бы в одной из групп, указанных вuserGroups, то правило применяется к этому запросу.Встроенные группы Kubernetes:
system:authenticated— все, кто прошёл аутентификацию.system:unauthenticated— запросы от анонимных пользователей.system:serviceaccounts— все сервисные аккаунты всех namespaces.system:serviceaccounts:<namespace>— сервисные аккаунты в конкретном namespace.
-
verbs— список операций API (get,list,create,deleteи т.д.). resources— массив целевых ресурсов:group— API-группа (например,"apps","batch",""для core),resources— виды ресурсов (например,["pods", "deployments"]). Полный перечень ресурсов и их групп может быть получен с помощью командыkubectl api-resources.
-
namespaces— массив неймспейсов, в которых применяется правило. nonResourceURLs—— набор URL-путей, подлежащих аудиту. Символ*разрешен, но только в качестве полного, последнего шага пути. Примеры:/metrics— регистрировать запросы к метрикам apiserver,/healthz*— регистрировать все health-запросы.
Встроенные правила аудита
В Deckhouse Kubernetes Platform (DKP) по умолчанию разворачивается базовая политика аудита, которая может быть дополнена пользовательскими правилами.
В этой политике реализованы следующие правила:
- Не логировать частые обновления
Endpoints,EndpointSlicesиEvents. - Не логировать операции выбора лидера на ресурсах
Lease. - Не логировать ConfigMap cert-manager, используемые для выбора лидера.
- Не логировать ресурсы VerticalPodAutoscalerCheckpoints.
- Не логировать PATCH-операции
VerticalPodAutoscalerот recommender. - Не логировать ресурсы UpmeterHookProbes.
- Не логировать любые операции в неймспейсе
d8-upmeter. - Не логировать обновления ConfigMap ingress-nginx для выборов лидера.
- Не логировать операции create/delete
AuthRequestот health-check dex. - Логировать операции create/delete для ресурсов Node с телом запроса/ответа.
- Логировать запросы kubectl logs (pods/log) на уровне Metadata.
- Логировать операции create/update/patch/delete от системных ServiceAccount (
kube-system,d8-*). - Логировать операции create/update/patch/delete для ресурсов Pod.
- Логировать операции create/update/patch/delete в системных неймспейсах (
kube-system,d8-*). - Логировать все LIST-запросы во всех неймспейсах.
- Логировать операции create/delete для ресурсов ServiceAccount.
- Логировать операции create/update/delete/patch для ресурсов Role и ClusterRole.
- Логировать операции create/update/delete для ресурсов ClusterRoleBinding.
- Логировать операции с pod subresource для attach и ephemeral-контейнеров.
- Логировать создание ресурсов VirtualMachineOperation с телом запроса/ответа.
- Логировать операции create/update/patch/delete для ресурсов virtualization.deckhouse.io.
- Логировать операции update/patch для внутренних virtualization subresources.
- Логировать GET-операции для API-группы subresources.virtualization.deckhouse.io.
- Логировать операции create/update/patch/delete для ресурсов
Pod. - Логировать операции create/update/patch/delete в неймспейсе
d8-virtualization. - Логировать операции create/update/patch/delete для ресурсов ModuleConfig.
- Не логировать запросы аутентифицированных пользователей.
- Логировать все оставшиеся (неаутентифицированные) запросы на уровне Metadata.
Манифесты правил
1. Не логировать частые обновления Endpoints, EndpointSlices и Events.
level: None
resources:
- resources:
- endpoints
- endpointslices
- events
2. Не логировать операции выбора лидера на ресурсах Lease.
level: None
resources:
- group: coordination.k8s.io
resources:
- leases
3. Не логировать ConfigMap cert-manager, используемые для выбора лидера.
level: None
resources:
- resources:
- configmaps
resourceNames:
- cert-manager-cainjector-leader-election
- cert-manager-controller
4. Не логировать ресурсы VerticalPodAutoscalerCheckpoints.
level: None
resources:
- group: autoscaling.k8s.io
resources:
- verticalpodautoscalercheckpoints
5. Не логировать PATCH-операции VerticalPodAutoscaler от recommender.
level: None
users:
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-recommender
verbs:
- patch
resources:
- group: autoscaling.k8s.io
resources:
- verticalpodautoscalers
6. Не логировать ресурсы UpmeterHookProbes.
level: None
resources:
- group: deckhouse.io
resources:
- upmeterhookprobes
7. Не логировать любые операции в неймспейсе d8-upmeter.
level: None
namespaces:
- d8-upmeter
8. Не логировать обновления ConfigMap ingress-nginx для выборов лидера.
level: None
users:
- system:serviceaccount:d8-ingress-nginx:ingress-nginx
verbs:
- update
resources:
- resources:
- configmaps
namespaces:
- d8-ingress-nginx
9. Не логировать операции create/delete AuthRequest от health-check dex.
level: None
users:
- system:serviceaccount:d8-user-authn:dex
verbs:
- create
- delete
resources:
- group: dex.coreos.com
resources:
- authrequests
namespaces:
- d8-user-authn
10. Логировать операции create/delete для ресурсов Node с телом запроса/ответа.
level: RequestResponse
verbs:
- create
- delete
resources:
- resources:
- nodes
11. Логировать запросы kubectl logs (pods/log) на уровне Metadata.
level: Metadata
resources:
- resources:
- pods/log
12. Логировать операции create/update/patch/delete от системных ServiceAccount (kube-system, d8-*).
level: Metadata
users:
- system:serviceaccount:d8-cert-manager:cainjector
- system:serviceaccount:d8-cert-manager:cert-manager
- system:serviceaccount:d8-cert-manager:webhook
- system:serviceaccount:d8-chrony:chrony-exporter
- system:serviceaccount:d8-chrony:chrony-exporter-master
- system:serviceaccount:d8-cloud-instance-manager:caps-controller-manager
- system:serviceaccount:d8-cloud-instance-manager:cluster-autoscaler
- system:serviceaccount:d8-cloud-instance-manager:fencing-agent
- system:serviceaccount:d8-cloud-instance-manager:integrity-containerd-configurator
- system:serviceaccount:d8-cloud-instance-manager:integrity-controller
- system:serviceaccount:d8-cloud-instance-manager:machine-controller-manager
- system:serviceaccount:d8-cloud-instance-manager:node-controller
- system:serviceaccount:d8-cloud-instance-manager:node-feature-discovery-gc
- system:serviceaccount:d8-cloud-instance-manager:node-feature-discovery-master
- system:serviceaccount:d8-cloud-instance-manager:node-feature-discovery-worker
- system:serviceaccount:d8-cloud-instance-manager:node-group
- system:serviceaccount:d8-cloud-instance-manager:node-group-exporter
- system:serviceaccount:d8-cloud-instance-manager:nvidia-dcgm-exporter
- system:serviceaccount:d8-cloud-instance-manager:nvidia-device-plugin
- system:serviceaccount:d8-cloud-instance-manager:nvidia-gpu-feature-discovery
- system:serviceaccount:d8-cloud-instance-manager:nvidia-mig-manager
- system:serviceaccount:d8-cloud-instance-manager:registry-packages-proxy
- system:serviceaccount:d8-cloud-provider-aws:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-aws:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-aws:node-termination-handler
- system:serviceaccount:d8-cloud-provider-azure:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-azure:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-dvp:capdvp-controller-manager
- system:serviceaccount:d8-cloud-provider-dvp:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-dvp:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-dvp:validation-webhook
- system:serviceaccount:d8-cloud-provider-dynamix:capd-controller-manager
- system:serviceaccount:d8-cloud-provider-dynamix:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-dynamix:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-gcp:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-gcp:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-huaweicloud:caphc-controller-manager
- system:serviceaccount:d8-cloud-provider-huaweicloud:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-huaweicloud:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-openstack:capo-controller-manager
- system:serviceaccount:d8-cloud-provider-openstack:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-openstack:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-vcd:capcd-controller-manager
- system:serviceaccount:d8-cloud-provider-vcd:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-vcd:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-vcd:infra-controller-manager
- system:serviceaccount:d8-cloud-provider-vsphere:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-vsphere:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-yandex:capy-controller-manager
- system:serviceaccount:d8-cloud-provider-yandex:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-yandex:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-yandex:cloud-metrics-exporter
- system:serviceaccount:d8-cloud-provider-zvirt:capz-controller-manager
- system:serviceaccount:d8-cloud-provider-zvirt:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-zvirt:cloud-data-discoverer
- system:serviceaccount:d8-cni-cilium:agent
- system:serviceaccount:d8-cni-cilium:egress-gateway-agent
- system:serviceaccount:d8-cni-cilium:operator
- system:serviceaccount:d8-cni-cilium:relay
- system:serviceaccount:d8-cni-cilium:safe-agent-updater
- system:serviceaccount:d8-cni-cilium:ui
- system:serviceaccount:d8-cni-flannel:cni-flannel
- system:serviceaccount:d8-cni-simple-bridge:cni-simple-bridge
- system:serviceaccount:d8-csi-vsphere:cloud-data-discoverer
- system:serviceaccount:d8-descheduler:descheduler
- system:serviceaccount:d8-istio:alliance-healthcheck
- system:serviceaccount:d8-istio:alliance-ingressgateway
- system:serviceaccount:d8-istio:alliance-metadata-exporter
- system:serviceaccount:d8-istio:cni
- system:serviceaccount:d8-istio:config-analyzer
- system:serviceaccount:d8-istio:ingress-gateway-controller
- system:serviceaccount:d8-istio:kiali
- system:serviceaccount:d8-istio:multicluster-api-proxy
- system:serviceaccount:d8-istio:multicluster-metrics-exporter
- system:serviceaccount:d8-istio:waypoint-controller
- system:serviceaccount:d8-istio:ztunnel
- system:serviceaccount:d8-local-path-provisioner:local-path-provisioner
- system:serviceaccount:d8-metallb:controller
- system:serviceaccount:d8-metallb:l2lb-controller
- system:serviceaccount:d8-metallb:l2lb-speaker
- system:serviceaccount:d8-metallb:speaker
- system:serviceaccount:d8-multitenancy-manager:multitenancy-manager
- system:serviceaccount:d8-openvpn:openvpn
- system:serviceaccount:d8-service-with-healthchecks:agent
- system:serviceaccount:d8-service-with-healthchecks:controller
- system:serviceaccount:d8-system:deckhouse
- system:serviceaccount:d8-system:documentation
- system:serviceaccount:d8-system:network-policy-engine
- system:serviceaccount:d8-system:registry-nodeservices
- system:serviceaccount:d8-system:terraform-auto-converger
- system:serviceaccount:d8-system:terraform-state-exporter
- system:serviceaccount:d8-system:webhook-handler
- system:serviceaccount:d8-user-authn:basic-auth-proxy
- system:serviceaccount:d8-user-authn:dex
- system:serviceaccount:d8-user-authz:permission-browser-apiserver
- system:serviceaccount:d8-user-authz:webhook
- system:serviceaccount:kube-system:d8-control-plane-manager
- system:serviceaccount:kube-system:d8-control-plane-manager-control-plane-proxy
- system:serviceaccount:kube-system:d8-kube-dns
- system:serviceaccount:kube-system:d8-kube-proxy
- system:serviceaccount:kube-system:d8-node-local-dns
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-admission-controller
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-recommender
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-updater
- system:serviceaccount:kube-system:node-local-dns-safe-updater
- system:serviceaccount:kube-system:stale-dns-connections-cleaner
userGroups:
- system:serviceaccounts
verbs:
- create
- update
- patch
- delete
omitStages:
- RequestReceived
13. Логировать операции create/update/patch/delete для ресурсов Pod.
level: Request
verbs:
- create
- delete
- patch
- update
resources:
- resources:
- pods
omitStages:
- RequestReceived
14. Логировать операции create/update/patch/delete в системных неймспейсах (kube-system, d8-*).
level: Metadata
verbs:
- create
- update
- patch
- delete
namespaces:
- d8-admission-policy-engine
- d8-cert-manager
- d8-chrony
- d8-cloud-instance-manager
- d8-cloud-provider-aws
- d8-cloud-provider-azure
- d8-cloud-provider-dvp
- d8-cloud-provider-dynamix
- d8-cloud-provider-gcp
- d8-cloud-provider-huaweicloud
- d8-cloud-provider-openstack
- d8-cloud-provider-vcd
- d8-cloud-provider-vsphere
- d8-cloud-provider-yandex
- d8-cloud-provider-zvirt
- d8-cni-cilium
- d8-cni-flannel
- d8-cni-simple-bridge
- d8-csi-vsphere
- d8-descheduler
- d8-istio
- d8-keepalived
- d8-local-path-provisioner
- d8-metallb
- d8-monitoring
- d8-multitenancy-manager
- d8-network-gateway
- d8-okmeter
- d8-openvpn
- d8-service-with-healthchecks
- d8-system
- d8-user-authn
- d8-user-authz
- kube-system
omitStages:
- RequestReceived
15. Логировать все LIST-запросы во всех неймспейсах.
level: Metadata
verbs:
- list
16. Логировать операции create/delete для ресурсов ServiceAccount.
level: Metadata
verbs:
- create
- delete
resources:
- resources:
- serviceaccounts
omitStages:
- RequestReceived
17. Логировать операции create/update/delete/patch для ресурсов Role и ClusterRole.
level: Request
verbs:
- create
- update
- delete
- patch
resources:
- group: rbac.authorization.k8s.io
resources:
- roles
- clusterroles
omitStages:
- RequestReceived
18. Логировать операции create/update/delete для ресурсов ClusterRoleBinding.
level: Request
verbs:
- create
- update
- delete
resources:
- group: rbac.authorization.k8s.io
resources:
- clusterrolebindings
omitStages:
- RequestReceived
19. Логировать операции с pod subresource для attach и ephemeral-контейнеров.
level: Request
verbs:
- get
- patch
- create
resources:
- resources:
- pods/attach
- pods/ephemeralcontainers
omitStages:
- RequestReceived
20. Логировать создание ресурсов VirtualMachineOperation с телом запроса/ответа.
level: RequestResponse
verbs:
- create
resources:
- group: virtualization.deckhouse.io
resources:
- virtualmachineoperations
21. Логировать операции create/update/patch/delete для ресурсов virtualization.deckhouse.io.
level: Metadata
verbs:
- create
- update
- patch
- delete
resources:
- group: virtualization.deckhouse.io
22. Логировать операции update/patch для внутренних virtualization subresources.
level: Metadata
verbs:
- update
- patch
resources:
- group: internal.virtualization.deckhouse.io
resources:
- internalvirtualizationvirtualmachineinstances
23. Логировать GET-операции для API-группы subresources.virtualization.deckhouse.io.
level: Metadata
verbs:
- get
resources:
- group: subresources.virtualization.deckhouse.io
24. Логировать операции create/update/patch/delete для ресурсов Pod.
level: Metadata
verbs:
- create
- update
- patch
- delete
resources:
- resources:
- pods
25. Логировать операции create/update/patch/delete в неймспейсе d8-virtualization.
level: Metadata
verbs:
- create
- update
- patch
- delete
namespaces:
- d8-virtualization
26. Логировать операции create/update/patch/delete для ресурсов ModuleConfig.
level: Metadata
verbs:
- create
- update
- patch
- delete
resources:
- group: deckhouse.io
resources:
- moduleconfigs
27. Не логировать запросы аутентифицированных пользователей.
level: None
userGroups:
- system:authenticated
28. Логировать все оставшиеся (неаутентифицированные) запросы на уровне Metadata.
level: Metadata
Пример полной политики
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
# 1: Не логировать частые обновления `Endpoints`, `EndpointSlices` и `Events`.
- level: None
resources:
- resources:
- endpoints
- endpointslices
- events
# 2: Не логировать операции выбора лидера на ресурсах `Lease`.
- level: None
resources:
- group: coordination.k8s.io
resources:
- leases
# 3: Не логировать ConfigMap cert-manager, используемые для выбора лидера.
- level: None
resources:
- resources:
- configmaps
resourceNames:
- cert-manager-cainjector-leader-election
- cert-manager-controller
# 4: Не логировать ресурсы VerticalPodAutoscalerCheckpoints.
- level: None
resources:
- group: autoscaling.k8s.io
resources:
- verticalpodautoscalercheckpoints
# 5: Не логировать PATCH-операции `VerticalPodAutoscaler` от recommender.
- level: None
users:
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-recommender
verbs:
- patch
resources:
- group: autoscaling.k8s.io
resources:
- verticalpodautoscalers
# 6: Не логировать ресурсы UpmeterHookProbes.
- level: None
resources:
- group: deckhouse.io
resources:
- upmeterhookprobes
# 7: Не логировать любые операции в неймспейсе `d8-upmeter`.
- level: None
namespaces:
- d8-upmeter
# 8: Не логировать обновления ConfigMap ingress-nginx для выборов лидера.
- level: None
users:
- system:serviceaccount:d8-ingress-nginx:ingress-nginx
verbs:
- update
resources:
- resources:
- configmaps
namespaces:
- d8-ingress-nginx
# 9: Не логировать операции create/delete `AuthRequest` от health-check dex.
- level: None
users:
- system:serviceaccount:d8-user-authn:dex
verbs:
- create
- delete
resources:
- group: dex.coreos.com
resources:
- authrequests
namespaces:
- d8-user-authn
# 10: Логировать операции create/delete для ресурсов Node с телом запроса/ответа.
- level: RequestResponse
verbs:
- create
- delete
resources:
- resources:
- nodes
# 11: Логировать запросы kubectl logs (pods/log) на уровне Metadata.
- level: Metadata
resources:
- resources:
- pods/log
# 12: Логировать операции create/update/patch/delete от системных ServiceAccount (`kube-system`, `d8-*`).
- level: Metadata
users:
- system:serviceaccount:d8-cert-manager:cainjector
- system:serviceaccount:d8-cert-manager:cert-manager
- system:serviceaccount:d8-cert-manager:webhook
- system:serviceaccount:d8-chrony:chrony-exporter
- system:serviceaccount:d8-chrony:chrony-exporter-master
- system:serviceaccount:d8-cloud-instance-manager:caps-controller-manager
- system:serviceaccount:d8-cloud-instance-manager:cluster-autoscaler
- system:serviceaccount:d8-cloud-instance-manager:fencing-agent
- system:serviceaccount:d8-cloud-instance-manager:integrity-containerd-configurator
- system:serviceaccount:d8-cloud-instance-manager:integrity-controller
- system:serviceaccount:d8-cloud-instance-manager:machine-controller-manager
- system:serviceaccount:d8-cloud-instance-manager:node-controller
- system:serviceaccount:d8-cloud-instance-manager:node-feature-discovery-gc
- system:serviceaccount:d8-cloud-instance-manager:node-feature-discovery-master
- system:serviceaccount:d8-cloud-instance-manager:node-feature-discovery-worker
- system:serviceaccount:d8-cloud-instance-manager:node-group
- system:serviceaccount:d8-cloud-instance-manager:node-group-exporter
- system:serviceaccount:d8-cloud-instance-manager:nvidia-dcgm-exporter
- system:serviceaccount:d8-cloud-instance-manager:nvidia-device-plugin
- system:serviceaccount:d8-cloud-instance-manager:nvidia-gpu-feature-discovery
- system:serviceaccount:d8-cloud-instance-manager:nvidia-mig-manager
- system:serviceaccount:d8-cloud-instance-manager:registry-packages-proxy
- system:serviceaccount:d8-cloud-provider-aws:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-aws:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-aws:node-termination-handler
- system:serviceaccount:d8-cloud-provider-azure:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-azure:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-dvp:capdvp-controller-manager
- system:serviceaccount:d8-cloud-provider-dvp:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-dvp:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-dvp:validation-webhook
- system:serviceaccount:d8-cloud-provider-dynamix:capd-controller-manager
- system:serviceaccount:d8-cloud-provider-dynamix:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-dynamix:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-gcp:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-gcp:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-huaweicloud:caphc-controller-manager
- system:serviceaccount:d8-cloud-provider-huaweicloud:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-huaweicloud:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-openstack:capo-controller-manager
- system:serviceaccount:d8-cloud-provider-openstack:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-openstack:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-vcd:capcd-controller-manager
- system:serviceaccount:d8-cloud-provider-vcd:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-vcd:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-vcd:infra-controller-manager
- system:serviceaccount:d8-cloud-provider-vsphere:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-vsphere:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-yandex:capy-controller-manager
- system:serviceaccount:d8-cloud-provider-yandex:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-yandex:cloud-data-discoverer
- system:serviceaccount:d8-cloud-provider-yandex:cloud-metrics-exporter
- system:serviceaccount:d8-cloud-provider-zvirt:capz-controller-manager
- system:serviceaccount:d8-cloud-provider-zvirt:cloud-controller-manager
- system:serviceaccount:d8-cloud-provider-zvirt:cloud-data-discoverer
- system:serviceaccount:d8-cni-cilium:agent
- system:serviceaccount:d8-cni-cilium:egress-gateway-agent
- system:serviceaccount:d8-cni-cilium:operator
- system:serviceaccount:d8-cni-cilium:relay
- system:serviceaccount:d8-cni-cilium:safe-agent-updater
- system:serviceaccount:d8-cni-cilium:ui
- system:serviceaccount:d8-cni-flannel:cni-flannel
- system:serviceaccount:d8-cni-simple-bridge:cni-simple-bridge
- system:serviceaccount:d8-csi-vsphere:cloud-data-discoverer
- system:serviceaccount:d8-descheduler:descheduler
- system:serviceaccount:d8-istio:alliance-healthcheck
- system:serviceaccount:d8-istio:alliance-ingressgateway
- system:serviceaccount:d8-istio:alliance-metadata-exporter
- system:serviceaccount:d8-istio:cni
- system:serviceaccount:d8-istio:config-analyzer
- system:serviceaccount:d8-istio:ingress-gateway-controller
- system:serviceaccount:d8-istio:kiali
- system:serviceaccount:d8-istio:multicluster-api-proxy
- system:serviceaccount:d8-istio:multicluster-metrics-exporter
- system:serviceaccount:d8-istio:waypoint-controller
- system:serviceaccount:d8-istio:ztunnel
- system:serviceaccount:d8-local-path-provisioner:local-path-provisioner
- system:serviceaccount:d8-metallb:controller
- system:serviceaccount:d8-metallb:l2lb-controller
- system:serviceaccount:d8-metallb:l2lb-speaker
- system:serviceaccount:d8-metallb:speaker
- system:serviceaccount:d8-multitenancy-manager:multitenancy-manager
- system:serviceaccount:d8-openvpn:openvpn
- system:serviceaccount:d8-service-with-healthchecks:agent
- system:serviceaccount:d8-service-with-healthchecks:controller
- system:serviceaccount:d8-system:deckhouse
- system:serviceaccount:d8-system:documentation
- system:serviceaccount:d8-system:network-policy-engine
- system:serviceaccount:d8-system:registry-nodeservices
- system:serviceaccount:d8-system:terraform-auto-converger
- system:serviceaccount:d8-system:terraform-state-exporter
- system:serviceaccount:d8-system:webhook-handler
- system:serviceaccount:d8-user-authn:basic-auth-proxy
- system:serviceaccount:d8-user-authn:dex
- system:serviceaccount:d8-user-authz:permission-browser-apiserver
- system:serviceaccount:d8-user-authz:webhook
- system:serviceaccount:kube-system:d8-control-plane-manager
- system:serviceaccount:kube-system:d8-control-plane-manager-control-plane-proxy
- system:serviceaccount:kube-system:d8-kube-dns
- system:serviceaccount:kube-system:d8-kube-proxy
- system:serviceaccount:kube-system:d8-node-local-dns
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-admission-controller
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-recommender
- system:serviceaccount:kube-system:d8-vertical-pod-autoscaler-updater
- system:serviceaccount:kube-system:node-local-dns-safe-updater
- system:serviceaccount:kube-system:stale-dns-connections-cleaner
userGroups:
- system:serviceaccounts
verbs:
- create
- update
- patch
- delete
omitStages:
- RequestReceived
# 13: Логировать операции create/update/patch/delete для ресурсов Pod.
- level: Request
verbs:
- create
- delete
- patch
- update
resources:
- resources:
- pods
omitStages:
- RequestReceived
# 14: Логировать операции create/update/patch/delete в системных неймспейсах (`kube-system`, `d8-*`).
- level: Metadata
verbs:
- create
- update
- patch
- delete
namespaces:
- d8-admission-policy-engine
- d8-cert-manager
- d8-chrony
- d8-cloud-instance-manager
- d8-cloud-provider-aws
- d8-cloud-provider-azure
- d8-cloud-provider-dvp
- d8-cloud-provider-dynamix
- d8-cloud-provider-gcp
- d8-cloud-provider-huaweicloud
- d8-cloud-provider-openstack
- d8-cloud-provider-vcd
- d8-cloud-provider-vsphere
- d8-cloud-provider-yandex
- d8-cloud-provider-zvirt
- d8-cni-cilium
- d8-cni-flannel
- d8-cni-simple-bridge
- d8-csi-vsphere
- d8-descheduler
- d8-istio
- d8-keepalived
- d8-local-path-provisioner
- d8-metallb
- d8-monitoring
- d8-multitenancy-manager
- d8-network-gateway
- d8-okmeter
- d8-openvpn
- d8-service-with-healthchecks
- d8-system
- d8-user-authn
- d8-user-authz
- kube-system
omitStages:
- RequestReceived
# 15: Логировать все LIST-запросы во всех неймспейсах.
- level: Metadata
verbs:
- list
# 16: Логировать операции create/delete для ресурсов ServiceAccount.
- level: Metadata
verbs:
- create
- delete
resources:
- resources:
- serviceaccounts
omitStages:
- RequestReceived
# 17: Логировать операции create/update/delete/patch для ресурсов Role и ClusterRole.
- level: Request
verbs:
- create
- update
- delete
- patch
resources:
- group: rbac.authorization.k8s.io
resources:
- roles
- clusterroles
omitStages:
- RequestReceived
# 18: Логировать операции create/update/delete для ресурсов ClusterRoleBinding.
- level: Request
verbs:
- create
- update
- delete
resources:
- group: rbac.authorization.k8s.io
resources:
- clusterrolebindings
omitStages:
- RequestReceived
# 19: Логировать операции с pod subresource для attach и ephemeral-контейнеров.
- level: Request
verbs:
- get
- patch
- create
resources:
- resources:
- pods/attach
- pods/ephemeralcontainers
omitStages:
- RequestReceived
# 20: Логировать создание ресурсов VirtualMachineOperation с телом запроса/ответа.
- level: RequestResponse
verbs:
- create
resources:
- group: virtualization.deckhouse.io
resources:
- virtualmachineoperations
# 21: Логировать операции create/update/patch/delete для ресурсов virtualization.deckhouse.io.
- level: Metadata
verbs:
- create
- update
- patch
- delete
resources:
- group: virtualization.deckhouse.io
# 22: Логировать операции update/patch для внутренних virtualization subresources.
- level: Metadata
verbs:
- update
- patch
resources:
- group: internal.virtualization.deckhouse.io
resources:
- internalvirtualizationvirtualmachineinstances
# 23: Логировать GET-операции для API-группы subresources.virtualization.deckhouse.io.
- level: Metadata
verbs:
- get
resources:
- group: subresources.virtualization.deckhouse.io
# 24: Логировать операции create/update/patch/delete для ресурсов `Pod`.
- level: Metadata
verbs:
- create
- update
- patch
- delete
resources:
- resources:
- pods
# 25: Логировать операции create/update/patch/delete в неймспейсе `d8-virtualization`.
- level: Metadata
verbs:
- create
- update
- patch
- delete
namespaces:
- d8-virtualization
# 26: Логировать операции create/update/patch/delete для ресурсов ModuleConfig.
- level: Metadata
verbs:
- create
- update
- patch
- delete
resources:
- group: deckhouse.io
resources:
- moduleconfigs
############
# Здесь вставляются пользовательские правила из секрета kube-system/audit-policy
############
# 27: Не логировать запросы аутентифицированных пользователей.
- level: None
userGroups:
- system:authenticated
# 28: Логировать все оставшиеся (неаутентифицированные) запросы на уровне Metadata.
- level: Metadata