Description

kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

Overview

IdentityNamespaceAutomountSecretsPermissionsWorkloadsRisk
kube-prometheus-stack-grafanadefault—23Critical
kube-prometheus-stack-kube-state-metricsdefault—281Critical
kube-prometheus-stack-operatordefault—371Critical
kube-prometheus-stack-admissiondefault—32Low
kube-prometheus-stack-prometheusdefault—70Low
kube-prometheus-stack-alertmanagerdefault—00—
kube-prometheus-stack-grafana-testdefault—01—
kube-prometheus-stack-prometheus-node-exporterdefault—01—
kube-prometheus-stack-prometheus-windows-exporterdefault—01—

Numbers in the last two columns indicate how many bindings or workloads involve each ServiceAccount.


Identities

kube-prometheus-stack-operator

Namespace: default  |  Automount:

Permissions (37)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-operatorcore/secretscreate · delete · get · list · update · watchCriticalClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess
ClusterRole kube-prometheus-stack-operatorapps/statefulsetscreate · delete · get · list · patch · update · watchCriticalPersistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering WorkloadLifecycle
ClusterRole kube-prometheus-stack-operatorcore/configmapscreate · delete · get · list · update · watchHighConfigMapAccess DataExposure InformationDisclosure
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagerconfigsget · list · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagersget · list · patch · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers/finalizersupdateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatorcore/endpointscreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatordiscovery.k8s.io/endpointslicescreate · delete · get · list · update · watchLow
ClusterRole kube-prometheus-stack-operatorcore/eventscreate · patchLow
ClusterRole kube-prometheus-stack-operatorevents.k8s.io/eventscreate · patchLow
ClusterRole kube-prometheus-stack-operatornetworking.k8s.io/ingressesget · list · watchLow
ClusterRole kube-prometheus-stack-operatorcore/namespacesget · list · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole kube-prometheus-stack-operatorcore/nodeslist · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/podmonitorsget · list · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/podmonitors/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatorcore/podsdelete · listLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/probesget · list · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/probes/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusagentsget · list · patch · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusagents/finalizersupdateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusagents/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusesget · list · patch · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses/finalizersupdateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusrulesget · list · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusrules/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/scrapeconfigsget · list · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/scrapeconfigs/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/servicemonitorsget · list · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/servicemonitors/statuscreate · delete · patch · updateLow
ClusterRole kube-prometheus-stack-operatorcore/servicescreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatorcore/services/finalizerscreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatorstorage.k8s.io/storageclassesgetLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulersget · list · patch · watchLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers/finalizersupdateLow
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers/statuscreate · delete · patch · updateLow

Potential Abuse (8)

The following security risks were found based on the above permissions:

Workloads (1)

KindNameContainerImage
Deploymentkube-prometheus-stack-operatorkube-prometheus-stackquay.io/prometheus-operator/prometheus-operator:v0.94.1

kube-prometheus-stack-kube-state-metrics

Namespace: default  |  Automount:

Permissions (28)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-kube-state-metricscore/secretslist · watchCriticalClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess
ClusterRole kube-prometheus-stack-kube-state-metricscore/configmapslist · watchHighConfigMapAccess DataExposure InformationDisclosure
ClusterRole kube-prometheus-stack-kube-state-metricsadmissionregistration.k8s.io/mutatingwebhookconfigurationslist · watchMediumInformationDisclosure Reconnaissance WebhookReconnaissance
ClusterRole kube-prometheus-stack-kube-state-metricscore/resourcequotaslist · watchMediumInformationDisclosure QuotaTampering Reconnaissance ResourceConfiguration
ClusterRole kube-prometheus-stack-kube-state-metricsadmissionregistration.k8s.io/validatingwebhookconfigurationslist · watchMediumInformationDisclosure Reconnaissance WebhookReconnaissance
ClusterRole kube-prometheus-stack-kube-state-metricscertificates.k8s.io/certificatesigningrequestslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsbatch/cronjobslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/daemonsetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/deploymentslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsdiscovery.k8s.io/endpointsliceslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsautoscaling/horizontalpodautoscalerslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsnetworking.k8s.io/ingresseslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsbatch/jobslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscoordination.k8s.io/leaseslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/limitrangeslist · watchLowInformationDisclosure Reconnaissance ResourceConfiguration
ClusterRole kube-prometheus-stack-kube-state-metricscore/namespaceslist · watchLowClusterStructure InformationDisclosure Reconnaissance
ClusterRole kube-prometheus-stack-kube-state-metricsnetworking.k8s.io/networkpolicieslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/nodeslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/persistentvolumeclaimslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/persistentvolumeslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricspolicy/poddisruptionbudgetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/podslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/replicasetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/replicationcontrollerslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/serviceslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/statefulsetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsstorage.k8s.io/storageclasseslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsstorage.k8s.io/volumeattachmentslist · watchLow

Potential Abuse (11)

The following security risks were found based on the above permissions:

Workloads (1)

KindNameContainerImage
Deploymentkube-prometheus-stack-kube-state-metricskube-state-metricsregistry.k8s.io/kube-state-metrics/kube-state-metrics:v2.20.0

kube-prometheus-stack-grafana

Namespace: default  |  Automount:

Permissions (2)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-grafana-clusterrolecore/secretsget · list · watchCriticalClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure SecretAccess
ClusterRole kube-prometheus-stack-grafana-clusterrolecore/configmapsget · list · watchHighConfigMapAccess DataExposure InformationDisclosure

Potential Abuse (5)

The following security risks were found based on the above permissions:

Workloads (3)

KindNameContainerImage
Deploymentkube-prometheus-stack-grafanagrafanadocker.io/grafana/grafana:13.2.4-distroless
Deploymentkube-prometheus-stack-grafanagrafana-sc-dashboardquay.io/kiwigrid/k8s-sidecar:2.14.1
Deploymentkube-prometheus-stack-grafanagrafana-sc-datasourcesquay.io/kiwigrid/k8s-sidecar:2.14.1

kube-prometheus-stack-prometheus

Namespace: default  |  Automount:

Permissions (7)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-prometheuscore/endpointsget · list · watchLow
ClusterRole kube-prometheus-stack-prometheusdiscovery.k8s.io/endpointslicesget · list · watchLow
ClusterRole kube-prometheus-stack-prometheusnetworking.k8s.io/ingressesget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/nodesget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/nodes/metricsget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/podsget · list · watchLow
ClusterRole kube-prometheus-stack-prometheuscore/servicesget · list · watchLow

Potential Abuse (1)

The following security risks were found based on the above permissions:

Workloads (0)

No workloads use this ServiceAccount.


kube-prometheus-stack-admission

Namespace: default  |  Automount:

Permissions (3)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-admissionadmissionregistration.k8s.io/mutatingwebhookconfigurationsget · patch · updateLow
Role kube-prometheus-stack-admissioncore/secretscreate · getLow
ClusterRole kube-prometheus-stack-admissionadmissionregistration.k8s.io/validatingwebhookconfigurationsget · patch · updateLow

Potential Abuse (1)

The following security risks were found based on the above permissions:

Workloads (2)

KindNameContainerImage
Jobkube-prometheus-stack-admission-createcreateghcr.io/jkroepke/kube-webhook-certgen:1.11.0
Jobkube-prometheus-stack-admission-patchpatchghcr.io/jkroepke/kube-webhook-certgen:1.11.0

kube-prometheus-stack-alertmanager

Namespace: default  |  Automount:

Permissions (0)

No explicit RBAC bindings.

Workloads (0)

No workloads use this ServiceAccount.


kube-prometheus-stack-grafana-test

Namespace: default  |  Automount:

Permissions (0)

No explicit RBAC bindings.

Workloads (1)

KindNameContainerImage
Podkube-prometheus-stack-grafana-testkube-prometheus-stack-testdocker.io/bats/bats:1.14.0

kube-prometheus-stack-prometheus-node-exporter

Namespace: default  |  Automount:

Permissions (0)

No explicit RBAC bindings.

Workloads (1)

KindNameContainerImage
DaemonSetkube-prometheus-stack-prometheus-node-exporternode-exporterquay.io/prometheus/node-exporter:v1.12.1-distroless

kube-prometheus-stack-prometheus-windows-exporter

Namespace: default  |  Automount:

Permissions (0)

No explicit RBAC bindings.

Workloads (1)

KindNameContainerImage
DaemonSetkube-prometheus-stack-prometheus-windows-exporterwindows-exporterghcr.io/prometheus-community/windows-exporter:0.31.9