Microsoft Fabric veri ambarında satır düzeyi güvenlik uygulama
Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı
Doku Ambarı ve SQL analiz uç noktasında satır düzeyi güvenlik (RLS), kullanıcı rollerini ve koşullarını temel alarak veritabanı tablosundaki satırlara erişimi denetlemenizi sağlar. Daha fazla bilgi için bkz . Doku veri ambarında satır düzeyi güvenlik.
Bu kılavuz, Microsoft Fabric Warehouse'da veya SQL analiz uç noktasında satır düzeyi güvenlik uygulama adımlarında size yol gösterir.
Önkoşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Etkin kapasite veya deneme kapasitesine sahip bir Doku çalışma alanı.
- Lakehouse'da Doku Ambarı veya SQL analiz uç noktası.
- Çalışma alanında Yönetici, Üye veya Katkıda Bulunan hakları ya da Ambar veya SQL analiz uç noktasında yükseltilmiş izinler.
1. Bağlan
- Ambar veya SQL analiz uç noktasında yükseltilmiş erişime sahip bir hesap kullanarak oturum açın. (Çalışma alanında Yönetici/Üye/Katkıda Bulunan rolü ya da Ambar veya SQL analiz uç noktasında denetim izinleri).
- Doku çalışma alanını açın ve satır düzeyi güvenlik uygulamak istediğiniz Ambar veya SQL analizi uç noktasına gidin.
2. Güvenlik ilkelerini tanımlama
Verilere erişimi denetlemek için kullanmak istediğiniz rolleri ve önkoşulları belirleyin. Roller verilere kimlerin erişebileceğini tanımlar ve önkoşullar erişim ölçütlerini tanımlar.
Güvenlik önkoşulları oluşturun. Güvenlik koşulları, kullanıcının erişebileceği satırları belirleyen koşullardır. Güvenlik koşullarını satır içi tablo değerli işlevler olarak oluşturabilirsiniz. Bu basit alıştırmada, veri tablonuzda sistem
UserName_column
işlevi USER_NAME() tarafından doldurulan ilgili kullanıcı adını içeren bir sütun olduğu varsayılır.-- Creating schema for Security CREATE SCHEMA Security; GO -- Creating a function for the SalesRep evaluation CREATE FUNCTION Security.tvf_securitypredicate(@UserName AS varchar(50)) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS tvf_securitypredicate_result WHERE @UserName = USER_NAME(); GO -- Using the function to create a Security Policy CREATE SECURITY POLICY YourSecurityPolicy ADD FILTER PREDICATE Security.tvf_securitypredicate(UserName_column) ON sampleschema.sampletable WITH (STATE = ON); GO
değerini ilke adınızla,
tvf_securitypredicate
koşul işlevinizin adıyla,sampleschema
şemanızın adıyla vesampletable
hedef tablonuzun adıyla değiştirinYourSecurityPolicy
.değerini tablonuzda kullanıcı adlarını içeren bir sütunla değiştirin
UserName_column
.değerini, istenen koşul tabanlı güvenlik filtresiyle eşleşen bir
WHERE
yan tümcesiyle değiştirinWHERE @UserName = USER_NAME();
. Örneğin, bu, parametreye eşlenen sütununUserName
@UserName
USER_NAME() sistem işlevinin sonucuyla eşleştiği verileri filtreler.Gerekirse diğer tablolar için güvenlik ilkeleri oluşturmak için bu adımları yineleyin.
3. Satır düzeyi güvenliği test edin
Doku'da, ilişkili bir güvenlik ilkesine sahip bir rolün üyesi olan bir kullanıcı olarak oturum açın. Tabloda eşleşmesi gereken değeri doğrulamak için aşağıdaki sorguyu kullanın.
SELECT USER_NAME()
Satır düzeyi güvenliğin beklendiği gibi çalıştığını doğrulamak için veritabanı tablolarını sorgulayabilirsiniz. Kullanıcılar yalnızca rollerinde tanımlanan güvenlik koşulunu karşılayan verileri görmelidir. Örneğin:
SELECT * FROM sampleschema.sampletable
Kullanıcı için benzer filtrelenmiş sonuçlar, veritabanı erişimi için Microsoft Entra kimlik doğrulamasını kullanan diğer uygulamalarla filtrelenir. Daha fazla bilgi için bkz . Microsoft Fabric'te SQL kimlik doğrulamasına alternatif olarak Microsoft Entra kimlik doğrulaması.
4. Satır düzeyi güvenliği izleme ve koruma
Güvenlik gereksinimleriniz geliştikçe satır düzeyi güvenlik ilkelerinizi düzenli olarak izleyin ve güncelleştirin. Rol atamalarını izleyin ve kullanıcıların uygun erişime sahip olduğundan emin olun.