Power BI Satır Düzeyi Güvenlik (RLS)

Power BI Dev 21.09.2021

Power BI Satır Düzeyi Güvenlik (RLS-Row Level Security) Nedir?

Power BI Desktop Satır Düzeyi Güvenlik (RLS-Row Level Security); belirli kullanıcıların belirli kıstaslara göre veri erişimini kısıtlayan bir çözümdür. (Bir güvenlik çözümüdür.)

Power BI Desktop Satır Düzeyi Güvenlik yapılandırma işlemleri Power BI Desktop üzerinde kurgulanır, Power BI Portal üzerinde ise kullanıcı erişimleri için yapılandırılır. (Erişim kısıtlaması uygulanır.)

RLS sisteminde filtreler verileri satır düzeyinde kısıtlar. (En alt düzey veri sınırlama format yapısı.)

RLS üzerindeki bu yapı kurgusu;

  • Gruplanacak veri yapıları belirlenmesi,
  • Gruplara yönelik Rol değerleri oluşturulması,
  • Rol değerlerine yönelik kıstasların uygulanması, (Sınırlama uygulanması)
  • Power BI Admin Portal üzerinden ilgili grupların Rol değerlerine atanması,
  • Rol-Grup kullanımının aktifleştirilmesi

olarak alt adımlar ile yapılandırılmaktadır.

Ayrıca; Direct Query formatında (Anlık-Canlı Raporlama) kullanan SQL Server gibi veri kümelerinde de RLS'yi yapılandırıp, kullanabilirsiniz.

Ek olarak RLS'yi yalnızca Power BI dışındaki şirket içi Analysis Services modellerinde uygulanabilmekteydi, Analysis Services gibi canlı bağlantılar için RLS (Satır Düzeyi Güvenliği) şirket içi model üzerinde yapılandırabilirsiniz.

NOT: Power BI hizmetinde tanımladığınız roller ve kurallar varsa bu rolleri Power BI Desktop'ta yeniden oluşturmanız ve raporu hizmette yayımlamanız gerekir.

Power BI Satır Düzeyi Güvenlik Kullanımı

Uygulamamıza yönelik bir örnek rapor oluşturalım.

Kurumsal olarak hazırlanmış olan alt raporlarımızı bu örnek üzerinde kullanabiliriz.

Uyarlama: Konsolide olarak iki şirketin satışlarının raporlandığı rapor üzerinde şirket ayrımı oluşturmak adına RLS özelliğimizi kullanalım.

Örnek Rapor;

RLS Adımlar:

1-Power BI Desktop uygulamanızı çalıştırınız.

İlgili güncel sürüm için: https://powerbi.microsoft.com/en-us/downloads/

2-Power BI Desktop uygulamanızda ilgili raporunuzu oluşturunuz ya da mevcut ise açınız.

3-Raporunuz üzerinde gezinti bölmesinden Modeling (Modelleme) alanına geçip Manage Roles (Rolleri Yönetmek) düzenleme alanını açınız.

4-Belirlemiş olduğunuz rapor kullanıcı gruplarını oluşturunuz.

Create butonu ile ilgili kullanıcılarınızı oluşturabilirsiniz.

5-Oluşturmuş olduğunuz kullanıcınıza yönelik isimlendirme/adlandırma işlemini kullanıcıya çift tıklayarak ya da üç nokta üzerinden gerçekleştirebilirsiniz.

Kısıtlama işlemleri için ilgili tabloların yanlarındaki üç noktalar yardımı ile tuval alanına geri dönmeden mevcut sütunları görüntüleyebilirsiniz.

6-Filtrelemek istediğiniz sütun değerlerini DAX işlem alanı içerisinden yapılandırınız.

Filtreleme/Kısıtlama işlemleriniz tamamlanınca Save butonu yardımı ile gerçekleştirmiş olduğunuz işlemleri kaydedebilirsiniz.

7-Oluşturmuş olduğunuz kullanıcı gruplarını kontrol ediniz.

8-Oluşturmuş olduğunuz kullanıcı gruplarının veri görünüm değerlerini kontrol ediniz.

Mevcut kontrolü tuval alanına geri dönüp;

Modeling (Modelleme) alanına geçip View As (Görüntüleme) düzenleme alanı üzerinden gerçekleştirebilirsiniz.

İlgili kontrollerinizi tamamladıktan sonra Stop Viewing butonu yardımı ile görüntüleme işlemini durdurabilirsiniz.


9-Hazırlamış olduğunuz RLS formatındaki raporunuzu Power BI Portal üzerinde yayınlayınız.

10-Power BI Portal'a giriş yaparak ilgili raporun veri kaynağında yer alan özellikler içerisinden Security (Güvenlik) alanına geçiniz.

11-Oluşturmuş olduğunuz güvenlik gruplarını kontrol ediniz, herhangi bir hata mevcut ise Power BI Desktop üzerindeki çalışmanızı kontrol ediniz.

12-Oluşturmuş olduğunuz güvenlik gruplarına ilgili kullanıcıları tanımlayınız/atayınız.

13-Atamış olduğunuz kullanıcılar ile ilgili raporu paylaşarak kullanımlarına açınız.

Power BI Satır Düzeyi Güvenlik RLS Sınırlamaları

  • Power BI hizmetinde raporlarınıza yönelik tanımlanmış rolleriniz ve kurallarınız varsa bunları Power BI Desktop'ta her rapor için tekrar oluşturmanız gerekmektedir.
  • RLS özelliğini yalnızca Power BI Desktop istemcisi kullanılarak oluşturulan veri kümelerinde oluşturup, kullanıcılarınıza tanımlayabilirsiniz.
  • RLS özelliğini Excel ile oluşturulmuş olan veri kümeleri için etkinleştirmek isterseniz öncelikle dosyalarınızı .PBIX biçimine dönüştürmeniz gerekir.
  • RLS özelliği için yalnızca ETL ve Direct Query bağlantıları desteklenmektedir.Analysis Services canlı bağlantıları şirket içi modellerde işlenmektedir.
  • RLS özelliği için Soru-Cevap ve Cortana desteği henüz sunulmamaktadır.
  • Herhangi bir model için güvenlik rollerine atanabilecek maksimum Azure AD sorumlusu (Bireysel Kullanıcı veya Güvenlik Grubu) sayısı 1000'dir.
    Rollere çok sayıda kullanıcı atamak için bireysel kullanıcı yerine güvenlik grubu atamanız önerilmektedir.