Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Tabellen und Ansichten, die durch ABAC-Richtlinien geschützt sind, über OpenSharing freigeben, wenn der Freigabebesitzer von den Richtlinien auf Anbieterseite ausgenommen ist. Auf dieser Seite wird erläutert, wie Sie Tabellen mit Zeilenfiltern und Spaltenmasken freigeben und wie Ansichten behandelt werden, wenn Sie Richtlinien auf der Empfängerseite durchsetzen müssen.
Voraussetzungen
- Databricks Runtime 16.4 oder höher oder serverloses Computing.
- Kontoadministrator- oder Arbeitsbereichsadministratorberechtigungen (zum Erstellen von geregelten Tags).
-
MANAGEBerechtigung für den Zielkatalog oder das Zielschema. -
EXECUTEauf den UDFs. - OpenSharing wurde zwischen dem Anbieter und dem Empfänger konfiguriert. Siehe Was ist OpenSharing?.
Freigeben von Tabellen, die durch ABAC-Richtlinien geschützt sind
Freigabebesitzer können durch ABAC-Richtlinien geschützte Tabellen über OpenSharing freigeben, wenn beide der folgenden Bedingungen erfüllt sind:
- Sie verfügen über die erforderlichen OpenSharing-Berechtigungen.
- Sie sind von den ABAC-Richtlinien ausgenommen (in der
EXCEPTKlausel aufgeführt).
Das folgende Beispiel zeigt eine anbieterseitige Richtlinie, bei der der Freigabebesitzer ausgenommen ist.
-- Provider: row filter policy with the share owner exempted
CREATE POLICY hide_eu_customers
ON CATALOG provider_catalog
ROW FILTER hide_eu
TO `account users`
EXCEPT 'share_owner_group'
FOR TABLES
MATCH COLUMNS has_tag('geo_region') AS region
USING COLUMNS (region);
-- Add the table to the share
CREATE SHARE employees_share;
ALTER SHARE employees_share ADD TABLE provider_catalog.hr.employees;
GRANT SELECT ON SHARE employees_share TO RECIPIENT `recipient_org`;
Die ABAC-Richtlinie des Anbieters steuert nicht den Zugriff des Empfängers. Da der Anteilseigner von der anbieterseitigen Richtlinie ausgenommen ist, sieht der Empfänger standardmäßig ungefilterte oder unmaskierte Daten. Empfänger können ihre eigenen ABAC-Richtlinien auf geteilte Tabellen, Ansichten (Beta), materialisierte Ansichten und Streaming-Tabellen anwenden, um die Zugriffskontrolle auf ihrer Seite durchzusetzen.
- Informationen zu Freigabeanbietern finden Sie unter Hinzufügen von Tabellen und Schemas, die durch ABAC-Richtlinien geschützt sind, zu einer Freigabe.
- Informationen zu Freigabeempfängern finden Sie unter Lesen von ABAC-geschützten Daten und Anwenden von ABAC-Richtlinien.
Ansichten freigeben, die durch ABAC-Richtlinien geschützt sind
Freigabebesitzer können auch Ansichten freigeben, die auf ABAC-geschützte Basistabellen verweisen. Wie beim direkten Freigeben von Tabellen muss der Freigabebesitzer von ABAC-Richtlinien für die zugrunde liegenden Tabellen ausgenommen sein.
Hinweis
Sie können ABAC-Richtlinien auf eine geteilte Ansicht auf der Empfängerseite anwenden, wenn die Vorschau für ABAC für Ansichten (Beta) aktiviert ist. Die von dir definierten Zeilenfilter und Spaltenmasken werden beim Abfragen der geteilten Ansicht durchgesetzt. Wenn Sie die ABAC on Views-Vorschau nicht aktivieren können oder der Anbieter Basistabellen statt Views teilt, wenden Sie ABAC-Richtlinien auf die gemeinsamen Tabellen an und bauen Sie stattdessen Empfänger-lokale Ansichten darüber. Siehe Empfänger-lokale Ansichten für freigegebene Tabellen.
-- Provider: row filter policy with the share owner exempted
CREATE POLICY hide_eu_customers
ON CATALOG provider_catalog
ROW FILTER hide_eu
TO `account users`
EXCEPT 'share_owner_group'
FOR TABLES
MATCH COLUMNS has_tag('geo_region') AS region
USING COLUMNS (region);
-- Add the view to the share
ALTER SHARE employees_share ADD VIEW provider_catalog.hr.employees_view AS hr.employees_view;
GRANT SELECT ON SHARE employees_share TO RECIPIENT `recipient_org`;
Hinweis
Wenn Sie Ansichten vor dem 23. April 2026 freigegeben haben, müssen Sie möglicherweise Ihre ABAC-Richtlinien aktualisieren. Vor diesem Datum musste der Ansichtsbesitzer von Richtlinien für die zugrunde liegenden Tabellen ausgenommen werden. Ab dem 23. April 2026 muss der Aktienbesitzer stattdessen ausgenommen werden. Wenn Databricks Sie als potenziell betroffenen Kunden kontaktiert hat, müssen Sie bis zum 22. Juli 2026 Ihre EXCEPT Klauseln aktualisieren.
Empfängerbezogene Ansichten für freigegebene Tabellen
Wenn Sie möchten, dass Nutzer auf der Empfängerseite Daten über Ansichten konsumieren und sensible Daten geschützt werden müssen, teilen Sie die Basistabellen und legen Sie ABAC-Richtlinien darauf fest. Der Empfänger erstellt lokal Ansichten über die freigegebenen Tabellen, und die Richtlinien für die Basistabellen werden berücksichtigt, wenn über diese Ansichten auf Daten zugegriffen wird. In diesem Fall müssen Sie keine anbieterseitigen Ansichten freigeben.
Dieser Ansatz funktioniert wie folgt:
- Verwenden Sie nur die Basistabellen, nicht die Ansichten. Auf Empfängerseite werden die freigegebenen Tabellen in einem schreibgeschützten Delta-Freigabeschema angezeigt.
- Wenden Sie ABAC-Richtlinien auf die Quelltabellen auf der Anbieterseite und auf die freigegebenen Tabellen auf der Empfängerseite an. Die Richtlinie des Anbieters steuert den Zugriff auf der Anbieterseite. Der Empfänger erstellt eine Richtlinie zum Steuern des Zugriffs für Benutzer auf der Empfängerseite.
- Erstellen Sie Ansichten beim Empfänger basierend auf den freigegebenen Basistabellen in einem separaten Schema. Da OpenSharing-Schemas schreibgeschützt sind, müssen lokale Ansichten für den Empfänger in einem anderen Schema erstellt werden. Wenn Sie ABAC-Richtlinien für die OpenSharing-Tabellen festlegen, werden diese Richtlinien beachtet, wenn Benutzer über die empfängerlokalen Ansichten auf die Daten zugreifen.
-- Recipient: apply an ABAC policy to the shared table
CREATE POLICY hide_eu_customers
ON CATALOG recipient_catalog
ROW FILTER hide_eu
TO `account users`
EXCEPT 'recipient_admins'
FOR TABLES
MATCH COLUMNS has_tag('geo_region') AS region
USING COLUMNS (region);
-- Create a view in a separate schema (delta share schema is read-only)
CREATE VIEW recipient_catalog.analytics.employees_view AS
SELECT * FROM recipient_catalog.delta_share_schema.employees;