Skip to main content

🛡️ Token-validering og grovkornet autorisasjon

SKIP tilbyr innebygd støtte for å sette opp Kubernetes-ressurser som kan validere autentisiteten og autorisasjonen på inkommende requests før den i det hele tatt når applikasjonen. Dette er mulig fordi SKIP benytter seg av Istio som service mesh og instruerer Istio til å sette opp en Istio-sidecar i hver pod.

Fordelen med at hver pod har en istio-sidecar er at Istio introduserer flere nyttige CRD-er som kan berike kapabilitetene til istio-sidecar. To av disse CRD-ene er RequestAuthentication og AuthorizationPolicy, som blant annet kan brukes til å validere tokens (JWT) til innkommende requests og autorisere tilgang basert på claims.

Istio Sidecar Container Architecture Kilde: Kube by Example

SKIP benytter seg av kubernetes operatoren Ztoperator for å håndheve token-validering og grovkornet autorisasjon for tjenester som kjører på SKIP.

Hvis man ønsker å benytte seg av SKIP sin løsning for å sette opp token-validering og grovkornet autorisasjon, har man to valg. Man kan benytte seg av Skiperator dersom man ønsker å holde konfigurasjonen nær Skiperator-manifestet. Alternativt kan man bruke CRD-en fra Ztoperator direkte.

Felles for begge alternativene er at de bygger inn to prinsipper i hvordan token-validering og grovkornet autorisasjon settes opp.

  • Gyldig JWT by default: Med mindre endepunkt er eksplisitt spesifisert som åpne innkommende request ha en gyldig JWT.
  • Trygge standardinnstillinger: Hvis man ved en feil spesifiserer et endepunkt som både åpent og autorisert, vil forespørselen som standard kreve et gyldig og autorisert JWT.

🚧 UNDER UTVIKLING 🚧
Støtte for å sette opp token-validering og grovkornet autorisasjon via Skiperator-manifestet er under utvikling og er foreløpig ikke tilgjengelig.

📖 Eksempler

Under følger en rekke eksempler på hvordan å konfigurere token-validering og grovkornet autorisasjon på SKIP.

Eksempel 1: Token-validering for alle endepunkt

🚧 UNDER UTVIKLING 🚧
Støtte for å sette opp token-validering og grovkornet autorisasjon via Skiperator-manifestet er under utvikling og er foreløpig ikke tilgjengelig.

Eksempel 2: Legg til åpne endepunkt

🚧 UNDER UTVIKLING 🚧
Støtte for å sette opp token-validering og grovkornet autorisasjon via Skiperator-manifestet er under utvikling og er foreløpig ikke tilgjengelig.

Eksempel 3: Legg til autoriserte endepunkt

🚧 UNDER UTVIKLING 🚧
Støtte for å sette opp token-validering og grovkornet autorisasjon via Skiperator-manifestet er under utvikling og er foreløpig ikke tilgjengelig.

Eksempel 4: Token-validering og grovkornet autorisasjon med flere identitetstilbydere

🚧 UNDER UTVIKLING 🚧
Støtte for å sette opp token-validering og grovkornet autorisasjon via Skiperator-manifestet er under utvikling og er foreløpig ikke tilgjengelig.