Power BI da Row Level Security

Merhabalar,

Row level security(RLS) raporlarımız için olmazsa olmazlar arasına girmiş durumda. Bunun nedeni data gizliliği, herkesin sadece yetkisi dahilindeki dataları görmesi.. gibi konular önemli ihtiyaçlar olarak karşımıza gelmekte.

Genelde row level security raporlama araçlarında windows authentication ile gelen kullanıcının Active Directory kullanıcı ismini tanıyarak ona ait datayı gösterme şeklinde yapılmakta. “Ona ait data” derken, ait olduğu datayı tanıtan bir matching tablosu olduğu belirtmekte yarar var. Olayı şu şekilde daha kalıcı hale getirelim:

rls-1

Yukarıdaki görseli incelediğimizde kullanıcı tablosu bir matching tablosu ile ilşkilendirilmiş. Bu matching tablosunun amacı, hangi kullanıcının hangi bölgeye ait olduğu, yani kullanıcı rapora girdiğinde sadece ait olduğu datayı görebilmesi diğer bölgelerin datasını görememesidir. Yani neye göre satır bazlı yetkilendirme yapacaksanız ona göre matching tablosunu oluşturmanız gerekmekte.

PowerBI da bu senaryo ile RLS i uygulayabilirsiniz ama Power BI ın kendi içinde de farklı bir RLS sistemi bulunmakta. Üstelik datanızın üzerinde herhangi bir değişiklik yapmanıza, matching tablosu oluşturmanıza gerek kalmaksızın.

Tabi bu yöntem diğerine göre daha az profesyonel bir yöntem olarak karşımıza çıkmakta. En azından ben bu şekilde düşünmekteyim.

Hemen demomuza geçelim. Bunun için AdventureWorksDW den FactInternetSales, DimSalesTerritory ve DimGeography tablolarını Power BI desktop a import ediyorum. Basic bir rapor oluşturacağım. Amacım, kullanıcılara sadece ilgili oldukları city bilgisini göstermek.

Aşağıdaki gibi basitçe bir rapor hazırlıyorum. Görsellerde hangi dataları gösterdiğimi, üst kısımlarında yazan title dan görebilirsiniz.

rls-2.PNG

Amacımızı gerçekleştirebilmek için Role tanımlamaya ihtiyacımız var. Bunun için Power BI Desktop tan Modeling >> Manage Roles diyoruz.

yusuf.bogatepe isimli kullanıcı raporu açtığında sadece ilgili city si olan “Albany” nin datasını görmesini istediğimiz için Albany i ifade eden bir role tanımlıyoruz.

rls-3

Şu an sadece Role u tanımladık. Hangi kullanıcının bu role ile birlikte ilgili datayı göreceğini söylemedik. Kullanıcıyı o Role e atama işlemini Powerbi.com dan yapabiliyoruz. Bunun için raporumu publish ediyorum.

Powerbi.com dan raporumun dataset in yanındaki “…” dan güvenlik e tıklıyoruz.

rls4.PNG

Power BI Desktop ta yanımlamış olduğumuz Role umuz karşımıza geliyor.

Şimdi sıra geldi kullanıcıyı bu role atamaya. yusuf.bogatepe yi bu role e atıyorum.

rls6.PNG

Daha sonra oluşturmuş olduğumuz rapordan basit bir dashboard hazırlayıp bunu Yusuf Bogatepe kullanıcısı ile paylaşıyorum.

rls7.PNG

Yusuf Bogatepe kullanıcısı ile log in oluyoruz. Karşımıza sadece city si Albany olan data karşımıza gelmekte. Böyle kullanıcı sadece kendisi ile ilgili olan datayı görebilmiş olmakta.

rls8.PNG

Keyifli okumalar..

Şeydanur Sandıkçı

Reklamlar

Etiketler:, , , , , , , , , , , , , , , ,

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: