Я пытаюсь развернуть Графана с проверкой подлинности, управляемой через app-identity-and-access-adapter . Проблема заключается в том, что адаптер добавляет заголовок HTTP-авторизации при успешной аутентификации, но Grafana также ищет этот же заголовок и поэтому отклоняет запрос как неудачный HTTP-запрос API с {"message":"Invalid API key"}
.
. Я пытался использовать EnvoyFilter для удаления заголовка авторизации следующим образом:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: grafana
namespace: monitoring
spec:
workloadSelector:
labels:
app: grafana
configPatches:
# The first patch adds the lua filter to the listener/http connection manager
- applyTo: HTTP_FILTER
match:
context: SIDECAR_INBOUND
listener:
portNumber: 3000
filterChain:
filter:
name: "envoy.http_connection_manager"
subFilter:
name: "envoy.router"
patch:
operation: INSERT_BEFORE
value: # lua filter specification
name: envoy.lua
config:
inlineCode: |
function envoy_on_request(request_handle)
local originalHeader = request_handle:headers():get("Authorization")
if originalHeader then
request_handle:headers():remove("Authorization")
end
end
, но, похоже, он не работает. Печать всех доступных заголовков с использованием:
for key, value in pairs(request_handle:headers()) do
request_handle:logWarn("key:" .. key .. " <--> value:" .. value)
end
показывает, что заголовок отсутствует, но Графана явно его получает.
Что я мог сделать не так?
Istio версия: 1.4.5