Data veilig delen met OpenSharing
In deze les ga je
- Shares, providers en recipients beschrijven als securable objects
- Kiezen tussen de open route en de Databricks-to-Databricks-route
- Een geminimaliseerde goldtabel voor een share ontwerpen
- Shares beheren met eigenaarschap, review, audit en een einddatum
Delen is een beslissing over controle
Vroeg of laat heeft een andere organisatie je data nodig: een leverancier, een partner, een toezichthouder, een onderzoeksgroep. De oude antwoorden zijn exports, gemailde bestanden en gedeelde opslagsleutels. Elk ervan geeft een kopie weg die je niet meer kunt zien, bijwerken of intrekken.
OpenSharing is het datadelingsplatform van Databricks. De actuele documentatie gebruikt die naam. Oudere teksten, en veel bestaande code en artikelen, noemen het Delta Sharing. Lees je beide namen, dan gaat het om dezelfde deelbenadering, dus zoek op beide als je voorbeelden zoekt.
In deze les bepalen we wanneer je deelt, welke vorm van delen je gebruikt en hoe je de controle houdt nadat de data je verlaat. Marketplace-listings en clean rooms behandelen we niet uitgebreid.
Wat het is
De documentatie beschrijft OpenSharing als het veilige datadelingsplatform in Databricks om data en AI-assets te delen met mensen buiten je organisatie, of ze nu Databricks gebruiken of niet. Het is een open protocol dat ook onder Databricks Marketplace en Clean Rooms ligt.
Drie concepten dragen het model:
| Concept | Wat het is |
|---|---|
| Share | Een alleen-lezen verzameling tabellen en partities. Voor Unity Catalog-ontvangers kan hij ook views, volumes, modellen en notebookbestanden bevatten. Een share is een securable object |
| Provider | De partij die de data deelt. De ingebouwde server gebruiken vraagt minstens één Unity Catalog-workspace |
| Recipient | De partij die shares ontvangt. Een recipient is ook een securable object en wordt voor elke metastore apart gedefinieerd |
De provider houdt de data waar ze is. De ontvanger leest een live weergave van de gedeelde objecten, dus er is geen kopie om te mailen en de provider kan de share wijzigen of beëindigen.
Twee manieren om te delen
| Databricks-to-open | Databricks-to-Databricks | |
|---|---|---|
| Wie kan ontvangen | Iedereen, op elk computeplatform | Een ontvanger met een Unity Catalog-workspace |
| Hoe de ontvanger zich authenticeert | Een bearer token of OIDC-federatie | Geen token nodig |
| Objecten die je kunt delen | Tabellen en partities | Meer: notebookbestanden, volumes, modellen en metric views |
| Hoe de ontvanger leest | Apache Spark, pandas, Power BI en andere tools | Koppelt de share als catalog in de eigen workspace |
Kies op de ontvanger. Een partner op een ander platform heeft de open route nodig. Een zusterbedrijf op Databricks krijgt de rijkere Databricks-to-Databricks-route, waarbij het de share als catalog koppelt. Koppelen vraagt het privilege CREATE CATALOG en het accepteren van een e-mailuitnodiging voor een Databricks-to-Databricks-share vraagt het privilege CREATE PROVIDER.
De documentatie labelt één functie als Beta: OpenSharing via e-mail, die een accountbeheerder op de Previews-pagina moet inschakelen. Er gelden beperkingen, zoals geen OIDC-federatie en geen groepen of service principals als ontvanger. Behandel het als pilot totdat de status verandert.
De stappen voor delen
In grote lijnen: maak de share, voeg de objecten toe, maak de recipient en geef de recipient toegang tot de share.
Illustratie
-- Schematisch overzicht. Controleer de exacte syntaxis in de actuele OpenSharing-referentie.
CREATE SHARE prd_finance_invoices_for_partner;
ALTER SHARE prd_finance_invoices_for_partner
ADD TABLE prd_finance.gold.invoices_shared; -- een samengestelde tabel, nooit ruwe data
CREATE RECIPIENT partner_acme; -- open recipient: je stuurt een activatielink
GRANT SELECT ON SHARE prd_finance_invoices_for_partner TO RECIPIENT partner_acme;De documentatie noemt dat CREATE RECIPIENT delen via e-mail niet ondersteunt. Volg de actuele referentie voor de exacte stroom die bij jouw ontvangertype past.
Deel een samengesteld object
De belangrijkste ontwerpregel: deel een voor het doel gebouwde goldtabel of view, nooit je werktabellen. De ontvanger ziet precies wat in de share zit en niets anders wordt blootgesteld, dus de share is ook je privacycontrole.
- Maak een eigen schema, bijvoorbeeld
gold_share, met per ontvangerdoel een tabel. - Neem alleen de kolommen op die de ontvanger nodig heeft. Pas dataminimalisatie toe: heeft de partner een status en een datum nodig, deel dan geen namen.
- Pseudonimiseer of aggregeer als het doel dat toelaat.
- Documenteer per share het doel, de grondslag of overeenkomst, de eigenaar en de einddatum.
Rijfilters, maskers en delen
Les 4 noemde een beperking die hier telt: de documentatie zegt dat tabellen met rijfilters of kolommaskers op tabelniveau niet via OpenSharing kunnen worden gedeeld. Probeer geen beschermde tabel te delen met het filter als vangnet. Bouw in plaats daarvan een fysieke, geminimaliseerde tabel voor de share in een pipelinestap die dezelfde regels toepast en deel die tabel. Je krijgt ook een tabel die je kunt testen en versioneren.
Governance van shares
Omdat shares en recipients securable objects zijn, geldt de standaard governance:
- Eigenaarschap door een groep. De platformgroep voor datadeling is eigenaar van shares en recipients.
- Least privilege op wie mag delen. Shares en recipients maken en er rechten op geven is een geprivilegieerde actie. Zet het achter een groep en review het.
- Review elk kwartaal. Lijst actieve shares en recipients, eigenaren en laatste toegang op. Beëindig shares die niemand gebruikt.
- Audit. Deelgebeurtenissen verschijnen in de auditlogs uit les 5. Alarmeer bij een nieuwe recipient en bij een nieuw object in een bestaande share.
- Eerst afspraken. Voor een share bestaat, is er een overeenkomst: doel, toegestaan gebruik, bewaartermijn en een contactpersoon.
Definieer shares en recipients in Terraform, net als rechten, zodat wijzigingen door een pull request gaan (les 7).
Beveiliging van het credential
Een ontvanger op basis van een token krijgt een activatielink en een credentialbestand. Behandel het als geheim.
- Stuur het via een kanaal dat de ontvanger beheert, niet via een gedeelde mailbox.
- Stel een vervaldatum in en roteer het.
- Lekt een credential, trek het dan in en geef een nieuw uit. De share en de data blijven zoals ze zijn.
- Geef de voorkeur aan OIDC-federatie boven bearer tokens waar het platform van de ontvanger dat ondersteunt.
Regio's en dataresidentie
Controleer waar de data heen mag. Houd voor EU-klanten persoonsgegevens in de afgesproken regio en bevestig dat de leeslocatie van de ontvanger onder de overeenkomst acceptabel is. Een live share voorkomt een kopie, wat helpt, maar data over een grens lezen is nog steeds een doorgifte.
Veelgemaakte fouten
- Werktabellen delen. Deel een samengestelde tabel.
- Een filter in plaats van een geminimaliseerde tabel. Filters en maskers blokkeren delen en een kopie is sowieso netter.
- Geen einddatum. Shares overleven projecten.
- Gelekte credentials via e-mail. Gebruik een beheerd kanaal en een vervaldatum.
- Delen voor de overeenkomst is getekend.
Samenvatting
Gebruik OpenSharing voor gecontroleerde, live toegang tot samengestelde data. Kies de open route of de Databricks-to-Databricks-route op basis van de ontvanger. Deel een geminimaliseerde goldtabel, beheer shares en recipients als securable objects, definieer ze in code en audit ze.
Volgende les: het laatste onderdeel, governance als code met Terraform.
Het idee in één schema
Van samengestelde tabel naar ontvanger
- Samengestelde goldtabelGeminimaliseerde kolommen
- Share
- RecipientOpen of Databricks-to-Databricks
- Audit en review
- Einddatum
Kenniscontrole
Beantwoord elke vraag. Je ziet meteen de reden achter elk antwoord.
0 van 3 beantwoord
Praktisch lab
Doel. Schrijf een deelontwerp en een minimalisatiecontrole voor één externe partner.
Waar je het draait
Lokale Python Draai dit lab op je eigen computer met Python 3.10 of nieuwer in een virtuele omgeving.
Stappen
- Kies een partnerscenario: een transportleverancier heeft leverstatus en datum nodig voor orders die hij afhandelt.
- Schrijf SHARE.md met doel, overeenkomst, eigenaar, einddatum, recipienttype en route (open of Databricks-to-Databricks) met een reden.
- Maak columns.csv met alle kolommen van de bron-goldtabel met een classificatie (nodig, persoonlijk, intern).
- Schrijf een Python-controle die faalt als de kolomlijst van de share een kolom bevat die niet nodig is.
- Voeg de reviewchecklist uit de les toe als sectie: kwartaalreview, auditalert, credentialrotatie.
Verwacht resultaat
Een volledig ontwerpdocument en een controle die de geminimaliseerde kolomlijst laat slagen en een lijst met een toegevoegde persoonlijke kolom laat falen.
Verdiepen
Officiële documentatie en aanbevolen cursussen van de aanbieders.
- Databricks
- Betaald examen
- Gevorderd
Databricks Certified Data Engineer Professional
Het gevorderde certificaat voor productiepipelines, streaming, beveiliging en performance.
- docs.databricks.com
OpenSharing
- docs.databricks.com
Rijfilters en kolommaskers
Open de documentatie : Rijfilters en kolommaskers. Opent bij de aanbieder
Bronnen
Laatst gecontroleerd 2026-11-11
We controleren elke bron aan de hand van de officiële documentatie. Producten veranderen, dus bevestig details daar voordat je bouwt.