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.
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:
- Serverlös databearbetning
- Standardberäkning på Databricks Runtime 16.4 eller senare
- Dedikerad beräkning på Databricks Runtime 16.4 eller senare med detaljerad filtrering av åtkomstkontroll aktiverad
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.
- 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.
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.