Udostępnij za pośrednictwem


Zabezpieczenia na poziomie kolumny w hurtowni danych Fabric

Dotyczy:✅ punkt końcowy analityki SQL i magazyn danych w usłudze Microsoft Fabric

Zabezpieczenia na poziomie kolumn upraszczają projektowanie i kodowanie zabezpieczeń w aplikacji, co pozwala ograniczyć dostęp do kolumn w celu ochrony poufnych danych. Na przykład upewnienie się, że konkretni użytkownicy mogą uzyskiwać dostęp tylko do niektórych kolumn tabeli, które są odpowiednie dla ich działu.

Zabezpieczenia danych na poziomie kolumny

Logika ograniczeń dostępu znajduje się w warstwie bazy danych, a nie w żadnej warstwie aplikacji. Baza danych stosuje ograniczenia dostępu za każdym razem, gdy jest podejmowana próba dostępu do danych, z dowolnej aplikacji lub platformy raportowania, w tym usługi Power BI. To ograniczenie sprawia, że bezpieczeństwo jest bardziej niezawodne i niezawodne dzięki zmniejszeniu obszaru powierzchni ogólnego systemu zabezpieczeń.

Zabezpieczenia na poziomie kolumny dotyczą tylko zapytań dotyczących punktu końcowego usługi Warehouse lub analizy SQL w usłudze Fabric. Zapytania usługi Power BI kierowane do magazynu w trybie Direct Lake przejdą do trybu Direct Query, aby zachować zabezpieczenia na poziomie kolumny.

Ograniczanie dostępu do niektórych kolumn do niektórych użytkowników

Ponadto zabezpieczenia na poziomie kolumny są prostsze niż projektowanie dodatkowych widoków, aby odfiltrować kolumny i nałożyć ograniczenia dostępu dla użytkowników.

Zaimplementuj zabezpieczenia na poziomie kolumny za pomocą instrukcji GRANT T-SQL. Dla uproszczenia zarządzania przypisywanie uprawnień do ról jest preferowane od przypisywania ich pojedynczym użytkownikom.

Zabezpieczenia na poziomie kolumn są stosowane do magazynu udostępnionego lub magazynu typu lakehouse dostępnego za pośrednictwem punktu końcowego dla analizy SQL, ponieważ bazowe źródło danych nie uległo zmianie.

Obsługiwane jest tylko uwierzytelnianie entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Microsoft Entra authentication as an alternative to SQL authentication in Microsoft Fabric (Uwierzytelnianie entra firmy Microsoft jako alternatywa dla uwierzytelniania SQL w usłudze Microsoft Fabric).

Przykłady

Przykład ten utworzy tabelę i ograniczy kolumny, które charlie@contoso.com może zobaczyć w tabeli customers.

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

Pozwolimy Charliemu na dostęp tylko do kolumn powiązanych z klientem, ale nie do kolumny poufnej CreditCard :

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

Zapytania wykonywane w sposób charlie@contoso.com nie powiedzie się, jeśli zawierają kolumnę 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'.

Następny krok