Share via


Beveiliging op kolomniveau in Fabric-datawarehousing

Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric

Beveiliging op kolomniveau vereenvoudigt het ontwerp en de codering van beveiliging in uw toepassing, zodat u de toegang tot kolommen kunt beperken om gevoelige gegevens te beveiligen. Zorg er bijvoorbeeld voor dat specifieke gebruikers alleen toegang hebben tot bepaalde kolommen van een tabel die relevant zijn voor hun afdeling.

Beveiliging op kolomniveau op gegevensniveau

De toegangsbeperkingslogica bevindt zich in de databaselaag, niet in één toepassingslaag. De database past de toegangsbeperkingen toe telkens wanneer gegevenstoegang wordt geprobeerd, vanuit elk toepassings- of rapportageplatform, inclusief Power BI. Deze beperking maakt uw beveiliging betrouwbaarder en robuuster door het oppervlak van uw algehele beveiligingssysteem te verminderen.

Beveiliging op kolomniveau is alleen van toepassing op query's op een warehouse- of SQL-analyse-eindpunt in Fabric. Power BI-query's in een magazijn in de Direct Lake-modus vallen terug op de modus Direct Query om zich te houden aan beveiliging op kolomniveau.

Toegang tot bepaalde kolommen beperken tot bepaalde gebruikers

Bovendien is beveiliging op kolomniveau eenvoudiger en dan het ontwerpen van extra weergaven om kolommen te filteren voor het opleggen van toegangsbeperkingen voor de gebruikers.

Implementeer beveiliging op kolomniveau met de GRANT T-SQL-instructie. Voor het gemak van beheer wordt het toewijzen van machtigingen aan rollen de voorkeur gegeven aan het gebruik van personen.

Beveiliging op kolomniveau wordt toegepast op gedeelde warehouses of lakehouse die toegankelijk zijn via een SQL-analyse-eindpunt, omdat de onderliggende gegevensbron niet is gewijzigd.

Alleen Microsoft Entra-verificatie wordt ondersteund. Zie Microsoft Entra-verificatie als alternatief voor SQL-verificatie in Microsoft Fabric voor meer informatie.

Voorbeelden

In dit voorbeeld wordt een tabel gemaakt en worden de kolommen beperkt die charlie@contoso.com in de customers tabel kunnen worden weergegeven.

CREATE TABLE dbo.Customers
  (CustomerID int,
   FirstName varchar(100) NULL,
   CreditCard char(16) NOT NULL,
   LastName varchar(100) NOT NULL,
   Phone varchar(12) NULL,
   Email varchar(100) NULL);

Charlie heeft alleen toegang tot de kolommen die betrekking hebben op de klant, maar niet tot de gevoelige CreditCard kolom:

GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];

Query's die charlie@contoso.com als volgt worden uitgevoerd, mislukken als ze de CreditCard kolom bevatten:

SELECT * FROM Customers;
Msg 230, Level 14, State 1, Line 12
The SELECT permission was denied on the column 'CreditCard' of the object 'Customers', database 'ContosoSales', schema 'dbo'.

Volgende stap