Kontrollér kundeadskillelse i en SaaS-applikation
En konkret kontrolplan for dataadgang, eksporter og baggrundsopgaver mellem adskilte kundemiljøer.

Definér først kundemiljøet
En tenant er et afgrænset kundemiljø i din applikation. Det behøver hverken være én person eller altid en hel virksomhed. Fastlæg hvilke data der hører sammen, hvem der kan være medlem, og hvilke opgaver hver rolle må udføre. En brugerkonto kan have flere medlemskaber; login alene vælger ikke et tilladt dataområde.
Microsoft skelner mellem den logiske tenant og den tekniske udrulning. En egen database og delte tabeller stiller forskellige krav til drift og adgangsbeskyttelse. Ingen variant erstatter kontrol af alle tilsigtede adgangsveje.
En kontrolplan med to opdigtede kundemiljøer
Planlæg disse tilfælde med syntetiske data i et separat testmiljø. Det er forventede resultater, ikke en udført sikkerhedstest. Miljøerne hedder TA og TB. Opgave SV-12 tilhører TA, opgave SV-41 tilhører TB. Testkontiene har kun de tilsigtede opgaverettigheder i deres eget miljø.
Kontrolleret adgang | Handling | Forventet resultat |
|---|---|---|
Berettiget konto i | Læse | Kun egne opgavedata, som rollen må se, vises. |
Samme konto i | Læse eller ændre | Ingen data fra |
Konto i | Søge og eksportere | Resultater og fil indeholder ingen data fra |
Først konto fra | Bruge samme adgangsvej til serverens cache |
|
Konto i | Sætte eksport i kø, fjerne adgang før behandling | Baggrundsopgaven kontrollerer igen og afvises efter denne testregel. |
Kontrollér data og faktiske ændringer på serveren. En skjult knap beviser ikke adskillelse. Brug også en kendt objektidentifikator fra et andet miljø: En identifikator, der er svær at gætte må ikke være den eneste adgangsbarriere.
Før grænsen gennem hele forløbet
OWASP kræver serververificeret tenantkontekst og passende autorisation. Miljøidentifikatorer sendt af klienten er et valg, ikke en rettighed. Kontrollér aktuelt medlemskab, tilladt handling og målobjektets tilhørsforhold. Mangler den nødvendige kontekst, må applikationen ikke falde tilbage til en ubegrænset forespørgsel.
Medtag bilag, tenantafhængige cachenøgler, eksporter og forsinket behandling. Baggrundsopgaver kræver pålidelig overførsel af kontekst og autorisation samt passende kontrol under behandling. Fastlæg håndteringen af rettigheder, der er fjernet i mellemtiden.
Offentligt, globalt indhold behøver ikke en kunstig tenanttilknytning. Platformopgaver på tværs kræver derimod en udtrykkeligt berettiget identitet og sporbar adgang. Registrér forventet resultat, faktisk fund og rettelse særskilt for hvert tilfælde. Gentag berørte kontroller ved ændringer i adgangsveje eller roller.
Kilder
Læs videre
Alle artikler




Softwareudvikling med ASES
Skræddersyet software, web- og mobilapps



