Kontroller kundeskille i en SaaS-applikasjon
En konkret kontrollplan for datatilgang, eksporter og bakgrunnsjobber mellom atskilte kundeområder.

Definer kundeområdet først
En tenant er et avgrenset kundeområde i applikasjonen din. Det trenger verken være én person eller alltid en hel bedrift. Avklar hvilke data som hører sammen, hvem som kan være medlem, og hvilke oppgaver hver rolle kan utføre. En brukerkonto kan ha flere medlemskap; innlogging alene velger ikke et tillatt dataomfang.
Microsoft skiller den logiske tenanten fra den tekniske utrullingen. Egen database og delte tabeller stiller ulike krav til drift og tilgangsvern. Ingen variant erstatter kontroll av alle tiltenkte tilgangsveier.
En kontrollplan med to oppdiktede kundeområder
Planlegg tilfellene med syntetiske data i et separat testmiljø. Dette er forventede resultater, ikke en gjennomført sikkerhetstest. Områdene heter TA og TB. Oppdrag SV-12 tilhører TA, oppdrag SV-41 tilhører TB. Testkontoene har de tiltenkte oppdragsrettighetene bare i sitt eget område.
Kontrollert tilgang | Handling | Forventet resultat |
|---|---|---|
Berettiget konto i | Lese | Bare egne oppdragsdata som rollen har lov til å se, vises. |
Samme konto i | Lese eller endre | Ingen data fra |
Konto i | Søke og eksportere | Resultater og fil inneholder ingen data fra |
Først konto fra | Bruke samme tilgangsvei til serverens cache |
|
Konto i | Sette eksport i kø, fjerne tilgang før behandling | Bakgrunnsjobben kontrollerer igjen og avvises etter denne testregelen. |
Kontroller data og faktiske endringer på serveren. En skjult knapp beviser ikke skille. Bruk også en kjent objektidentifikator fra et annet område: En identifikator som er vanskelig å gjette, må ikke være eneste tilgangshinder.
Før grensen gjennom hele flyten
OWASP krever serververifisert tenantkontekst og passende autorisering. Områdeidentifikatorer sendt av klienten er et valg, ikke en rettighet. Kontroller gjeldende medlemskap, tillatt handling og målobjektets tilhørighet. Mangler nødvendig kontekst, skal applikasjonen ikke falle tilbake på en ubegrenset spørring.
Ta med vedlegg, tenantavhengige cachenøkler, eksporter og utsatt behandling. Bakgrunnsjobber krever pålitelig videreføring av kontekst og autorisering og passende kontroller ved behandling. Avklar hvordan rettigheter fjernet i mellomtiden håndteres.
Offentlig, globalt innhold trenger ingen kunstig tenanttilknytning. Plattformoppgaver på tvers av områder trenger derimot en eksplisitt autorisert identitet og sporbar tilgang. Registrer forventet resultat, faktisk funn og retting separat for hvert tilfelle. Gjenta berørte kontroller når tilgangsveier eller roller endres.
Kilder
Les videre
Alle artikler




Programvareutvikling med ASES
Skreddersydd programvare, web- og mobilapper



