Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan dela tabeller och vyer som skyddas av ABAC-principer via Deltadelning om resursägaren är undantagen från principerna på providersidan. Den här sidan beskriver hur du delar tabeller med radfilter och kolumnmasker och hur du hanterar vyer när du behöver tillämpa principer på mottagarsidan.
Förutsättningar
- Databricks Runtime 16.4 eller senare eller serverlös beräkning.
- Behörigheter för kontoadministratör eller arbetsyteadministratör (för att skapa styrda taggar).
-
MANAGEtillstånd för målkatalogen eller schemat. -
EXECUTEpå UDF:erna. - Deltadelning konfigurerad mellan providern och mottagaren. Se Vad innebär deltadelning?.
Dela tabeller som skyddas av ABAC-principer
Ägare kan dela tabeller som skyddas av ABAC-regelverk genom Delta Sharing om de uppfyller båda dessa villkor:
- De har de deltadelningsbehörigheter som krävs.
- De är undantagna från ABAC-principerna (anges i
EXCEPTsatsen).
I följande exempel visas en leverantörssidapolicy där aktieägaren är undantagen:
-- 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`;
Leverantörens ABAC-princip styr inte mottagarens åtkomst. Eftersom aktieägaren är undantagen från policyn på leverantörssidan ser mottagaren ofilterade eller omaskerade data som standard. Mottagarna kan tillämpa sina egna ABAC-principer på delade tabeller för att framtvinga åtkomstkontroll på sin sida.
- Information om resursprovidrar finns i Lägga till tabeller och scheman som skyddas av ABAC-principer till en resurs.
- Information om resursmottagare finns i Läsa ABAC-skyddade data och tillämpa ABAC-principer.
Dela vyer som skyddas av ABAC-principer
Aktieägare kan också dela vyer som refererar till ABAC-skyddade bastabeller. Precis som vid direkt delning av tabeller måste ägaren av delningen undantas från ABAC-policy för de underliggande tabellerna.
-- 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`;
Note
Om du har delat vyer före den 23 april 2026 kan du behöva uppdatera dina ABAC-policyer. Före det här datumet behövde vyägaren undantas från principer i de underliggande tabellerna. Från och med den 23 april 2026 måste aktieägaren undantas i stället. Om Databricks har kontaktat dig som potentiellt påverkad kund har du fram till den 22 juli 2026 på dig att uppdatera dina EXCEPT klausuler.
Mottagarlokala vyer över delade tabeller
Eftersom ABAC-principer bara kan tillämpas på tabeller och inte vyer, bör du dela bastabellerna och tillämpa ABAC-principer på dem om användare på mottagarsidan behöver använda data genom vyer, och känslig information måste skyddas. Mottagaren skapar vyer lokalt över de delade tabellerna och principerna i bastabellerna respekteras när data nås via dessa vyer. Du behöver inte dela översikter från leverantörens sida i det här fallet.
Den här metoden fungerar på följande sätt:
- Dela bara bastabellerna, inte vyerna. På mottagarsidan visas de delade tabellerna i ett skrivskyddat deltaresursschema.
- Tillämpa ABAC-principer på källtabellerna på providersidan och på de delade tabellerna på mottagarsidan. Leverantörens policy styr åtkomsten på leverantörens sida. Mottagaren skapar en princip för att styra åtkomsten för användare på mottagarsidan.
- Skapa vyer på mottagaren ovanpå de delade bastabellerna i ett separat schema. Eftersom Delta Sharing-scheman är skrivskyddade måste mottagarlokala vyer skapas i ett annat schema. Om du ställer in ABAC-policy i Delta Sharing-tabellerna respekteras dessa policy när användarna kommer åt data via lokala mottagarvyer.
-- 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;