Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile condividere tabelle e viste protette dai criteri ABAC tramite Condivisione Delta se il proprietario della condivisione è esente dai criteri dal lato del provider. Questa pagina illustra come condividere tabelle con filtri di riga e maschere di colonna e come gestire le visualizzazioni quando è necessario applicare criteri sul lato destinatario.
Prerequisiti
- Databricks Runtime 16.4 o versione successiva, oppure calcolo senza server.
- Autorizzazioni di amministratore dell'account o amministratore dell'area di lavoro (per creare tag regolamentati).
-
MANAGEautorizzazione per il catalogo o lo schema di destinazione. -
EXECUTEnelle funzioni definite dall'utente. - Delta Sharing configurato tra il provider e il destinatario. Si veda Che cos'è Delta Sharing?.
Condivisione di tabelle protette dai criteri di controllo degli accessi basati sugli attributi
I proprietari delle condivisioni possono condividere le tabelle protette dai criteri di controllo degli accessi basati su attributi tramite Delta Sharing se soddisfano entrambe queste condizioni:
- Hanno le autorizzazioni necessarie per Delta Sharing.
- Sono esenti dalle politiche ABAC (elencate nella clausola
EXCEPT).
L'esempio seguente mostra una politica dal lato del provider in cui il proprietario della condivisione viene esentato.
-- 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`;
La politica ABAC del provider non regola l'accesso del destinatario. Poiché il titolare della condivisione è esente dalla politica del provider, il destinatario visualizza i dati non mascherati o non filtrati per impostazione predefinita. I destinatari possono applicare i propri criteri ABAC alle tabelle condivise per imporre il controllo di accesso dalla propria parte.
- Per i provider di condivisione, vedere Aggiungere tabelle e schemi protetti dai criteri di controllo degli accessi basati su attributi (ABAC) a una condivisione.
- Per i destinatari di condivisione, vedere Leggere i dati protetti dal controllo degli accessi in base agli attributi e applicare i criteri di controllo degli accessi in base agli attributi.
Condivisione delle visualizzazioni protette dai criteri di controllo degli accessi in base al ruolo
I titolari della condivisione possono anche condividere visualizzazioni che fanno riferimento a tabelle di base protette da un controllo degli accessi basato sugli attributi (ABAC). Come per la condivisione diretta delle tabelle, il proprietario della condivisione deve essere esente dai criteri ABAC nelle tabelle sottostanti.
-- 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`;
Annotazioni
Se si erano condivise delle visualizzazioni prima del 23 aprile 2026, potrebbe essere necessario aggiornare le politiche ABAC. Prima di questa data, il proprietario della vista doveva essere esonerato dalle politiche delle tabelle sottostanti. A partire dal 23 aprile 2026, l'azionista deve invece essere esente. Se Databricks ha contattato l'utente come cliente potenzialmente interessato, ha tempo fino al 22 luglio 2026 per aggiornare le EXCEPT clausole.
Viste locali dei destinatari su tabelle condivise
Poiché i criteri ABAC possono essere impostati solo sulle tabelle e non sulle viste, se è necessario che gli utenti lato destinatario utilizzino i dati attraverso viste e i dati sensibili devono essere protetti, condividere le tabelle di base e impostare i criteri ABAC su di esse. Il destinatario crea visualizzazioni in locale sulle tabelle condivise e i criteri nelle tabelle di base vengono rispettati quando si accede ai dati tramite tali viste. In questo caso non è necessario condividere i punti di vista del provider.
Questo approccio funziona come segue:
- Condividere solo le tabelle di base, non le viste. Sul lato destinatario, le tabelle condivise vengono visualizzate in uno schema di condivisione differenziale di sola lettura.
- Applicare i criteri ABAC alle tabelle di origine sul lato provider e alle tabelle condivise sul lato destinatario. La politica del fornitore controlla l'accesso sul lato del fornitore. Il destinatario crea un criterio per controllare l'accesso per gli utenti sul lato destinatario.
- Creare viste per il destinatario sopra le tabelle di base condivise in uno schema separato. Poiché gli schemi di Delta Sharing sono di sola lettura, è necessario creare delle viste locali per il destinatario in uno schema diverso. Se si impostano criteri di controllo degli accessi basati su attributi sulle tabelle Delta Sharing, questi criteri vengono rispettati quando gli utenti accedono ai dati tramite le visualizzazioni locali del destinatario.
-- 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;