Naar de inhoud

Klantomgevingen in een SaaS-toepassing gescheiden houden

Een concreet controleplan voor gegevens, exports en achtergrondtaken tussen gescheiden klantomgevingen.

Nora Henning2 min leestijd
Verdeelde bak met roze en groene kaartenstapels in aparte vakken.

Definieer eerst de klantomgeving

Een tenant is een afgebakende klantomgeving in uw toepassing. Dat hoeft geen enkele persoon of altijd een heel bedrijf te zijn. Bepaal welke gegevens bij elkaar horen, wie lid mag zijn en welke taken elke rol mag uitvoeren. Een gebruikersaccount kan meerdere lidmaatschappen hebben; aanmelden alleen kiest nog geen toegestane gegevensscope.

Microsoft onderscheidt de logische tenant van de technische uitrol. Een eigen database en gedeelde tabellen stellen verschillende eisen aan beheer en toegangsbeveiliging. Geen optie vervangt het controleren van alle bedoelde toegangspaden.

Een controleplan met twee fictieve klantomgevingen

Plan deze gevallen met synthetische gegevens in een aparte testomgeving. Het zijn verwachte resultaten, geen uitgevoerde beveiligingstest. De omgevingen heten TA en TB. Opdracht SV-12 hoort bij TA, opdracht SV-41 bij TB. Elk testaccount heeft de bedoelde opdrachtbevoegdheden alleen binnen de eigen omgeving.

Gecontroleerde toegang

Actie

Verwacht resultaat

Bevoegd account in TA

SV-12 lezen

Alleen eigen opdrachtgegevens die deze rol mag zien verschijnen.

Hetzelfde account in TA

SV-41 direct lezen, wijzigen of de bijlage ophalen

Geen gegevens uit TB worden teruggegeven of gewijzigd.

Account in TA

Zoeken en exporteren

Resultaten en bestand bevatten geen gegevens uit TB.

Eerst account uit TB, daarna account uit TA

Hetzelfde toegangspad naar de servercache gebruiken

TA krijgt geen eerder voor TB opgeslagen resultaten.

Account in TA

Export inplannen, vóór verwerking toegangsrecht intrekken

De achtergrondtaak controleert opnieuw en wordt volgens deze testregel geweigerd.

Controleer gegevens en werkelijke wijzigingen op de server. Een verborgen knop bewijst geen scheiding. Gebruik ook een bekende objectidentificatie uit een andere omgeving: een lastig te raden identificatie mag niet de enige toegangsdrempel zijn.

Bewaak de grens in het hele proces

OWASP vraagt om servergeverifieerde tenantcontext en passende autorisatie. Omgevingsidentificaties van de client zijn een selectie, geen recht. Controleer actueel lidmaatschap, toegestane actie en de omgeving van het doelobject. Ontbreekt vereiste context, dan mag de toepassing niet terugvallen op een onbeperkte query.

Neem bijlagen, tenantafhankelijke cachesleutels, exports en uitgestelde verwerking mee. Achtergrondtaken vragen betrouwbare overdracht van context en autorisatie, met passende controles bij verwerking. Bepaal hoe tussentijds ingetrokken rechten worden behandeld.

Openbare, globale inhoud vraagt geen kunstmatige tenantvereiste. Platformtaken over omgevingen heen vragen wel een expliciet bevoegde identiteit en traceerbare toegang. Leg verwacht resultaat, werkelijke bevinding en correctie per geval apart vast. Herhaal getroffen controles als toegangspaden of rollen veranderen.

Bronnen

Geschreven door

  • Nora HenningRedacteur IT-beveiligingNora Henning verzorgt bij ASES de redactionele content over IT-beveiliging. Ze schrijft over de beveiliging van applicaties en legt uit hoe toegangsrechten en de bescherming van bedrijfsgegevens samenhangen.

ASES volgen

Verder lezen

Alle artikelen

Softwareontwikkeling met ASES

Maatwerksoftware, web- en mobiele apps