Skip to content

Produksjonsherdning

Anbefalinger for å sikre Lumi-installasjonen i produksjon. Alle eksemplene bruker lumi_sk_live_...-nøkkelen som DevOps-ansvarlig har hentet fra dashboardet.

Origin-validering

pk_-nøkler kan låses til spesifikke origins. Widgeten kan da kun sende inn svar fra tillatte domener — alle andre origins avvises med 403 Forbidden.

sh
# Opprett en pk_-nøkkel begrenset til produksjonsdomenet
curl -X POST https://lumi.din-bedrift.no/api/v1/admin/api-keys \
  -H "Authorization: Bearer lumi_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "keyType": "pk",
    "appName": "min-web-app-prod",
    "allowedOrigins": ["https://app.din-bedrift.no"]
  }'

Miljøseparasjon

Bruk separate nøkler for dev, staging og prod — én per team og miljø. Da kan du revokere enkeltmiljøer uten å påvirke de andre.


Rate limiting

Alle pk_-nøkler har en rate limit. Standard er 1000 forespørsler per 30 sekunder per nøkkel. Overskrides grensen, returneres 429 Too Many Requests.

sh
# Opprett nøkkel med tilpasset rate limit
curl -X POST https://lumi.din-bedrift.no/api/v1/admin/api-keys \
  -H "Authorization: Bearer lumi_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "keyType": "pk",
    "appName": "høy-volum-app",
    "allowedOrigins": ["https://app.din-bedrift.no"],
    "rateLimit": 5000
  }'

Nøkkelrotasjon

Roter sk_- eller pk_-nøkler uten nedetid ved hjelp av grace period. Den gamle nøkkelen fortsetter å fungere i det angitte antallet timer mens du ruller ut den nye.

sh
# Roter nøkkel med 72 timers grace period
curl -X POST https://lumi.din-bedrift.no/api/v1/admin/api-keys/{id}/rotate \
  -H "Authorization: Bearer lumi_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"gracePeriodHours": 72}'

Respons (201 Created):

json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "key": "lumi_pk_live_...",
  "keyType": "pk",
  "team": "mitt-team",
  "appName": "min-web-app"
}

Anbefalt rotasjonsrutine:

  1. Roter nøkkelen og noter ned den nye verdien
  2. Oppdater miljøvariabelen i appen din og deploy
  3. Grace period på 72 timer gir rom for gradvis utrulling
  4. Den gamle nøkkelen utløper automatisk

Revokering (umiddelbar)

Revokering trer i kraft øyeblikkelig og kan ikke angres. Bruk dette ved mistanke om lekkasje.

sh
# Revokere en nøkkel umiddelbart
curl -X DELETE https://lumi.din-bedrift.no/api/v1/admin/api-keys/{id} \
  -H "Authorization: Bearer lumi_sk_live_..."

Respons: 204 No Content

Ugjenopprettelig handling

En revoker nøkkel kan ikke gjenopprettes. Opprett en ny nøkkel og oppdater appen din.


Miljøseparasjon

Anbefalt mønster for å holde dev, staging og prod atskilt:

MiljøTeam-slugNøkkelprefixallowedOrigins
Produksjonprodukt-prodlumi_pk_live_...https://app.din-bedrift.no
Stagingprodukt-staginglumi_pk_live_...https://staging.din-bedrift.no
Utviklingprodukt-devlumi_pk_test_...http://localhost:3000

Hvert team har sitt eget sett med nøkler og egne survey-data i dashboardet.


Se også

Lumi Analytics — bygget på navikt/lumi (MIT-lisens)