Samenvatting
Databricks Apps krijgt OBO-autorisatie, zodat apps acties uitvoeren met de rechten van de ingelogde gebruiker.
Databricks Apps met OBO-autorisatie
Databricks maakt on-behalf-of-user-autorisatie, kortweg OBO, algemeen beschikbaar voor Databricks Apps. Apps kunnen daardoor namens de ingelogde gebruiker ondersteunde Databricks-API’s aanroepen, terwijl Unity Catalog diens bestaande rechten toepast.
De app gebruikt voor eigen taken een dedicated service principal. Denk aan het lezen van gedeelde configuratie of het schrijven van applicatiemetrieken. Voor handelingen op gebruikersgebonden data schakelt de app over naar de identiteit van de gebruiker. API-scopes begrenzen vervolgens welke acties de app namens die gebruiker mag uitvoeren.
Waarom Databricks Apps en OBO belangrijk zijn
Databricks Apps ondersteunt hiermee twee autorisatiemodellen binnen één toepassing: app-autorisatie en gebruikersautorisatie. De keuze hangt af van de vraag welke identiteit een handeling moet bepalen. Achtergrondtaken en gedeelde metadata passen bij de app-identiteit; query’s en acties op afgeschermde data gebruiken OBO.
Die scheiding voorkomt dat ontwikkelaars governance-regels opnieuw in applicatiecode moeten bouwen. Unity Catalog blijft verantwoordelijk voor bestaande databeperkingen, waaronder row filters en column masks. Een sales-assistent kan daardoor alleen accounts en velden tonen die de betreffende verkoper mag bekijken, zonder brede SQL- of workspacebevoegdheden aan de app toe te kennen.
Databricks legt daarnaast beveiligingsregels vast voor productiegebruik: houd app- en gebruikersclients gescheiden, gebruik het doorgestuurde token alleen voor het actieve verzoek en weiger toegang wanneer het token ontbreekt. Gebruikerstokens mogen niet worden opgeslagen.
Concrete takeaway voor Databricks Apps
Breng per request-pad in kaart wiens rechten de handeling moeten bepalen. Gebruik een service principal voor app-eigen werk en OBO voor acties die de rechten van de ingelogde gebruiker moeten volgen. Controleer daarbij de API-scopes, Unity Catalog-permissies en het tokenbeheer voordat je de app uitrolt.
Verdiep je kennis
Data lakehouse uitgelegd — Het beste van twee werelden
Wat is een data lakehouse en waarom combineert het het beste van data warehouses en data lakes? Vergelijking, architectu...
KennisbankETL uitgelegd — Extract, Transform, Load in gewone taal
Wat is ETL? Leer hoe Extract, Transform en Load werkt, het verschil met ELT, en welke tools je kunt gebruiken. Helder ui...