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-grafanadefault32Critical
kube-prometheus-stack-kube-state-metricsdefault321Critical
kube-prometheus-stack-operatordefault221Critical
kube-prometheus-stack-admissiondefault42Low
kube-prometheus-stack-alertmanagerdefault10Low
kube-prometheus-stack-grafana-testdefault11Low
kube-prometheus-stack-prometheusdefault70Low
kube-prometheus-stack-prometheus-node-exporterdefault11Low

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


Identities

🤖 kube-prometheus-stack-kube-state-metrics

Namespace: default  |  Automount:

🔑 Permissions (32)

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-metricsextensions/daemonsetslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsapps/deploymentslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsextensions/deploymentslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricscore/endpointslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsautoscaling/horizontalpodautoscalerslist · watchLow
ClusterRole kube-prometheus-stack-kube-state-metricsextensions/ingresseslist · 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-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-metricsextensions/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
ClusterRole psp-kube-prometheus-stack-kube-state-metricspolicy/podsecuritypolicies (restricted to: kube-prometheus-stack-kube-state-metrics)useLowDeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted

⚠️ Potential Abuse (12)

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

📦 Workloads (1)

KindNameContainerImage
Deploymentkube-prometheus-stack-kube-state-metricskube-state-metricsk8s.gcr.io/kube-state-metrics/kube-state-metrics:v2.1.0

🤖 kube-prometheus-stack-operator

Namespace: default  |  Automount:

🔑 Permissions (22)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-operatorcore/configmaps*CriticalClusterWideAccess ConfigMapAccess DataExposure InformationDisclosure PotentialPrivilegeEscalation (+2 more)
ClusterRole kube-prometheus-stack-operatorcore/secrets*CriticalClusterWideAccess ClusterWideSecretAccess CredentialAccess DataExposure InformationDisclosure (+6 more)
ClusterRole kube-prometheus-stack-operatorapps/statefulsets*CriticalClusterWideAccess Persistence PotentialPrivilegeEscalation PrivilegeEscalation Tampering (+2 more)
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagerconfigs*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/alertmanagers/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/podmonitors*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/probes*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheuses/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/prometheusrules*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/servicemonitors*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatormonitoring.coreos.com/thanosrulers/finalizers*HighClusterWideAccess WildcardPermission
ClusterRole kube-prometheus-stack-operatorcore/endpointscreate · delete · get · updateLow
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-operatorcore/podsdelete · listLow
ClusterRole kube-prometheus-stack-operatorcore/servicescreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operatorcore/services/finalizerscreate · delete · get · updateLow
ClusterRole kube-prometheus-stack-operator-psppolicy/podsecuritypolicies (restricted to: kube-prometheus-stack-operator)useLowDeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted

⚠️ Potential Abuse (14)

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.49.0

🤖 kube-prometheus-stack-grafana

Namespace: default  |  Automount:

🔑 Permissions (3)

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
Role kube-prometheus-stack-grafanaextensions/podsecuritypolicies (restricted to: kube-prometheus-stack-grafana)useLowResourceNameRestricted

⚠️ Potential Abuse (5)

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

📦 Workloads (2)

KindNameContainerImage
Deploymentkube-prometheus-stack-grafanagrafanagrafana/grafana:8.0.5
Deploymentkube-prometheus-stack-grafanagrafana-sc-dashboardquay.io/kiwigrid/k8s-sidecar:1.12.2

🤖 kube-prometheus-stack-prometheus

Namespace: default  |  Automount:

🔑 Permissions (7)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-prometheuscore/endpointsget · 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
ClusterRole kube-prometheus-stack-prometheus-psppolicy/podsecuritypolicies (restricted to: kube-prometheus-stack-prometheus)useLowDeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted

⚠️ Potential Abuse (2)

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 (4)

RoleResourceVerbsRiskTags
ClusterRole kube-prometheus-stack-admissionadmissionregistration.k8s.io/mutatingwebhookconfigurationsget · updateLow
Role kube-prometheus-stack-admissioncore/secretscreate · getLow
ClusterRole kube-prometheus-stack-admissionadmissionregistration.k8s.io/validatingwebhookconfigurationsget · updateLow
ClusterRole kube-prometheus-stack-admissionpolicy/podsecuritypolicies (restricted to: kube-prometheus-stack-admission)useLowDeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted

⚠️ Potential Abuse (2)

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

📦 Workloads (2)

KindNameContainerImage
Jobkube-prometheus-stack-admission-createcreatejettech/kube-webhook-certgen:v1.5.2
Jobkube-prometheus-stack-admission-patchpatchjettech/kube-webhook-certgen:v1.5.2

🤖 kube-prometheus-stack-alertmanager

Namespace: default  |  Automount:

🔑 Permissions (1)

RoleResourceVerbsRiskTags
Role kube-prometheus-stack-alertmanagerpolicy/podsecuritypolicies (restricted to: kube-prometheus-stack-alertmanager)useLowResourceNameRestricted

⚠️ Potential Abuse (1)

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

📦 Workloads (0)

No workloads use this ServiceAccount.


🤖 kube-prometheus-stack-grafana-test

Namespace: default  |  Automount:

🔑 Permissions (1)

RoleResourceVerbsRiskTags
Role kube-prometheus-stack-grafana-testpolicy/podsecuritypolicies (restricted to: kube-prometheus-stack-grafana-test)useLowResourceNameRestricted

⚠️ Potential Abuse (1)

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

📦 Workloads (1)

KindNameContainerImage
Podkube-prometheus-stack-grafana-testkube-prometheus-stack-testbats/bats:v1.1.0

🤖 kube-prometheus-stack-prometheus-node-exporter

Namespace: default  |  Automount:

🔑 Permissions (1)

RoleResourceVerbsRiskTags
ClusterRole psp-kube-prometheus-stack-prometheus-node-exporterextensions/podsecuritypolicies (restricted to: kube-prometheus-stack-prometheus-node-exporter)useLowDeprecatedFeature NodeAccess PodSecurityPolicy PrivilegeEscalation ResourceNameRestricted

⚠️ Potential Abuse (2)

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

📦 Workloads (1)

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