Aracılığıyla paylaş


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:

  1. Etkin kapasite veya deneme kapasitesine sahip bir Doku çalışma alanı.
  2. Lakehouse'da Doku Ambarı veya SQL analiz uç noktası.
  3. Ç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

  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/Katkıda Bulunan rolü ya da Ambar veya SQL analiz uç noktasında denetim izinleri).
  2. 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

  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. Bu basit alıştırmada, veri tablonuzda sistem UserName_columniş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 
    
  3. değerini ilke adınızla, tvf_securitypredicate koşul işlevinizin adıyla, sampleschema şemanızın adıyla ve sampletable hedef tablonuzun adıyla değiştirinYourSecurityPolicy.

  4. değerini tablonuzda kullanıcı adlarını içeren bir sütunla değiştirin UserName_column .

  5. 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ütunun UserName @UserName USER_NAME() sistem işlevinin sonucuyla eşleştiği verileri filtreler.

  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. 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() 
    
  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 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.