Security Center¶
Security Center is de selfservice toegangsbeheer-UI van het platform. Product owners registreren hier dataproducten, teams vragen toegang aan en krijgen die, en row-level/column-level beveiligingsbeleid wordt opgesteld, allemaal afgedwongen door de native OPA access-control plugin van Trino (zie de sectie “Querying data” in Aan de slag: Sovereign Data Platform), zonder dat er ooit handmatig Rego geschreven hoeft te worden.
Kernconcepten¶
Voor een stapsgewijze uitleg met schermafbeeldingen, zie Gebruikershandleiding.
Concept |
Wat het is |
|---|---|
Product |
Een geregistreerde tabel ( |
Team |
Een groep gebruikers (en applicaties) die producten bezit en/of toegang aanvraagt tot producten van andere teams. Lidmaatschap kan gebruikers, groepen of applicaties omvatten. |
Rol |
Een benoemd toegangsniveau, gebonden aan één product (bijv. |
Toegangsaanvraag |
De aanvraag van een team om een van zijn leden een rol op een product toe te kennen. Doorloopt een workflow van aanvraag → goedkeuren/afwijzen; goedgekeurde toegang kan later worden ingetrokken. |
RLS-regel |
Row-level security: een set predicaten ( |
CLS-regel |
Column-level security: een kolommasker gebonden aan een rol. Een van vier vaste mask-types: |
Toegang tot een product aanvragen¶
Zoek of blader via de Catalogus-boom door de geregistreerde producten. Het aanvragen van toegang tot de rol van een product dient namens je team een toegangsaanvraag in, met een toelichting en contactpersoon — zichtbaar voor de eigenaar van dat product ter goedkeuring. Je openstaande en eerdere aanvragen, in elke status, zie je in je eigen overzicht; er wordt niets verleend totdat een productowner het goedkeurt.
Toegangsaanvragen goedkeuren (product owners)¶
Op het tabblad Beheer van een product ziet een owner elke openstaande toegangsaanvraag voor de rollen van dat product en kan die goedkeuren, afwijzen of eerder goedgekeurde toegang later intrekken. Owners kunnen ook extra rollen aanmaken naast de gereserveerde rol owner (kleine letters, beginnend met een letter, bijv. analyst) — elke nieuwe rol is direct beschikbaar als aanvraagdoel en als RLS/CLS-scope.
Admintaken¶
Gebruikers met de adminrol krijgen een menu Beheer met drie onderdelen, stap voor stap beschreven in Beheerderstraject:
Gebruikersbeheer: platformgebruikers en teams beheren.
Product synchronisatie en Unity Catalog: catalogusinstellingen, synchronisatie en het verwijderen van een catalogus zonder tabellen (de API-aanroep is
DELETE /admin/unity-catalog/catalogs/{catalog}?confirm=<naam>, alleen voor beheerders; de catalogisystemenmainzijn beschermd).Admin panel (producten): een product of team direct verwijderen (het verwijderen van een team verwijdert ook al zijn groepen; mislukt als het team nog afhankelijke state heeft), een product adopteren dat door de Trino-syncjob is ontdekt maar waarvan nog geen team eigenaarschap heeft geclaimd, en handmatig een Trino sync starten om het productregister van Security Center te reconciliëren met wat er daadwerkelijk in Trino bestaat.
Hoe de handhaving daadwerkelijk werkt¶
Security Center zelf communiceert nooit met Trino tijdens het uitvoeren van een query. Elke via de UI opgestelde RLS/CLS-regel wordt gecompileerd naar Rego en verpakt in een per-klant OPA-bundle; de Trino OPA-plugin van elke klant pollt periodiek zijn eigen /trino/{customer}/bundle.tar.gz-endpoint en neemt regelwijzigingen automatisch over, zonder dat daar een Trino-herstart of handmatige policy-deployment voor nodig is. Dat endpoint wordt geauthenticeerd met een statische bearer-token die eenmalig bij deployment wordt gedeeld tussen Security Center en de OPA-instantie van de klant, niet met een per-request Keycloak-token (OPA heeft geen eigen Keycloak-identiteit om te presenteren).
Spark volgt dezelfde regels. Een gebruiker wiens rol een rijfilter of kolommasker heeft, leest die tabel in een notebook via Trino, zodat het filter en het masker daar ook worden toegepast; zo’n toegang is alleen-lezen.