ABAC-krav, kvoter och begränsningar

På den här sidan visas krav, principkvoter och aktuella begränsningar för attributbaserad åtkomstkontroll (ABAC) i Unity Catalog.

Beräkningskrav

Om du vill använda ABAC-principer måste du använda någon av följande beräkningskonfigurationer:

Information om hur du kör arbetsbelastningar som kräver äldre körningar finns i Åtkomst från äldre körningar.

Krav för reglerade taggar

ABAC-principer använder styrda taggar, inte okontrollerade taggar. Reglerade taggar definieras på kontonivå med åtkomstkontroller som avgör vem som kan skapa, tilldela och hantera dem. Fullständig information finns i Reglerade taggar.

Note

När du har tilldelat eller ändrat en tagg kan det ta några minuter innan ändringen börjar gälla.

Policykvoter

Resource Gräns
Principer per metaarkiv 10 000
Principer per katalog eller schema 100
Principer per tabell 50
Huvudkonton per princip (gäller både TO och EXCEPT -satser) 20
Kolumnvillkor per MATCH COLUMNS sats 3

Mer information, inklusive kvoter för reglerade taggar, finns i Tjänstgränser.

ABAC-begränsningar

Åtkomst från äldre körningar

Standard och dedikerad beräkning på Databricks Runtime-versioner tidigare än 16.4 kan inte komma åt ABAC-skyddade tabeller. Om du behöver vissa arbetsbelastningar för att fortsätta köras på en äldre körning kan du omfångsbegränsa ABAC-principen till en specifik grupp i stället för att tillämpa den brett. Lägg bara till de användare eller huvudnamn som du vill att principen ska gälla för den gruppen och exkludera det huvudnamn som kör arbetsbelastningen äldre körning med hjälp av EXCEPT -satsen. Användare utanför gruppen behåller fullständig åtkomst till de underliggande tabellerna. Detta gör att arbetsbelastningen kan fortsätta att komma åt tabellerna medan du övergår till en körning som stöds.

ABAC-principer för vyer

Du kan inte tillämpa ABAC-principer direkt på vyer. Men när en användare frågar en vy som refererar till tabeller med ABAC-principer respekteras dessa principer vid åtkomst till data via vyn.

ABAC-radfilter och kolumnmasker i de underliggande tabellerna utvärderas med sessionsanvändarens identitet, vilket innebär att personen som kör frågan. Användaren ser endast de rader och kolumnvärden som de har behörighet att komma åt, enligt definitionen i ABAC-principerna i bastabellerna. Åtkomstkontroller och åtkomstkontroller för bastabeller till beroenden använder vyägarens identitet, så att användare kan köra frågor mot vyer utan direkt behörighet i de underliggande tabellerna.

Note

Samma sessionsanvändares identitetsmodell gäller när tabeller med ABAC-principer nås via funktioner.

Sessionsanvändaridentitetsmodellen introducerades tillsammans med ABAC GA-versionen. Tidigare utvärderades principer med hjälp av vyägarens eller funktionsdefinierarens identitet. Mer information finns i viktig information för april 2026.

ABAC-principer för materialiserade vyer och strömmande tabeller

Note

Tidigare hade ABAC-principer för materialiserade vyer och strömningstabeller endast stöd när pipelineägaren eller den kör som-identiteten var undantagen från principen. Den begränsningen har tagits bort.

När en pipeline uppdaterar en materialiserad vy eller en strömmande tabell utvärderas principer med hjälp av pipelineägarens eller körningsidentiteten. Om den identiteten omfattas av principen innehåller den materialiserade vyn eller direktuppspelningstabellen permanent maskerade eller filtrerade data. Databricks rekommenderar att uppdateringsidentiteten hålls undantagen EXCEPT med hjälp av -satsen och riktar sig till konsumenter som ska se maskerade eller filtrerade data i TO -satsen.

Deltadelningstabeller med ABAC-principer eller vyer som refererar till dem

Tabeller med ABAC-principer eller vyer som refererar till tabeller med ABAC-principer kan endast delas via Deltadelning om resursägaren är undantagen från principen (anges i EXCEPT satsen). Principen styr inte mottagarens åtkomst. Mottagarna kan tillämpa sina egna ABAC-principer på delade tabeller för att framtvinga åtkomstkontroll på sin sida.

Mer information om hur du använder deltadelning med ABAC finns i Deltadelning och ABAC.

Tidsresor och kloning på tabeller med ABAC-principer

ABAC-principer kan inte utvärderas mot historiska ögonblicksbilder av tabeller, så tidsresefrågor misslyckas i tabeller med aktiva radfilter eller kolumnmasker. Djupa och grunda kloner stöds inte heller i tabeller med ABAC-principer.

Om du vill aktivera dessa åtgärder skapar du ett huvudnamn eller en grupp för tjänsten och lägger till den i principens -sats EXCEPT . Principen utvärderas inte för undantagna huvudnamn, så dessa åtgärder kan köras.

Important

Undantagna huvudnamn ser ofiltrerade, omaskerade data. Undanta endast betrodda identiteter, till exempel tjänsthuvudnamn som används för ETL- eller pipelinearbetsbelastningar.

Följande princip maskerar till exempel PII-kolumner för alla användare utom etl_service_principal, som kan köra tidsresefrågor och kloningsåtgärder:

CREATE POLICY mask_pii
ON CATALOG prod
COLUMN MASK prod.governance.mask_value
TO `account users`
EXCEPT `etl_service_principal`
FOR TABLES
MATCH COLUMNS
  has_tag_value('pii', 'ssn') AS ssn
ON COLUMN ssn;

Vektorsökningsindex och ABAC-principer

ABAC-principer i en källtabell gäller inte för vektorsökningsindex som skapats från den tabellen. Indexet synkroniserar alla rader från källtabellen och tillämpar inte principer för radfilter eller kolumnmask när frågor skickas.

För tabeller med kolumnmasker kan du exkludera maskerade kolumner från indexet med hjälp av inställningen kolumner för synkronisering .

Flera principer i samma tabell eller kolumn för samma användare

Endast ett distinkt radfilter kan matchas vid körning för en viss tabell och en viss användare, och endast en distinkt kolumnmask kan matchas för en viss kolumn och en viss användare. Du kan definiera flera principer, men när en användare frågar tabellen måste endast en princips villkor matcha. Om flera distinkta radfilter eller kolumnmasker gäller för samma användare och tabell eller kolumn blockerar Azure Databricks åtkomst och returnerar ett fel. Flera principer tillåts om de matchar samma radfilter eller kolumnmask UDF med samma argument.

Mer information finns i Regler för flera filter och masker.

ABAC-principer och informationsschema

Det finns ingen informationsschematabell för ABAC-principer. Tabellerna information_schema.row_filters och information_schema.column_masks visar endast radfilter på tabellnivå och kolumnmasker. De visar inte ABAC-principdefinitioner eller filter och masker som härleds från ABAC-principer vid körning.

Om du vill visa en lista över ABAC-principer använder du REST-API:et för Unity Catalog. Händelser för skapande, ändring och borttagning av principer registreras i systemtabellen för granskningsloggar.

ABAC på dedikerad beräkning

Begränsningar för ABAC för dedikerad beräkning finns i Begränsningar.

Begränsningar som är gemensamma för ABAC och radfilter på tabellnivå och kolumnmasker

Allmänna begränsningar för radfilter och kolumnmasker som gäller för både ABAC - och radfilter på tabellnivå och kolumnmasker finns i Begränsningar.