Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Tip
Microsoft Fabric Data Warehouse geleceğe hazır mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip data lake foundation üzerinde kurumsal ölçekli ilişkisel bir ambardır. Veri ambarı konusunda yeniyseniz Fabric Data Warehouse ile başlayın. Mevcut özel SQL havuzu iş yükleri, veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltilebilir.
Column-Level güvenlik, müşterilerin tablo sütunlarına erişimi kullanıcının yürütme bağlamı veya grup üyeliğine göre denetlemesine olanak tanır.
Sütun düzeyinde güvenlik, uygulamanızda güvenliğin tasarımını ve kodlamasını basitleştirerek hassas verileri korumak için sütun erişimini kısıtlamanıza olanak sağlar. Örneğin, belirli kullanıcıların kendi bölümleriyle ilgili bir tablonun yalnızca belirli sütunlarına erişebilmesini sağlamak. Erişim kısıtlama mantığı, başka bir uygulama katmanındaki verilerden uzakta değil veritabanı katmanında bulunur. Veritabanı, herhangi bir katmandan her veri erişimi denenişinde erişim kısıtlamalarını uygular. Bu kısıtlama, genel güvenlik sisteminizin yüzey alanını azaltarak güvenliğinizi daha güvenilir ve sağlam hale getirir. Ayrıca sütun düzeyinde güvenlik, kullanıcılara erişim kısıtlamaları getirmek için sütunları filtrelemek için görünümler ekleme gereksinimini de ortadan kaldırır.
GRANT Nesne İzinleri T-SQL söz dizimi ile sütun düzeyinde güvenlik uygulayabilirsiniz. Bu mekanizmayla hem SQL kimlik doğrulaması hem de Microsoft Entra Id (eski adıyla Azure Active Directory) kimlik doğrulaması desteklenir.
Ayrıca bir yan tümce filtresine göre tablolarda WHERE zorunlu kılma özelliğini de göz önünde bulundurun.
Sözdizimi
Nesne izinlerine yönelik deyiminin GRANT söz dizimi, bir tablodaki virgülle ayrılmış sütun listelerine izinler verilmesini sağlar.
GRANT <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission> ::=
SELECT
| UPDATE
<database_principal> ::=
Database_user
| Database_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
Örnekler
Aşağıdaki örnek, TestUser tablosunun SSN sütununa Membership tarafından erişimin nasıl kısıtlanacağını göstermektedir.
Sosyal güvenlik numaralarını depolamak için kullanılan sütunlu Membership bir tablo oluşturunSSN:
CREATE TABLE Membership
(MemberID int IDENTITY,
FirstName varchar(100) NULL,
SSN char(9) NOT NULL,
LastName varchar(100) NOT NULL,
Phone varchar(12) NULL,
Email varchar(100) NULL);
TestUser'nin hassas verilere sahip sütunu SSN tüm sütunlara erişimine izin ver:
GRANT SELECT ON Membership(MemberID, FirstName, LastName, Phone, Email) TO TestUser;
TestUser olarak çalıştırılan sorgular, SSN sütununu içeriyorsa başarısız olur:
SELECT * FROM Membership;
Sonuçta oluşan hatayla birlikte:
Msg 230, Level 14, State 1, Line 12
The SELECT permission was denied on the column 'SSN' of the object 'Membership', database 'CLS_TestDW', schema 'dbo'.
Kullanım örnekleri
Bugün sütun düzeyinde güvenliğin nasıl kullanıldığına dair bazı örnekler:
- Finansal hizmetler firması yalnızca hesap yöneticilerinin müşteri sosyal güvenlik numaralarına (SSN), telefon numaralarına ve diğer kişisel verilere erişmesine izin verir.
- Bir sağlık hizmeti sağlayıcısı, yalnızca doktorların ve hemşirelerin hassas tıbbi kayıtlara erişmesine izin verirken faturalama departmanı üyelerinin bu verileri görüntülemesini engeller.