M365Con 2027 – gratis online conferentie · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Je Power Pages-portaal beveiligen: een diepgaande blik op tabelmachtigingen en scopes

By ·

Welkom terug bij de podcastblog! Bij het bouwen van webapplicaties voor klanten op het Microsoft Power Platform mag beveiliging nooit een bijzaak zijn. Power Pages is een geweldig hulpmiddel om snel robuuste externe portalen uit te rollen die rechtstreeks met Dataverse verbonden zijn. Maar met grote macht komt grote verantwoordelijkheid, en die verantwoordelijkheid is concreet: zorgen dat de gevoe

Automatically translated with AI from the original post. Read the English original

▶ BLOGSecuring Your PowerPages Portal: A Deep…M365.FM
Titelbild: Securing Your Power Pages Portal: A Deep Dive into Table Permissions and Scopes

Welkom terug bij de podcastblog! Bij het bouwen van webapplicaties voor klanten op het Microsoft Power Platform mag beveiliging nooit een bijzaak zijn. Power Pages is een geweldig hulpmiddel om snel robuuste externe portalen uit te rollen die rechtstreeks met Dataverse verbonden zijn. Maar met grote macht komt grote verantwoordelijkheid, en die verantwoordelijkheid is concreet: zorgen dat de gevoelige gegevens van je organisatie niet per ongeluk bij het publiek terechtkomen of de grenzen van je organisatie overschrijden.

In deze blog gaan we uitgebreid in op de kernconcepten van architectuur en beveiliging die we in onze recente aflevering hebben besproken. Heb je die nog niet beluisterd? Bekijk dan zeker de aflevering Build Customer Portals with Power Pages and Dataverse voor een volledige walkthrough van het instellen van je omgeving, het afhandelen van externe identiteiten en het uitrollen van je eerste portaaloplossing.

Laten we diep ingaan op de werking van Power Pages-beveiliging, te beginnen met hoe je je gegevensgrenzen bepaalt en tabelmachtigingen onder de knie krijgt.

Inleiding tot Power Pages-beveiliging

Wanneer je een Power Pages-site voor het eerst opzet, biedt het platform een flexibel en zeer aanpasbaar canvas. Onder dat canvas ligt echter een directe verbinding met je Microsoft Dataverse-omgeving. Als je beveiligingsinstellingen verkeerd zijn beheerd, kan elk afzonderlijk record in je database via een onbeveiligd eindpunt of een slecht afgebakende lijstweergave worden blootgesteld.

Beveiliging in Power Pages berust op een gelaagde verdedigingsstrategie. In de buitenste laag staan authenticatiemechanismen, zoals Azure AD B2C, lokale accounts of externe identiteitsproviders, die ervoor zorgen dat gebruikers aantonen wie ze zijn. In de binnenste laag vind je webrollen en Dataverse-tabelmachtigingen. Deze machtigingen bepalen precies wat geauthenticeerde identiteiten kunnen zien, aanmaken, bijwerken of verwijderen. Dit goed regelen maakt het verschil tussen een veilig zakelijk portaal en een grote datalek dat wacht om te gebeuren.

Je gegevensgrenzen en tabelmachtigingen plannen

Voordat je ook maar één knop in de Power Pages Studio aanraakt, moet je een whiteboard pakken en je gegevensgrenzen zorgvuldig in kaart brengen. Dit zijn waarschijnlijk de belangrijkste 15 minuten van de hele levenscyclus van je portaalproject.

Begin met een volledige inventaris van elke Dataverse-tabel die je aan je externe gebruikers wilt tonen. Bepaal voor elke tabel de absoluut noodzakelijke CRUD-acties. Heeft een klant echt de mogelijkheid nodig om een factuur te verwijderen, of is alleen Read- en Append-toegang voldoende? Zodra je de acties hebt vastgelegd, moet je de recordscope per tabel bepalen:

Door deze grenzen vroeg in kaart te brengen, leg je een basislijn van least privilege vast voordat er in je ontwikkelomgeving iets wordt geconfigureerd.

Het verschil tussen contact- en accountscopes begrijpen

Een van de meest voorkomende verwarringen voor makers die nieuw zijn met Power Pages is het onderscheid tussen contact- en accountscopes. Een verkeerde keuze van scope kan de gebruikerservaring volledig breken doordat relevante bedrijfsgegevens verborgen blijven, of kan vertrouwelijke gegevens onbedoeld blootstellen aan onbevoegden.

De contactscope is bedoeld voor portalen voor individuele, consumentachtige gebruik. Als een gebruiker inlogt en een supportticket indient, zorgt een machtiging met contactscope ervoor dat hij alleen cases kan zien waarin hij uitdrukkelijk als primair contact of maker is vermeld. Als een andere gebruiker van precies hetzelfde bedrijf inlogt, ziet die de persoonlijke supporttickets van zijn collega niet.

Aan de andere kant is de Account scope bedoeld voor B2B-portalarchitecturen. In een B2B-scenario wil je dat een accountmanager of een hoofdinkoper alle zaken, orders en facturen kan zien die aan het bovenliggende accountbedrijf zijn gekoppeld. Wanneer je een Account scope toekent aan een tabelmachtiging, bekijkt het portaal het bovenliggende account dat is gekoppeld aan het contactrecord van de ingelogde gebruiker en toont het vervolgens alle gerelateerde onderliggende records van die organisatie. Het correct in kaart brengen van deze relatie in Dataverse is essentieel voor een succesvolle B2B-oplossing.

Webrollen definiëren en de valkuil van de geauthenticeerde gebruikers vermijden

Webrollen vormen de brug tussen je geauthenticeerde gebruikers en je Dataverse-tabelmachtigingen. Power Pages bevat standaard een rol die "Authenticated Users" heet. Hier trappen veel beheerders in een gevaarlijke beveiligingsval.

Iedere gebruiker die succesvol inlogt op je portaal, komt standaard in de rol Authenticated Users terecht. Als je brede tabelmachtigingen, of erger nog machtigingen met Global scope, aan deze standaardrol koppelt, erft iedereen die zich op je site registreert automatisch die ruime rechten. Dit is een groot beveiligingsantipatroon.

Bouw in plaats daarvan eigen, granulaire webrollen die zijn afgestemd op je specifieke gebruikersprofielen. Bijvoorbeeld:

Verwijder altijd onnodige standaardtoegang en zorg dat gebruikers expliciet zijn toegewezen aan speciaal ontworpen rollen op basis van hun relatie met de organisatie.

Veldniveau-zichtbaarheid aanscherpen en PII beschermen

Het beperken van rijtoegang via tabelscopes is maar het halve werk. Je moet ook goed kijken naar welke gegevens binnen afzonderlijke rijen en lijsten zichtbaar zijn. Persoonsgegevens (PII) zoals telefoonnummers, thuisadressen, financiële gegevens of interne medewerkersnotities blootstellen, kan leiden tot ernstige nalevingsschendingen (zoals GDPR- of CCPA-overtredingen).

Bij het bouwen van lijsten en basisformulieren in Power Pages moet je je weergaven zuiveren van gevoelige kolommen. Alleen omdat een veld verborgen is in een formulier aan de voorkant, betekent dat niet dat het niet kan worden bekeken of opgehaald via onderliggende web-API's als de machtigingen te ruim zijn. Gebruik aparte, aangescherpte weergaven (zoals een aangewezen "PublicView") die uitsluitend veilige, gezuiverde kolommen bevatten. Als bepaalde kolommen in de databasetabel moeten blijven staan, overweeg dan kolomniveau-beveiliging in Dataverse toe te passen om de toegang op databasemotorniveau volledig te beperken.

Je portaalmachtigingen penetratietesten

Je kunt er nooit zomaar van uitgaan dat je beveiligingsmodel werkt. Je moet het bewijzen. Voordat je een portaaloplossing naar een test- of productieomgeving brengt, moet je grondige penetratietests uitvoeren op je tabelmachtigingen en routeringslogica.

Richt testgebruikersaccounts in voor elk van je gedefinieerde webrollen. Log in als een standaard CustomerUser en probeer gegevens van een ander contact of account te bekijken. Probeer directe URL-manipulatie en GUID-knoeien door record-ID's in de adresbalk van de browser te wijzigen, om te zien of de server onbevoegde verzoeken correct blokkeert. Controleer bovendien de diagnose- en auditlogs van je portaal om te verifiëren dat pogingen tot privilege-escalatie een passende 403 Forbidden-reactie opleveren.

Conclusie en best practices

Een Power Pages-portaal beveiligen vereist doordachte planning, strikte naleving van het principe van minimale rechten en een grondig begrip van Dataverse-tabelmachtigingen en -scopes. Door af te stappen van gevaarlijke standaardinstellingen zoals de rol Authenticated Users, je tabeltoegang zorgvuldig te beperken tot Contact- of Account-niveau en je veldniveau-zichtbaarheid aan te scherpen, bouw je een klantportaal dat zowel zeer functioneel als uitzonderlijk veilig is.

Om dit onderwerp nog dieper te verkennen en een volledige, end-to-end implementatiegids te zien—inclusief het instellen van externe identiteiten, het ontwerpen van je solutionarchitectuur en de voorbereiding op go-live—luister dan vooral naar onze bijbehorende podcastaflevering: Build Customer Portals with Power Pages and Dataverse. Bedankt voor het lezen, en blijf op de hoogte voor meer experttips over het beheersen van het Microsoft Power Platform!

Power Pages Dataverse Power Platform Microsoft Entra ID Microsoft Whiteboard

Related articles

RSS