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öneticiler, Ü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. 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.
Güvenlik rollerini tanımlamak için:
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.
Modelleme sekmesinde Rolleri Yönet'i seçin.
Rolleri yönet penceresinde Yeni'yi seçerek yeni bir rol oluşturun.
Roller'in altında rol için bir ad girin ve Enter'ı seçin.
Not
Virgülle bir rol tanımlayamazsınız, örneğin
London,ParisRole
.Tablo seç'in altında, satır düzeyi güvenlik filtresi uygulamak istediğiniz tabloyu seçin.
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.
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.
İ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. DAX ifadeleri true veya false değerini döndürür. Örneğin:
[Entity ID] = “Value”
. DAX düzenleyicisi, formüller (intellisense) için otomatik tamamlama ile tamamlanır. İfade kutusunun üzerindeki onay işaretini seçerek ifadeyi doğrulayabilir ve değişiklikleri geri döndürmek için ifade kutusunun üzerindeki X düğmesini seçebilirsiniz.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. Ayrıca, 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.
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. 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.
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.
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.
Modelinizde güvenliği yönetme
Anlam modelinizde güvenliği yönetmek için, dokuda anlam modelinizi kaydettiğiniz çalışma alanını açın ve aşağıdaki adımları uygulayın:
Doku'da, anlamsal model için Diğer seçenekler menüsünü seçin. Semantik model adının üzerine geldiğinizde bu menü görüntülenir.
Güvenlik'i seçin.
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.
- Dağıtım Grubu
- Posta etkin Grup
- Microsoft Entra Güvenlik Grubu
Microsoft 365 gruplarının desteklenmediğini ve hiçbir rollere eklenebileceğini unutmayın.
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.
Üyeleri kaldırma
Adlarının yanındaki X işaretini seçerek üyeleri kaldırabilirsiniz.
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.
- Rolün yanındaki Diğer seçenekler 'i (...) seçin.
- Rol olarak test et'i seçin.
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.
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.
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 atanan çalışma alanı üyelerinin anlam modeli için düzenleme izni vardır ve bu nedenle RLS bunlar için geçerli değildir. 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.
İlgili içerik
- Power BI Desktop için satır düzeyi güvenlik (RLS) ile veri erişimini kısıtlama
- Power BI Desktop'ta satır düzeyi güvenlik (RLS) kılavuzu
- Power BI uygulama planlaması: Tüketici güvenliği planlamayı raporlama
- ISV'ler için Katıştırılmış senaryolar için RLS
Sorularınız var mı? Power BI Topluluğu Önerileri'ni sormayı deneyin. Power BI'ı geliştirmek için fikirlere katkıda bulunma