Aracılığıyla paylaş


Satır düzeyi güvenlik uygulayın

Ş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 Fabric veri ambarında satır düzeyi güvenliğe bakın.

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.

Prerequisites

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  1. Aktif kapasite veya deneme kapasitesine sahip bir Fabric çalışma alanı.
  2. Lakehouse'da Bir Kumaş Ambarı veya bir SQL analiz uç noktası.
  3. Çalışma alanında Yönetici, Üye veya Katkıda Bulunan hakları ya da Veri Ambarı veya SQL analiz uç noktasında yükseltilmiş izinler.

1. Bağlan

  1. 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/Katılımcı rolü veya Ambar veya SQL analitik uç noktasında denetim izinlerini kontrol etme yetkisi).
  2. Fabric çalışma alanını açın ve satır düzeyi güvenlik uygulamak istediğiniz Ambar veya SQL analiz uç noktasına gidin.

2. Güvenlik ilkelerini tanımlama

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

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

    -- 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()
    OR USER_NAME() = 'BatchProcess@contoso.com';
    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 
    
  3. değerini ilke adınızla, YourSecurityPolicy koşul işlevinizin adıyla, tvf_securitypredicate şemanızın adıyla ve sampleschema hedef tablonuzun adıyla değiştirinsampletable.

  4. Bu alıştırmada, veri tablonuzda USER_NAME UserName_column() sistem işlevi tarafından doldurulan ilgili kullanıcı adını içeren bir sütun olduğu varsayılır. değerini tablonuzda kullanıcı adlarını içeren bir sütunla değiştirin UserName_column .

  5. WHERE @UserName = USER_NAME();'yi, istenen koşul tabanlı güvenlik filtresiyle eşleşen bir WHERE yan tümcesiyle değiştirin. Örneğin, bu, parametreye eşlenen sütunun UserName@UserNameUSER_NAME() sistem işlevinin sonucuyla eşleştiği verileri filtreler.

    • İsteğe bağlı olarak, WHERE veri taşımayı yöneten kimliğin kullanıcı adı için aslında bir istisnayı da içerir. Örneğin, BatchProcess@contoso.com.
  6. 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

  1. Fabric'te, 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() 
    
  2. 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
    
  3. 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 sürdürme

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.