UNCLASSIFIED - NO CUI

Upgrading from Big Bang 3.19.0 to 3.20.0 can break Grafana datasource access to Prometheus when monitoring.sso.enabled=true, even if Istio hardened settings are not explicitly enabled.

After upgrade, Grafana dashboards fail to query Prometheus and Grafana logs show:

status=403 body="RBAC: access denied"

This is consistent with an Istio AuthorizationPolicy denial

This is a regression introduced by the monitoring bb-common migration in 3.20.0.

In 3.19.0:

monitoring rendered an explicit monitoring-prometheus-authz-policy that policy allowed requests from the monitoring namespace to Prometheus this covered Grafana -> Prometheus traffic

In 3.20.0:

the old explicit Prometheus authz policy was removed monitoring now relies on bb-common authz generation but bb-common authz generation is only enabled when hardened-derived authz is enabled at the same time, when monitoring.sso.enabled=true, Prometheus still gets the protect: keycloak label and is selected by shared-monitoring-authz-policy

That shared policy allows Prometheus and Alertmanager service accounts, but does not allow Grafana. So the upgrade leaves an active SSO-related authz policy in effect while removing the old same-namespace allow that previously let Grafana query Prometheus.

Impact

Clusters using:

monitoring.sso.enabled=true

authservice for Prometheus / Alertmanager

Grafana querying in-cluster Prometheus

may see Grafana datasource failures immediately after upgrading from 3.19.0 to 3.20.0.

Workaround

A manual AuthorizationPolicy allowing Grafana / monitoring namespace traffic to Prometheus restores functionality

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: allow-grafana-to-prometheus
  namespace: monitoring
spec:
  selector:
    matchLabels:
      app: prometheus
  action: ALLOW
  rules:
  - from:
    - source:
        namespaces:
        - monitoring
Edited by Dax McDonald