Skip to main content

Maskinporten

For å registrere en klient i Maskinporten, kan du enten gjøre det i Digdir sin selvbetjeninsløsning eller gjennom Kubernetes-operatoren Digdirator. Digdirator er en Kubernetes-operator utviklet av NAV sitt plattformteam (NAIS) som skal gjøre det enkelt å deklarativt sette opp og vedlikeholde integrasjoner mot Digdir sine systemer. Dette inkluderer ID-Porten-integrasjoner og Maskinporten-integrasjoner, men per nå ikke Annsattporten-integrasjoner.

caution

Digdirator støtter kun klientregistreringer mot ID-porten og Maskinporten. For Ansattporten må klientregistreringer gjøres manuelt i Digdir sin selvbetjeningsløsning.

🧪 Testmiljø for Maksinporten

Digdir tilbyr Maskinporten i et testmiljø, der du kan teste applikasjonen din med syntetiske organisasjoner. For å registrere en klient mot Maskinporten sitt testmiljø så kan du enten gjøre det i Digdir sin selvbetjeningsløsning i test eller opprette en MaskinportenClient-ressurs i dev-clustrene til SKIP, i.e. atgcp1-dev eller atkv3-dev.

🤖 MaskinportenClient

En MaskinportenClient er en CRD som lar brukere deklarativt opprette og vedlikeholde Maskinporten-klientregistreringer.

spec (object, required) – Spesifikasjon til MaskinportenClient

secretName (string, required) – Navnet på den resulterende Secret-ressursen som vil bli opprettet.

clientName (string, optional) – Navnet på klienten registrert hos DigDir. Vises under innlogging for brukerorienterte flyter, og er ellers en lesbar måte å skille mellom klienter i DigDirs selvbetjeningsportal.

scopes ([]object, optional) – Definerer hvilke scopes applikasjonen konsumerer og hvilke den eksponerer.
consumes ([]object, optional) – En liste med scopes din klient kan forespørre tilgang til.

name (string, required) – Scopene som applikasjonen konsumerer for å få tilgang til en ekstern organisasjons API.

exposes ([]object, optional) – En liste med scopes din applikasjon ønsker å eksponere til andre organisasjoner hvor tilgang er basert på organisasjonsnummer.

enabled (bool, required) – Hvis true, så er det konfigurerte scopet tilgjengelig for bruk og til å bli konsumert av organisasjoner som har fått godkjent tilgang.

name (string, påkrevd) – Det faktiske sub-scopet kombinert med product.

product (string, valgfritt) – Produktområde tilknyttet scopet. Dette vil inkluderes i resultatet: org:<product><name>.

atMaxAge (int, valgfritt) – Maksimal tillatt levetid for token i sekunder. Defaulter til 30 sekunder.

allowedIntegrations ([]string, valgfritt) – Liste over tillatte integrasjonstyper for dette eksponerte omfanget. Defaulter til maskinporten.

consumers ([]object, valgfritt) – Liste over eksterne konsumenter som har tilgang til å konsumere dette scopet og som kan forespørre access_token.

orgno – Det eksterne organisasjonsnummeret.

name – Beskrivende felt brukt utelukkende for oversikt.

accessibleForAll – Tillater alle organisasjoner å få tilgang til scopet.

delegationSource – Delegasjonskilde for scopet. Default er tomt, noe som betyr at ingen delegasjon er tillatt.

separator – Tegnet som skiller product og name i det endelige scopet. Resultatet blir da <prefix>:<product><separator><name>. Defaulter til : med mindre name inneholder /, i det tilfellet defaultes det til /.

visibility – Kontrollerer synligheten til scopet. Offentlige scopes er synlige for alle, mens private scopes kun er synlige for organisasjonen som eier scopet og organisasjoner som har fått tilgang som konsumenter. Defaulter til public. Tillatte verdier: private, public.

Følgende eksempel oppretter en klientintegrasjon mot Maskinporten og definerer scopet innsyn. Den setter HUSLØS HURTIG TIGER AS og KOSTBAR LEKKER APE AS som godkjente konsumenter av scopet. Når registrering er fullført vil Digdirator opprette Kubernetes-hemmeligheten maskinporten-secret i namespacet tilgangsstyring-main.

Klientregistrering mot Maskinporten med Digdirator
apiVersion: nais.io/v1
kind: MaskinportenClient
metadata:
name: test-client
namespace: tilgangsstyring-main
spec:
clientName: innsikt-secure-deltashare
scopes:
exposes:
- enabled: true
name: "innsyn"
product: "Produktområde"
consumers:
- name: HUSLØS HURTIG TIGER AS
orgno: "987654321"
- name: KOSTBAR LEKKER APE AS
orgno: "123456789"
secretName: maskinporten-secret
Hemmelighet opprettet av Digdirator etter fullført klientregistrering
apiVersion: v1
kind: Secret
metadata:
name: maskinporten-secret
namespace: tilgangsstyring-main
data:
MASKINPORTEN_CLIENT_ID: ++++++++
MASKINPORTEN_CLIENT_JWK: ++++++++
MASKINPORTEN_ISSUER: ++++++++
MASKINPORTEN_JWKS_URI: ++++++++
MASKINPORTEN_SCOPES: ++++++++
MASKINPORTEN_TOKEN_ENDPOINT: ++++++++
MASKINPORTEN_WELL_KNOWN_URL: ++++++++
type: Opaque