Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Tablosal modellerdeki roller, model için üye izinlerini tanımlar. Rolün üyeleri, rol izni tarafından tanımlanan şekilde model üzerinde eylemler gerçekleştirebilir. Okuma izinleriyle tanımlanan roller, satır düzeyi filtreleri kullanarak satır düzeyinde daha fazla güvenlik de sağlayabilir.
Azure Analysis Services ve Power BI anlam modelleri için kullanıcıların Microsoft Entra id'nizde olması gerekir. Kullanıcı adları ve gruplar, kuruluş e-posta adresi veya kullanıcı asıl adı (UPN) ile belirtilir. SQL Server Analysis Services için roller, Windows kullanıcı adı veya Windows grubu tarafından belirtilen kullanıcı üyelerini ve izinleri (okuma, işlem, yönetici) içerir.
Önemli
Rol oluşturmak ve Kullanıcıları Azure Analysis Services veya Power BI'a dağıtılacak tablosal model projesine eklemek için Visual Studio kullanıyorsanız Tümleşik çalışma alanını kullanın.
Önemli
Kullanıcıların bir raporlama istemci uygulaması kullanarak dağıtılan bir modele bağlanması için en az Okuma iznine sahip en az bir rol oluşturmanız gerekir. Raporlama istemci uygulamasının kullanıcılarını role üye olarak ekleyin.
Bu makaledeki bilgiler, SSDT'de Rol Yöneticisi iletişim kutusunu kullanarak rolleri tanımlayan tablosal model yazarları içindir. Model yazma sırasında tanımlanan roller, model çalışma alanı veritabanına uygulanır. Model veritabanı dağıtıldıktan sonra model veritabanı yöneticileri SSMS kullanarak rol üyelerini yönetebilir (ekleyebilir, düzenleyebilir, silebilir).
Rolleri anlama
Roller Analysis Services'te model veri erişimini yönetmek için kullanılır. İki tür rol vardır:
Sunucu rolü, Analysis Services sunucu örneğine yönetici erişimi sağlayan sabit bir roldür. Sunucu rolleri Power BI için geçerli değildir. Bunun yerine Power BI çalışma alanı rollerini kullanır.
Veritabanı rolleri, model yazarları ve yöneticileri tarafından model veritabanına ve kullanıcılara yönelik verilere erişimi denetlemek için tanımlanır.
Tablosal model için tanımlanan roller veritabanı rolleridir. Bu roller, üyelerin model veritabanında gerçekleştirebileceği eylemi tanımlayan belirli izinlere sahip kullanıcıları veya grupları içerir. Bir rol veritabanında ayrı bir nesne olarak oluşturulur ve yalnızca rolün oluşturulduğu veritabanına uygulanır. Model yazarı, role kullanıcıları ve grupları ekler. Varsayılan olarak, model yazarının çalışma alanı veritabanı sunucusunda Yönetici izinleri vardır; dağıtılan bir model için rol üyeleri bir yönetici tarafından eklenir.
Tablosal modellerdeki roller, satır düzeyi güvenlik olarak da bilinen satır filtreleri ile daha fazla tanımlanabilir. Satır filtreleri, bir tablodaki satırları ve kullanıcının sorgulayabileceğiniz birçok yöndeki ilgili satırları tanımlamak için DAX ifadelerini kullanır. DAX ifadelerini kullanan satır filtreleri yalnızca Okuma ve Okuma ve İşleme izinleri için tanımlanabilir. Power BI'da model rolleri Power BI Desktop'ta tanımlanır ve yalnızca satır düzeyi güvenliğe uygulanır. Daha fazla bilgi edinmek için bu makalenin devamında yer alan Satır filtreleri bölümüne bakın.
Varsayılan olarak, yeni bir tablosal model projesi oluşturduğunuzda projenin tanımlı rolü yoktur. Roller, SSDT'deki Rol Yöneticisi iletişim kutusu kullanılarak tanımlanır. Roller model yazma sırasında tanımlandığında model çalışma alanı veritabanına uygulanır. Model dağıtıldığında, dağıtılan modele aynı roller uygulanır. Bir model dağıtıldıktan sonra, sunucu rolünün üyeleri (Analysis Services Yöneticisi) ve veritabanı yöneticileri SSMS kullanarak modelle ilişkili rolleri ve her rolle ilişkili üyeleri yönetebilir.
Permissions
Bu bölümde açıklanan rol izinleri yalnızca Azure Analysis Services ve SQL Server Analysis Services için geçerlidir. Power BI'da, semantik model için izinler tanımlanır. Daha fazla bilgi edinmek için bkz. Anlam modeli erişimini yönetme.
Her rolün tek tanımlı veritabanı izni vardır (birleşik Okuma ve İşlem izni hariç). Varsayılan olarak, yeni bir rol Yok iznine sahiptir. Üyeler Yok iznine sahip bir role eklendiğinde, farklı bir izin verilmediği sürece veritabanını değiştiremez, işlem işlemi çalıştıramaz, verileri sorgulayamaz veya veritabanını göremez.
Bir grup veya kullanıcı, her rolün farklı bir izne sahip olduğu herhangi bir sayıda rolün üyesi olabilir. Bir kullanıcı birden çok rolün üyesi olduğunda, her rol için tanımlanan izinler birikmeli olur. Örneğin, bir kullanıcı Okuma iznine sahip bir rolün üyesiyse ve ayrıca Yok iznine sahip bir rolün üyesiyse, o kullanıcının Okuma izinleri vardır.
Her rol aşağıdaki izinlerden birine sahip olabilir:
| Permissions | Description | DAX kullanan satır filtreleri |
|---|---|---|
| Hiç kimse | Üyeler model veritabanı şemasında değişiklik yapamaz ve verileri sorgulayamaz. | Satır filtreleri uygulanmaz. Bu roldeki kullanıcılara görünür veri yok |
| Read | Üyelerin verileri sorgulamasına izin verilir (satır filtrelerine göre) ancak SSMS'de model veritabanını göremez, model veritabanı şemasında değişiklik yapamaz ve kullanıcı modeli işleyemez. | Satır filtreleri uygulanabilir. Yalnızca satır filtresi DAX formülünde belirtilen veriler kullanıcılar tarafından görülebilir. |
| Okuma ve İşleme | Üyelerin verileri sorgulamasına (satır düzeyi filtreleri temelinde) ve işlem komutu içeren bir betik veya paket çalıştırarak işlem işlemlerini çalıştırmasına izin verilir, ancak veritabanında değişiklik yapamaz. İzine sahip kullanıcılar SSMS'de model veritabanını görüntüleyemez. | Satır filtreleri uygulanabilir. Yalnızca satır filtresi DAX formülünde belirtilen veriler sorgulanabilir. |
| İşlem | Üyeler, işlem komutunu içeren bir betik veya paket çalıştırarak işlem işlemlerini çalıştırabilir. Üyeler model veritabanı şemasını değiştiremez, verileri sorgulayamaz ve SSMS'de model veritabanını sorgulayamaz. | Satır filtreleri uygulanmaz. Bu rolde hiçbir veri sorgulanamaz |
| Administrator | Üyeler model şemasında değişiklik yapabilir ve model tasarımcısındaki, raporlama istemcisindeki ve SSMS'deki tüm verileri sorgulayabilir. | Satır filtreleri uygulanmaz. Tüm veriler bu rolde sorgulanabilir. |
Uyarı
Okuma ve Okuma ve İşleme izinlerine sahip üyeler satır filtrelerine göre verileri sorgulayabilir ancak SSMS'de model veritabanını göremez. Üyeler model veritabanı şemasında değişiklik yapamaz ve modeli işleyemez. Ancak, SQL Server Analysis Services 2019 ve önceki sürümlerinde, üyeler ölçü tanımlarını belirlemek için DMV'leri kullanabilir. SQL Server Analysis Services 2022 ve üzeri, gelişmiş güvenlik için DMV'lere erişimi engeller.
Satır filtreleri
Power BI'da genellikle satır düzeyi güvenlik olarak bilinen satır filtreleri, bir tablodaki hangi satırların belirli bir rolün üyeleri tarafından sorgulanabileceğini tanımlar. Satır filtreleri, DAX formülleri kullanılarak modeldeki her tablo için tanımlanır.
Satır filtreleri yalnızca Okuma ve Okuma ve İşleme izinlerine sahip roller için tanımlanabilir. Varsayılan olarak, belirli bir tablo için satır filtresi tanımlanmamışsa, Okuma veya Okuma ve İşlem iznine sahip bir rolün üyeleri, çapraz filtreleme başka bir tablodan uygulanmazsa tablodaki tüm satırları sorgulayabilir.
Belirli bir tablo için satır filtresi tanımlandıktan sonra, DOĞRU/YANLIŞ değerini değerlendiren bir DAX formülü, söz konusu rolün üyeleri tarafından sorgulanabilecek satırları tanımlar. DAX formülüne dahil olmayan satırlar sorgulanamaz. Örneğin, Satış rolünün üyeleri için, Müşteriler tablosunda = Müşteriler [Ülke] = "ABD" adlı aşağıdaki satır filtreleri ifadesi varsa, Satış rolünün üyeleri yalnızca ABD'deki müşterileri görür.
Satır filtreleri hem belirtilen satırlara hem de ilgili satırlara uygulanır. Bir tablonun birden çok ilişkisi olduğunda, filtreler etkin olan ilişki için güvenlik uygular. Satır filtreleri, ilgili tablolar için tanımlanan diğer satır dosyalayıcılarıyla kesişir, örneğin:
| Tablo | DAX ifadesi |
|---|---|
| Bölge | =Bölge[Ülke]="ABD" |
| Ürün Kategorisi | =ProductCategory[Ad]="Bisikletler" |
| Transactions | =İşlemler[Yıl]=2020 |
Bu izinlerin İşlemler tablosundaki net etkisi, üyelerin müşterinin ABD'de olduğu veri satırlarını sorgulayıp ürün kategorisinin bisiklet, yıl ise 2020 olmasıdır. Kullanıcılar, bu izinleri veren başka bir rolün üyesi olmadıkları sürece, ABD dışındaki işlemleri, bisiklet dışındaki işlemleri veya 2020 dışında gerçekleşen işlemleri sorgulayamaz.
Tüm tablonun tüm satırlarına erişimi reddetmek için =YANLIŞ() filtresini kullanabilirsiniz.
Power BI'daki model rolleri hakkında daha fazla bilgi edinmek için bkz. Power BI'da satır düzeyi güvenlik.
Dinamik güvenlik
Dinamik güvenlik, şu anda oturum açmış olan kullanıcının kullanıcı adına veya bir bağlantı dizesinden döndürülen CustomData özelliğine göre satır düzeyi güvenlik tanımlamanızı sağlar. Dinamik güvenlik uygulamak için, kullanıcılar için oturum açma (Windows kullanıcı adı) değerlerini içeren bir tablo ve modelinizde belirli bir izni tanımlamak için kullanılabilecek bir alan eklemeniz gerekir. Örneğin, oturum açma kimliğine (etki alanı\kullanıcıadı) sahip bir dimEmployees tablosunun yanı sıra modeldeki her çalışan için bir departman değeri ekleyin.
Dinamik güvenlik uygulamak için, şu anda oturum açmış olan kullanıcının kullanıcı adını veya bir bağlantı dizesindeki CustomData özelliğini döndürmek için bir DAX formülünün parçası olarak aşağıdaki işlevleri kullanabilirsiniz:
| İşlev | Description |
|---|---|
| USERNAME İşlevi (DAX) | Şu anda oturum açmış olan kullanıcının etki alanını\kullanıcı adını döndürür. |
| CUSTOMDATA İşlevi (DAX) | Bir bağlantı dizesindeki CustomData özelliğini döndürür. |
Windows kullanıcı adının USERNAME işlevi tarafından döndürülen kullanıcı adıyla veya CustomData işlevi tarafından döndürülen bir dizeyle aynı olduğu bir sütunun değerlerini döndürmek için LOOKUPVALUE işlevini kullanabilirsiniz. LOOKUPVALUE tarafından döndürülen değerlerin aynı veya ilişkili tablodaki değerleri eşleştirdiği sorgular kısıtlanabilir.
Örneğin, şu formülü kullanarak:
='dimDepartment'[DepartmentId]=LOOKUPVALUE('dimEmployees'[DepartmentId], 'dimEmployees'[LoginId], USERNAME(), 'dimEmployees'[LoginId], 'dimDepartment'[DepartmentId])
LOOKUPVALUE işlevi, dimEmployees[DepartmentId] sütununun değerlerini döndürür. Burada dimEmployees[LoginId] şu anda oturum açmış olan kullanıcının LoginID değeriyle aynıdır, USERNAME tarafından döndürülür ve dimEmployees[DepartmentId] değerleri dimDepartment[DepartmentId] değerleriyle aynıdır. LOOKUPVALUE tarafından döndürülen DepartmentId değerleri daha sonra dimDepartment tablosunda sorgulanan satırları ve DepartmentId ile ilgili tüm tabloları kısıtlamak için kullanılır. Yalnızca DepartmentId değerinin, LOOKUPVALUE işlevi tarafından döndürülen DepartmentId değerleri arasında bulunduğu satırlar döndürülür.
dimEmployees
| Soyadı | İlk İsim | LoginId | BölümAdı | DepartmentId |
|---|---|---|---|---|
| Kahverengi | Kevin | Adventure-works\kevin0 | Pazarlama | 7 |
| Bradley | David | Adventure-works\david0 | Pazarlama | 7 |
| Dobney | JoLynn | Adventure-works\JoLynn0 | Üretim | 4 |
| Baretto DeMattos | Paula | Adventure-works\Paula0 | İnsan Kaynakları | 2 |
dimDepartment
| DepartmentId | BölümAdı |
|---|---|
| 1 | Kurumsal |
| 2 | İdari Genel ve Yönetim |
| 3 | Stok Yönetimi |
| 4 | İmalat |
| 5 | Kalite Güvencesi |
| 6 | Araştırma ve Geliştirme |
| 7 | Satış ve Pazarlama |
Rolleri test etme süreçleri
Visual Studio'da model projesi oluştururken, tanımladığınız rollerin etkinliğini test etmek için Excel'de Çözümle özelliğini kullanabilirsiniz. Model tasarımcısındaki Modelmenüsünden Excel'de Çözümle'yi seçin. Excel açılmadan önce Kimlik Bilgilerini ve Perspektifi Seç iletişim kutusu görüntülenir. Bu iletişim kutusunda geçerli kullanıcı adını, farklı bir kullanıcı adını, rolü ve çalışma alanı modeline veri kaynağı olarak bağlanmak için kullanacağınız perspektifi belirtebilirsiniz. Daha fazla bilgi edinmek için bkz . Excel'de Çözümleme.
Betik rolleri
Dağıtılmış modeller ve anlam modelleri için roller, Tablosal Model Betik Dili (TMSL) kullanılarak Roller nesnesi oluşturmak veya değiştirmek amacıyla betik haline getirilebilir. TMSL betikleri SSMS'de veya Invoke-ASCmd PowerShell cmdlet'iyle yürütülebilir.
Ayrıca bakınız
Rol Oluşturma ve Yönetme
Perspectives
Excel’de çözümleme
USERNAME İşlevi (DAX)
LOOKUPVALUE İşlevi (DAX)
CUSTOMDATA İşlevi (DAX)