Share via


Power BI ile satır düzeyinde güvenlik (RLS)

Power BI ile satır düzeyi güvenlik (RLS), belirli kullanıcılar için veri erişimini kısıtlamak için kullanılabilir. Filtreler veri erişimini satır düzeyinde kısıtlar ve roller içinde filtreler tanımlayabilirsiniz. Power BI hizmeti, çalışma alanına erişimi olan kullanıcılar bu çalışma alanında anlamsal modellere erişebilir. RLS yalnızca Görüntüleyici izinlerine sahip kullanıcılar için veri erişimini kısıtlar. Yönetici, Üyeler veya Katkıda Bulunanlar için geçerli değildir.

Power BI ile Power BI'a aktarılan veri modelleri için RLS'yi yapılandırabilirsiniz. RLS'yi SQL Server gibi DirectQuery kullanan anlamsal modellerde de yapılandırabilirsiniz. Analysis Services veya Azure Analysis Services yaşam bağlantıları için Power BI'da değil modelde satır düzeyi güvenliği yapılandırabilirsiniz. Canlı bağlantı anlam modelleri için güvenlik seçeneği gösterilmez.

Power BI Desktop'ta rolleri ve kuralları tanımlama

Power BI Desktop'ta roller ve kurallar tanımlayabilirsiniz. Power BI'da yayımladığınızda rol tanımlarını da yayımlarsınız.

Güvenlik rollerini tanımlamak için:

  1. Verileri Power BI Desktop raporunuz içine aktarın veya DirectQuery bağlantısı yapılandırın.

    Not

    Analysis Services için Power BI Desktop canlı bağlantıları içinde rol tanımlayamazsınız. Bunu Analysis Services modeli içinde yapmanız gerekir.

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

    Rolleri yönet'i vurgulayan Modelleme sekmesinin ekran görüntüsü.

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

    Rolleri yönet penceresinin Oluştur'u vurgulayan ekran görüntüsü.

  4. Roller'in altında rol için bir ad belirtin.

    Not

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

  5. Tablolar'ın altında, DAX (Veri Çözümleme İfadesi) 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”.

    Örnek bir DAX ifadesini vurgulayan Rolleri yönet penceresinin ekran görüntüsü.

    Not

    Bu ifade içinde username() kullanabilirsiniz. username() öğesinin Power BI Desktop'ta ETKİALANI\kullanıcıadı biçimine sahip olduğunu unutmayın. Power BI hizmeti ve Power BI Rapor Sunucusu içinde, kullanıcının Kullanıcı Asıl Adı (UPN) biçimindedir. Alternatif olarak, kullanıcıyı her zaman kullanıcı asıl adı username@contoso.combiçiminde döndüren userprincipalname() kullanabilirsiniz.

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

    Onay işaretini vurgulayan Tablo filtresi DAX ifade penceresinin ekran görüntüsü.

    Not

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

  8. Kaydet'i seçin.

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

Varsayılan olarak, satır düzeyi güvenlik filtrelemesi, ilişkilerin tek yöne veya çift yönlü olarak ayarlanmasına bakılmaksızın tek yönlü filtreler kullanır. İlişkiyi seçip Her iki yönde de güvenlik filtresi uygula onay kutusunu işaretleyerek satır düzeyi güvenlikle çift yönlü çapraz filtrelemeyi el ile etkinleştirebilirsiniz. Bir tablo birden çok çift yönlü ilişkide yer alıyorsa, bu ilişkilerden yalnızca biri için bu seçeneği belirleyebilirsiniz. Ayrıca, satır düzeyi güvenliğin kullanıcı adına veya oturum açma kimliğine dayalı olduğu sunucu düzeyinde dinamik satır düzeyi güvenlik de uyguladığınızda bu seçeneği belirleyin.

Daha fazla bilgi için Power BI'da DirectQuery kullanarak çift yönlü çapraz filtreleme ve Tablolu BI Anlam Modelinin Güvenliğini Sağlama teknik makalesine bakın.

Seçili güvenlik filtresi uygula onay kutusunun ekran görüntüsü.

Gelişmiş satır düzeyi güvenlik düzenleyicisini kullanarak Power BI'da rolleri ve kuralları tanımlama (Önizleme)

Gelişmiş satır düzeyi güvenlik düzenleyicisini kullanarak Power BI'da satır düzeyi güvenlik rollerini ve filtrelerini hızlı ve kolay bir şekilde tanımlayabilirsiniz. Bu düzenleyiciyle, varsayılan açılan arabirimi ve DAX arabirimini kullanma arasında geçiş yapabilirsiniz. Power BI'da yayımladığınızda rol tanımlarını da yayımlarsınız.

Gelişmiş satır düzeyi güvenlik düzenleyicisini kullanarak güvenlik rollerini tanımlamak için:

  1. Power BI Desktop'ta, Dosya > Seçenekleri ve Ayarlar > Seçenekleri > Önizleme özellikleri'ne gidip "Gelişmiş satır düzeyi güvenlik düzenleyicisi"ni açarak önizlemeyi etkinleştirin. Alternatif olarak, Power BI hizmeti veri modelinizi düzenleyerek hizmette bu düzenleyiciyi kullanabilirsiniz.

  2. Power BI anlam modelinize veri aktarın veya DirectQuery bağlantısı yapılandırın.

  3. Şeritten Rolleri yönet'i seçin.

    Masaüstü şeridindeki Rolleri yönet düğmesinin ekran görüntüsü.

  4. Rolleri yönet penceresinde Yeni'yi seçerek yeni bir rol oluşturun.

    Gelişmiş satır düzeyi güvenlik düzenleyicisinde yeni rol oluşturma işleminin ekran görüntüsü.

  5. Roller'in altında rol için bir ad girin ve Enter'ı seçin.

    Gelişmiş satır düzeyi güvenlik düzenleyicisinde bir rolü yeniden adlandırma işleminin ekran görüntüsü.

  6. Tabloları seçin altında, satır düzeyi güvenlik filtresi uygulamak istediğiniz tabloyu seçin.

  7. Verileri filtrele'nin altında rollerinizi tanımlamak için varsayılan düzenleyiciyi kullanın. Oluşturulan ifadeler bir true veya false değeri döndürür.

    Gelişmiş satır düzeyi güvenlik düzenleyicisinde varsayılan düzenleyiciyi kullanma örneğinin ekran görüntüsü.

    Not

    Power BI'da desteklenen tüm satır düzeyi güvenlik filtreleri varsayılan düzenleyici kullanılarak tanımlanamaz. Sınırlamalar, bugün yalnızca username() veya userprincipalname() gibi dinamik kurallar da dahil olmak üzere DAX kullanılarak tanımlanabilen ifadeleri içerir. Bu filtreleri kullanarak rolleri tanımlamak için DAX düzenleyicisini kullanmaya geçin.

  8. İsteğe bağlı olarak, rolünüzü tanımlamak üzere DAX düzenleyicisini kullanmaya geçmek için DAX düzenleyicisine geç'i seçin. Varsayılan düzenleyiciye geç'i seçerek varsayılan düzenleyiciye geri dönebilirsiniz. Her iki düzenleyici arabiriminde yapılan tüm değişiklikler mümkün olduğunda arabirimler arasında geçiş yaparken kalıcı olur.

    Gelişmiş satır düzeyi güvenlik düzenleyicisinde DAX düzenleyicisini kullanma örneğinin ekran görüntüsü.

    DaX düzenleyicisini kullanarak varsayılan düzenleyicide tanımlanmayan bir rol tanımlarken, varsayılan düzenleyiciye geçmeyi denerseniz, düzenleyicileri değiştirmenin bazı bilgilerin kaybolmasına neden olabileceği uyarısını alırsınız. Bu bilgileri korumak için İptal'i seçin ve dax düzenleyicisinde yalnızca bu rolü düzenlemeye devam edin.

    Gelişmiş satır düzeyi güvenlik düzenleyicisinde DAX'tan varsayılan düzenleyiciye geçiş yaparken oluşan örnek hata iletişim kutusunun ekran görüntüsü.

  9. Kaydet'i seçin.

Power BI Desktop'ta rolleri doğrulama

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

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

    Farklı görüntüle seçeneğinin vurgulandığı Modelleme sekmesinin ekran görüntüsü.

    Oluşturduğunuz rolleri gördüğünüz Rol olarak görüntüle penceresi görüntülenir.

    Hiçbiri'nin seçili olduğu Rol olarak görüntüle penceresinin ekran görüntüsü.

  2. Oluşturduğunuz bir rolü seçin. Ardından bu rolü uygulamak için Tamam'ı seçin.

    Rapor, söz konusu rolle ilgili verileri işler.

  3. Ayrıca Diğer kullanıcı'ı seçip belirli bir kullanıcı sağlayabilirsiniz.

    Örnek bir kullanıcının girilmiş olduğu Rol olarak görüntüle penceresinin ekran görüntüsü.

    Kullanıcı Asıl Adı'nı (UPN) sağlamak en iyisidir çünkü Power BI hizmeti ve Power BI Rapor Sunucusu bunu kullanır.

    Power BI Desktop'ta Diğer kullanıcı yalnızca DAX ifadelerinizi temel alan dinamik güvenlik kullanıyorsanız farklı sonuçlar görüntüler. Bu durumda, rolün yanı sıra kullanıcı adını da eklemeniz gerekir.

  4. Tamam'ı seçin.

    Rapor, RLS filtrelerinin kullanıcının görmesine izin vermesine bağlı olarak işlenir.

    Not

    Rol olarak görüntüle özelliği, Çoklu Oturum Açma (SSO) özelliğinin etkinleştirildiği DirectQuery modellerinde çalışmaz.

Modelinizde güvenliği yönetme

Anlam modelinizde güvenliği yönetmek için, anlam modelinizi Power BI hizmeti kaydettiğiniz çalışma alanını açın ve aşağıdaki adımları uygulayın:

  1. Power BI hizmeti anlamsal model için Diğer seçenekler menüsünü seçin. Bu menü, ister gezinti menüsünden ister çalışma alanı sayfasından seçim yapın, semantik model adının üzerine geldiğinizde görüntülenir.

    Çalışma alanında Diğer seçenekler menüsünü gösteren ekran görüntüsü.

    Gezinti menüsünde Diğer seçenekler menüsünü gösteren ekran görüntüsü.

  2. Güvenlik'i seçin.

    Güvenlik'in seçili olduğu Diğer seçenekler menüsünü gösteren ekran görüntüsü.

Güvenlik sizi, oluşturduğunuz bir role üye eklediğiniz Rol Düzeyi Güvenlik sayfasına götürür. Katkıda bulunan (ve daha yüksek çalışma alanı rolleri) Güvenlik'i görür ve kullanıcıları bir role atayabilir.

Üyelerle çalışma

Üye ekle

Power BI hizmeti, kullanıcının veya güvenlik grubunun e-posta adresini veya adını yazarak role bir üye ekleyebilirsiniz. Power BI'da oluşturulan Grupları ekleyemezsiniz. Kuruluşunuza dış üyeler ekleyebilirsiniz.

Satır düzeyi güvenliği ayarlamak için aşağıdaki grupları kullanabilirsiniz.

Microsoft 365 gruplarının desteklenmediğini ve hiçbir rollere eklenebileceğini unutmayın.

Üye eklemeyi gösteren ekran görüntüsü.

Rol adının yanındaki veya Üyeler'in yanındaki parantez içindeki sayıya göre rolün parçası olan üye sayısını da görebilirsiniz.

Roldeki üyeleri gösteren ekran görüntüsü.

Üyeleri kaldırma

Adlarının yanındaki X işaretini seçerek üyeleri kaldırabilirsiniz.

Bir üyenin nasıl kaldırılacağını gösteren ekran görüntüsü.

Power BI hizmeti içindeki rolü doğrulama

Tanımladığınız rolü test ederek Power BI hizmeti doğru çalıştığını doğrulayabilirsiniz.

  1. Rolün yanındaki Diğer seçenekler 'i (...) seçin.
  2. Rol olarak test et'i seçin.

Rol olarak test et seçeneğinin ekran görüntüsü.

Varsa bu anlam modeliyle Power BI Desktop'tan yayımlanan rapora yönlendirilirsiniz. Panolar, Rol olarak test et seçeneği kullanılarak test için kullanılamaz.

Sayfa üst bilgisinde, uygulanan rol gösterilir. Şimdi farklı görüntüle'yi seçerek diğer rolleri, rollerin birleşimini veya belirli bir kişiyi test edin. Burada, test edilen bireye veya role ilişkin önemli izin ayrıntılarını görürsünüz. İzinlerin RLS ile etkileşim kurması hakkında daha fazla bilgi için bkz . RLS kullanıcı deneyimi.

Belirli bir kişi için Şimdi açılan liste olarak görüntüleniyor seçeneğinin ekran görüntüsü.

Sayfa üst bilgisinde Görüntüleme'yi seçerek anlam modeline bağlı diğer raporları test edin. Yalnızca semantik modelinizle aynı çalışma alanında bulunan raporları test edebilirsiniz.

Test etmek için farklı bir rapor seçmek için Görüntüleme'nin ekran görüntüsü.

Normal görüntülemeye dönmek için Satır Düzeyi Güvenliğe Dön'e tıklayın.

Not

Rol olarak test etme özelliği, Çoklu Oturum Açma (SSO) etkinleştirilmiş DirectQuery modellerinde çalışmaz. Ayrıca Soru-Cevap görselleştirmeleri, Hızlı içgörü görselleştirmeleri ve Copilotdahil olmak üzere Rol olarak test et özelliğinde raporun tüm yönleri doğrulanamaz.

username() veya userprincipalname() DAX işlevini kullanma

Veri kümenizdeki DAX işlevleri username() veya userprincipalname() avantajlarından yararlanabilirsiniz. Bunları Power BI Desktop'taki ifadeler içinde kullanabilirsiniz. Modelinizi yayımladığınızda, Power BI hizmeti içinde kullanılır.

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

Power BI hizmeti içinde username() ve userprincipalname() kullanıcı asıl adını (UPN) döndürür. Bu, e-posta adresine benzer.

Power BI'da çalışma alanlarıyla RLS kullanma

Power BI Desktop raporunuzu Power BI hizmeti bir çalışma alanında yayımlarsanız, RLS rolleri çalışma alanında Görüntüleyici rolüne atanan üyelere uygulanır. Görüntüleyicilere anlam modeli için Derleme izinleri verilse bile RLS yine de geçerlidir. Örneğin, Derleme izinlerine sahip Görüntüleyiciler Excel'de Çözümle'yi kullanıyorsa, verilerin görünümü RLS ile kısıtlanır. Yönetici, Üye veya Katkıda Bulunan'a atanan çalışma alanı üyelerinin anlam modeli için düzenleme izni vardır ve bu nedenle RLS bunlara uygulanmaz. RLS'nin çalışma alanında bulunan kişilere uygulanmasını istiyorsanız, yalnızca Görüntüleyici rolü atayabilirsiniz. Çalışma alanlarındaki roller hakkında daha fazla bilgi edinin.

Dikkat edilecekler ve sınırlamalar

Bulut modellerinde satır düzeyi güvenlikle ilgili geçerli sınırlamaları burada görebilirsiniz:

  • daha önce Power BI hizmeti rolleri ve kuralları tanımladıysanız, bunları Power BI Desktop'ta yeniden oluşturmanız gerekir.
  • RLS'yi yalnızca Power BI Desktop ile oluşturulan anlam modellerinde tanımlayabilirsiniz. Excel ile oluşturulan anlam modelleri için RLS'yi etkinleştirmek istiyorsanız, önce dosyalarınızı Power BI Desktop (PBIX) dosyalarına dönüştürmeniz gerekir. Daha fazla bilgi edinin.
  • Hizmet sorumluları RLS rolüne eklenemez. Buna göre, son etkin kimlik olarak hizmet sorumlusu kullanan uygulamalar için RLS uygulanmaz.
  • Yalnızca İçeri Aktarma ve DirectQuery bağlantıları desteklenir. Analysis Services'e canlı bağlantılar şirket içi modelde işlenir.
  • Rol olarak test et/Rol olarak görüntüle özelliği, çoklu oturum açma (SSO) etkinleştirilmiş DirectQuery modellerinde çalışmaz.
  • Rol olarak test et/rol olarak görüntüle özelliği yalnızca anlam modelleri çalışma alanından gelen raporları gösterir.
  • Rol olarak test et/Rol olarak görüntüle özelliği sayfalandırılmış raporlarda çalışmaz.

Power BI raporu RLS yapılandırılmış bir satıra başvuruda bulunursa, silinen veya var olmayan bir alan için aynı iletinin görüntülendiğini unutmayın. Bu kullanıcılar için rapor bozuk gibi görünüyor.

SSS

Soru: Daha önce Power BI hizmeti bir veri kümesi için roller ve kurallar oluşturduysam ne olur? Ben bir şey yapmasam bile hâlâ çalışırlar mı?
Yanıt: Hayır, görseller düzgün işlenmez. Power BI Desktop'ta rolleri ve kuralları yeniden oluşturmanız ve ardından Power BI hizmeti yayımlamanız gerekir.

Soru: Analysis Services veri kaynakları için bu rolleri oluşturabilir miyim?
Yanıt: Evet, verileri Power BI Desktop'a aktardıysanız. Canlı bağlantı kullanıyorsanız, Power BI hizmeti içinde RLS'yi yapılandıramazsınız. Şirket içi Analysis Services modelinde RLS tanımlarsınız.

Soru: Kullanıcılarım tarafından erişilebilen sütunları veya ölçüleri sınırlamak için RLS kullanabilir miyim?
Yanıt: Hayır, kullanıcının belirli bir veri satırına erişimi varsa bu satıra ait tüm veri sütunlarını görebilir. Sütunlara ve sütun meta verilerine erişimi kısıtlamak için nesne düzeyinde güvenlik kullanmayı göz önünde bulundurun.

Soru: RLS, ayrıntılı verileri gizlememe izin veriyor ancak görsellerde özetlenen verilere erişim izni veriyor mu?
Yanıt: Hayır, tek tek veri satırlarının güvenliğini sağlarsınız, ancak kullanıcılar her zaman ayrıntıları veya özetlenmiş verileri görebilir.

Soru: Veri kaynağımda zaten tanımlanmış güvenlik rolleri var (örneğin, SQL Server rolleri veya SAP BW rolleri). Bu rollerle RLS arasındaki ilişki nedir?
Yanıt: Yanıt, verileri içeri aktarıp aktarmadığınıza veya DirectQuery kullanıp kullanmadığınıza bağlıdır. Verileri Power BI veri kümenize aktarıyorsanız, veri kaynağınızdaki güvenlik rolleri kullanılmaz. Bu durumda, Power BI'a bağlanan kullanıcılar için güvenlik kurallarını zorunlu kılmak için RLS tanımlamanız gerekir. DirectQuery kullanıyorsanız veri kaynağınızdaki güvenlik rolleri kullanılır. Kullanıcı bir raporu açtığında Power BI, temel alınan veri kaynağına kullanıcının kimlik bilgilerine göre verilere güvenlik kuralları uygulayan bir sorgu gönderir.

Soru: Kullanıcı birden fazla role ait olabilir mi?
Yanıt: Bir kullanıcı birden çok role ait olabilir ve roller eklenir. Örneğin, bir kullanıcı hem "Satış" hem de "Pazarlama" rollerine aitse, bu rollerin her ikisi için de verileri görebilir.

Sorularınız var mı? Power BI Topluluğu Önerileri'ni sormayı deneyin. Power BI'ı geliştirmek için fikirlere katkıda bulunma