Power BI Rapor Sunucusu'nda satır düzeyi güvenlik (RLS)

Power BI Rapor Sunucusu ile satır düzeyi güvenlik (RLS) ayarlandığında, belirli kullanıcıların veri erişimi kısıtlanabilir. Filtreler, veri erişimini satır düzeyinde sınırlar ve rollerin içinde filtre tanımlayabilirsiniz. Power BI Rapor Sunucusu'nda varsayılan izinleri kullanıyorsanız, Power BI raporu üzerinde Yayımcı veya İçerik Yöneticisi izinlerine sahip olan her kullanıcı söz konusu rapora yönelik rollere üye atayabilir.

Power BI Desktop ile Power BI'a aktarılan raporlar için RLS'yi yapılandırırsınız. Ayrıca, DirectQuery'yi kullanan SQL Server gibi raporlarda da RLS'yi yapılandırabilirsiniz. DirectQuery bağlantınızın rapor okuyucuları için tümleşik kimlik doğrulamasını kullandığı durumlarda RLS'ye uyulmadığını unutmayın. Analysis Services canlı bağlantılarında satır düzeyi güvenliği şirket içi model üzerinde yapılandırırsınız. Güvenlik seçeneği, canlı bağlantı veri kümeleri için gösterilmez.

Power BI Desktop'ta rol ve kural tanımlama

Power BI Desktop'ta rol ve kural tanımlayabilirsiniz. İçeriğinizi Power BI'da yayımladığınızda rol tanımları da yayımlanır.

Güvenlik rollerini tanımlamak için şu adımları izleyin.

  1. Verilerinizi Power BI Desktop raporunuza aktarın veya bir DirectQuery bağlantısı yapılandırın.

    Not

    Analysis Services için Power BI Desktop canlı bağlantılarında rol tanımlayamazsınız. Bu işlemi Analysis Services modelinin içinde yapmanız gerekir.

  2. Modelleme sekmesinde Rolleri Yönet'i seçin.

    Select Manage Roles

  3. Rolleri Yönet penceresinde Oluştur'u seçin.

    Select Create

  4. Roller bölümünde rol için bir ad girin.

    Not

    Virgülle bir rol tanımlayamazsınız, örneğin London,ParisRole.

  5. Tablolar bölümünde DAX kuralı uygulamak istediğiniz tabloyu seçin.

  6. Tablo filtresi DAX ifadesi kutusuna DAX ifadelerini girin. Bu ifade true veya false değerini döndürür. Örneğin: [Entity ID] = “Value”.

    Manage roles window

    Not

    Bu ifadede username() parametresini kullanabilirsiniz. username() parametresinin Power BI Desktop'ta ETKİALANI\kullanıcıadı biçiminde olduğunu unutmayın. Power BI hizmetinde ve Power BI Rapor Sunucusu'nda, kullanıcının Kullanıcı Asıl Adı (UPN) biçimindedir. Alternatif olarak kullanıcıyı her zaman kullanıcı asıl adı biçiminde döndüren (username@contoso.com) userprincipalname() işlevini kullanabilirsiniz.

  7. DAX ifadesini oluşturduktan sonra ifadeyi doğrulamak için ifade kutusunun üstündeki onay işaretini seçin.

    Validate DAX expression

    Not

    Bu ifade kutusunda, normalde noktalı virgül ayırıcıları kullanan bir yerel ayar (ör. Fransızca veya Almanca) kullanıyor olsanız bile DAX işlevi bağımsız değişkenlerini ayırmak için virgül kullanırsınız.

  8. Kaydet'i seçin.

Power BI Desktop'ta kullanıcıları bir role atayamazsınız. Onları Power BI hizmetinde atarsınız. username() veya userprincipalname() DAX işlevlerini kullanarak ve ilişkileri doğru şekilde yapılandırarak Power BI Desktop'ta dinamik güvenliği etkinleştirebilirsiniz.

Çift yönlü çapraz filtreleme

Varsayılan olarak, ilişkilerin tek yönlü veya çift yönlü olarak ayarlanmış olması fark etmeksizin satır düzeyi güvenlik filtrelemesi için tek yönlü filtreler kullanılır. Satır düzeyi güvenlikle çift yönlü çapraz filtreyi el ile etkinleştirebilirsiniz.

  • İlişkiyi seçin ve Güvenlik filtrelerini her iki yönde de uygula onay kutusunu işaretleyin.

    Apply security filter

Kullanıcı adı veya oturum açma kimliğine dayalı dinamik satır düzeyi güvenlik uyguladığınızda bu kutuyu işaretleyin.

Daha fazla bilgi edinmek için Power BI Desktop'ta DirectQuery'yi kullanarak çift yönlü çapraz filtreleme makalesine ve Tablolu BI Anlam Modelinin Güvenliğini Sağlama başlıklı teknik incelemeye bakın.

Power BI Desktop'ta rolleri doğrulama

Rollerinizi oluşturduktan sonra rol sonuçlarını Power BI Desktop'ta test edin.

  1. Modelleme sekmesinde Farklı görüntüle'yi seçin.

    Select View as Roles

    Oluşturduğunuz rollerin yer aldığı Rol olarak görüntüle penceresi açılır.

    View as roles window

  2. Oluşturduğunuz rollerden birini seçin ve ardından Tamam'ı seçerek bu rolü uygulayın.

    Rapor seçilen rolle ilgili verileri işler.

  3. Diğer kullanıcı’yı seçebilir ve bir kullanıcı belirtebilirsiniz.

    Select Other user

    En iyisi Kullanıcı Asıl Adını (UPN) sağlamaktır çünkü Power BI hizmeti ve Power BI Rapor Sunucusu bunu kullanır.

    Power BI Desktop'ta, Diğer kullanıcı ancak DAX ifadelerinize göre dinamik güvenlik kullandığınızda farklı sonuçlar gösterir.

  4. Tamam’ı seçin.

    Raporlar kullanıcının görebileceği içerikle oluşturulur.

    Not

    Rol olarak görüntüle özelliği, Tek Sign-On (SSO) etkinleştirilmiş DirectQuery modellerinde çalışmaz.

Rollere üye ekleme

Raporunuzu Power BI Rapor Sunucusu'nda kaydettikten sonra, güvenliği yönetir ve sunucuya üyeleri ekler veya kaldırırsınız. Yalnızca rapor üzerinde Yayımcı veya İçerik Yöneticisi izinleri olan kullanıcılara satır düzeyi güvenlik seçeneği sağlanır (seçenek soluk görüntülenmez).

Raporda gerekli roller yoksa raporu Power BI Desktop'ta açmanız, rolleri eklemeniz veya değiştirmeniz, sonra da yeniden Power BI Rapor Sunucusu'na kaydetmeniz gerekir.

  1. Power BI Desktop'ta raporu Power BI Rapor Sunucusu'na kaydedin. Power BI Rapor Sunucusu için Power BI Desktop sürümünü kullanmanız gerekir.

  2. Power BI Rapor Hizmeti’nde raporun yanındaki üç noktayı ( ) seçin.

  3. Yönet>Satır düzeyi güvenlik öğesini seçin.

    Manage row-level security

    Satır düzeyi güvenlik sayfasında, Power BI Desktop'ta oluşturduğunuz role üyeleri eklersiniz.

  4. Üye eklemek için Üye Ekle'yi seçin.

  5. Kutuya kullanıcıyı veya grubu Kullanıcı adı biçiminde (ETKİALANI\kullanıcı) girin ve ona atamak istediğiniz rolleri seçin. Üyenin kuruluşunuzun içinde gerekir.

    Add member to role

    Active Directory'yi nasıl yapılandırdığınıza bağlı olarak, buraya Kullanıcı Asıl Adını da girebilirsiniz. Bu durumda, Rapor Sunucusu buna karşılık gelen kullanıcı adını listede gösterir.

  6. Uygulamak için Tamam'a tıklayın.

  7. Üyeleri kaldırmak için adlarının yanındaki kutuyu işaretleyin ve Sil'i seçin. Bir kerede birden çok üyeyi silebilirsiniz.

    Delete members

username() ve userprincipalname()

Veri kümenizde username() veya userprincipalname() DAX işlevlerinden yararlanabilirsiniz. Bunları Power BI Desktop'taki ifadelerde kullanabilirsiniz. Modelinizi yayımladığınızda, Power BI Rapor Sunucusu bunları kullanır.

Power BI Desktop'ta username(), ETKİALANI\Kullanıcı biçiminde bir kullanıcı ve userprincipalname() de user@contoso.com biçiminde bir kullanıcı döndürür.

Power BI Rapor Sunucusu'nda username() ve userprincipalname() işlevlerinin her ikisi de kullanıcının bir e-posta adresine benzeyen Kullanıcı Asıl Adını (UPN) döndürür.

Power BI Rapor Sunucusu'nda özel kimlik doğrulaması kullanıyorsanız, kullanıcılar için ayarlamış olduğunuz kullanıcı adı biçimini döndürür.

Önemli noktalar ve sınırlamalar

Burada, Power BI modellerindeki satır düzeyi güvenlikle ilgili geçerli sınırlamaları bulabilirsiniz.

username() DAX işlevinin kullanıldığı raporları olan kullanıcılar, tümleşik güvenlikle DirectQuery'nin kullanıldığı durumlar DIŞINDA Kullanıcı Asıl Adının (UPN) döndürülmesine neden olan yeni davranışı fark edeceklerdir. Bu senaryoda RLS'ye uyulmadığından, senaryodaki davranış da değişmez.

RLS özelliğini yalnızca Power BI Desktop ile oluşturulan veri kümelerinde tanımlayabilirsiniz. RLS özelliğini Excel ile oluşturulmuş olan veri kümelerinde etkinleştirmek için, önce dosyalarınızı Power BI Desktop (PBIX) biçimine dönüştürmeniz gerekir. Excel dosyalarını dönüştürme hakkında daha fazla bilgi edinin.

Yalnızca depolanmış kimlik bilgilerinin kullanıldığı Ayıklama, Dönüştürme, Yükleme (ETL) ve DirectQuery bağlantıları desteklenir. Analysis Services'e yönelik canlı bağlantılar ve tümleşik kimlik doğrulamasının kullanıldığı DirectQuery bağlantıları temel veri kaynağında işlenir.

DirectQuery ile tümleşik güvenlik kullanıyorsanız, kullanıcılarınız şunları fark edebilir:

  • RLS devre dışı bırakılır ve tüm veriler döndürülür.
  • Kullanıcılar rol atamalarını güncelleştiremez ve RLS Yönetme sayfasında hata alır.
  • DAX username işlevi için, kullanıcı adını ETKİ ALANI\KULLANICI biçiminde almaya devam edersiniz.

Rapor yazarları, raporu karşıya yükledikten sonra kendilerine uygun rolleri atayana kadar Power BI Rapor Sunucusu'nda rapor verilerini görüntüleme erişimine sahip olmazlar.

Grup üyelikleri aracılığıyla rol atamaları yalnızca Power BI Rapor Sunucusu NTLM veya Kerberos kimlik doğrulaması ile çalışacak şekilde yapılandırıldığında desteklenir. Özel kimlik doğrulaması veya Windows Temel kullanıcılarının rollere açıkça atanmaya ihtiyacı olan sunucular.

SSS

Bu rolleri Analysis Services veri kaynakları için oluşturabilir miyim?

Verileri Power BI Desktop'a aktardıysanız oluşturabilirsiniz. Canlı bağlantı kullanıyorsanız Power BI hizmetinin içinden RLS'yi yapılandıramazsınız. RLS şirket içi Analysis Services modelinin içinde tanımlanır.

Kullanıcılarımın erişebileceği sütunları veya ölçüleri sınırlamak için RLS kullanabilir miyim?

Hayır. Belirli bir veri satırına erişimi olan kullanıcılar, ilgili satırdaki tüm veri sütunlarını görebilir.

RLS, ayrıntılı verileri gizlerken görsellerde özetlenmiş verilere erişim vermemi sağlar mı?

Hayır. Belirli veri satırlarının güvenliğini sağlayabilirsiniz, ama kullanıcılar ayrıntıları veya özetlenmiş verileri her zaman görebilir.

Mevcut rollerim ve üyelerim zaten atanmış durumdayken Power BI Desktop'a yeni roller ekleyebilir miyim?

Evet. Power BI Rapor Sunucusu'nda zaten mevcut rolleriniz tanımlanmış ve üyeleriniz atanmışsa, ek roller oluşturabilir ve geçerli atamalarınızı etkilemeden raporunuzu yeniden yayımlayabilirsiniz.

Sonraki adımlar

Power BI Rapor Sunucusu nedir?Yönetici el kitabı

Başka bir sorunuz mu var? Power BI Topluluğu'na sorun