From cec811d0333faf738f4022de6d929f580a79aef6 Mon Sep 17 00:00:00 2001 From: chrischristiansen-glitch Date: Sun, 28 Jun 2026 23:55:55 +0200 Subject: [PATCH] docs: append LEARNING-017 for IAP metadata-token on GCE VM --- docs/LEARNINGS.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/LEARNINGS.md b/docs/LEARNINGS.md index c73d001..77261b5 100644 --- a/docs/LEARNINGS.md +++ b/docs/LEARNINGS.md @@ -181,3 +181,16 @@ Regel: Ved IAP-binding: sjekk DNS A-record -> forwarding rule IP -> url-map -> b 2. gcloud compute forwarding-rules list --global # match IP -> url-map 3. gcloud compute url-maps describe --global | grep defaultService Implementert i: docs/DNS-OG-INFRASTRUKTUR.md oppdatert med korrekt routing-kart + +--- + +### LEARNING-017: På GCE VM skal IAP alltid bruke metadata-server token, ikke ADC fra brukerlogin +Dato: 2026-06-28 +Kontekst: Test mot `https://opax.vauco.no/health` feilet med `Invalid IAP credentials: Unable to parse JWT` etter at brukerbasert auth/ADC hadde utløpt i en SSH-økt på VM. Dette skapte støy fordi VM-en allerede har service account og stabil auth-kanal tilgjengelig. +Lærdom: På GCE VM er `gcloud auth application-default login` midlertidig og brukerbundet. For IAP-kall fra VM skal identity token alltid hentes fra metadata-serveren med riktig audience, siden dette bruker VM-ens service account og ikke utløper på samme måte i arbeidsflyten. +Regel: Alle IAP-kall fra `osvauco-dev-vm` bruker: + `TOKEN=$(curl -sf "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=357036551735-kq8nt7ld38hfqlcfb3n52ef7tala4meo.apps.googleusercontent.com&format=full" -H "Metadata-Flavor: Google")` + etterfulgt av: + `curl -s https://opax.vauco.no/health -H "Authorization: Bearer $TOKEN"` + Ikke bruk ADC/user-login som primær metode for IAP fra VM. +Implementert i: `docs/LEARNINGS.md` (append-only), neste steg `scripts/boot.sh` / testprosedyrer