Del via


Sikkerhed på kolonneniveau i Fabric-datawarehousing

Gælder for:✅ SQL Analytics-slutpunkt og warehouse i Microsoft Fabric

Sikkerhed på kolonneniveau forenkler designet og kodningen af sikkerhed i dit program, så du kan begrænse kolonneadgang for at beskytte følsomme data. Det kan f.eks. være at sikre, at bestemte brugere kun kan få adgang til bestemte kolonner i en tabel, der er relevante for deres afdeling.

Sikkerhed på kolonneniveau på dataniveau

Logikken for adgangsbegrænsning er placeret på databaseniveauet og ikke på et enkelt programniveau. Databasen anvender adgangsbegrænsningerne, hver gang dataadgang forsøges, fra alle programmer eller rapporteringsplatforme, herunder Power BI. Denne begrænsning gør din sikkerhed mere pålidelig og robust ved at reducere overfladeområdet for dit overordnede sikkerhedssystem.

Sikkerhed på kolonneniveau gælder kun for forespørgsler på et lager- eller SQL-analyseslutpunkt i Fabric. Power BI-forespørgsler på et lager i Direct Lake-tilstand vender tilbage til Direct Query-tilstand for at overholde sikkerhed på kolonneniveau.

Begræns adgangen til bestemte kolonner til bestemte brugere

Derudover er sikkerhed på kolonneniveau enklere og end design af yderligere visninger for at filtrere kolonner ud for at pålægge brugerne adgangsbegrænsninger.

Implementer sikkerhed på kolonneniveau med GRANT T-SQL-sætningen. For nem administration foretrækkes tildeling af tilladelser til roller frem for at bruge enkeltpersoner.

Sikkerhed på kolonneniveau anvendes på delt lager eller lakehouse, der opnås adgang til via et SQL Analytics-slutpunkt, fordi den underliggende datakilde ikke er ændret.

Kun Microsoft Entra-godkendelse understøttes. Du kan få flere oplysninger under Microsoft Entra-godkendelse som et alternativ til SQL-godkendelse i Microsoft Fabric.

Eksempler

I dette eksempel oprettes der en tabel, og de kolonner, der kan vises i tabellencustomers, charlie@contoso.com begrænses.

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);

Vi tillader, at Charlie kun får adgang til de kolonner, der er relateret til kunden, men ikke den følsomme CreditCard kolonne:

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

Forespørgsler, der udføres som charlie@contoso.com , mislykkes, hvis de indeholder kolonnen CreditCard :

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'.

Næste trin