Veritabanı rollerini ve kullanıcılarını yönetme
Model veritabanı düzeyinde, tüm kullanıcılar bir role ait olmalıdır. Roller, model veritabanı için belirli izinlere sahip kullanıcıları tanımlar. Bir role eklenen herhangi bir kullanıcı veya güvenlik grubunun, sunucusuyla aynı abonelikte bir Azure AD kiracısında hesabı olması gerekir.
Rolleri nasıl tanımlayacağınızı kullandığınız araca göre farklılık gösteren, ancak efekt aynı.
Rol izinleri şunları içerir:
- Yönetici -kullanıcıların veritabanı için tam izinleri vardır. Yönetici izinlerine sahip veritabanı rolleri sunucu yöneticilerden farklıdır.
- İşlem -kullanıcılar, veritabanında işlem işlemlerine bağlanabilir ve bu işlemleri gerçekleştirebilir ve model veritabanı verilerini analiz edebilir.
- Okuma -kullanıcılar, model veritabanı verilerine bağlanmak ve analiz etmek için bir istemci uygulaması kullanabilir.
Tablosal model projesi oluştururken, Visual Studio 'da Analysis Services projelerle rol Yöneticisi kullanarak roller oluşturur ve bu rollere kullanıcı veya grup ekleyebilirsiniz. Bir sunucuya dağıtıldığında, rol ve Kullanıcı üyeleri eklemek veya kaldırmak için SQL Server Management Studio (SSMS), Analysis Services PowerShell cmdlet 'leriveya tablo modeli komut dosyası dili (tmsl) kullanın.
Bir güvenlik grubu eklerken kullanın obj:groupid@tenantid .
Hizmet sorumlusu kullanımı eklenirken app:appid@tenantid .
Visual Studio 'da rol ve Kullanıcı ekleme veya yönetme
Tablosal Model Gezgini' nde Roller' e sağ tıklayın.
Rol Yöneticisi'nde Yeni'ye tıklayın.
Rol için bir ad yazın.
Varsayılan olarak, varsayılan rolün adı her yeni rol için artımlı olarak numaralandırılır. Üye türünü açıkça tanımlayan bir ad yazmanız önerilir, örneğin finans yöneticileri veya Insan kaynakları uzmanları.
Aşağıdaki izinlerden birini seçin:
İzin Description Hiçbiri Üyeler model şemasını okuyamıyor veya değiştiremezler ve verileri sorgulayamaz. Okuyamaz Üyeler veri sorgulayabilir (satır filtrelerine göre), ancak model şemasını değiştiremezler. Okuma ve Işleme Üyeler, verileri sorgulayabilir (satır düzeyi filtrelere göre) ve Işlemi çalıştırabilir ve tüm işlemleri Işleyebilir, ancak model şemasını değiştiremezler. İşleme Üyeler, Işlem çalıştırabilir ve tüm işlemleri Işleyebilir. Model şeması okunamıyor veya değiştirilemiyor ve veri sorgulanamıyor. Yönetici Üyeler model şemasını değiştirebilir ve tüm verileri sorgulayabilir. Oluşturmakta olduğunuz rolün okuma veya okuma ve Işleme izni varsa, bir DAX formülü kullanarak satır filtreleri ekleyebilirsiniz. Satır filtreleri sekmesine tıklayın, sonra bir tablo seçin, sonra DAX filtresi alanına tıklayın ve ardından bir DAX formülü yazın.
Üyeler > dış Ekle' ye tıklayın.
Dış üye Ekle' de, kiracınızdaki kullanıcıları veya grupları e-posta adresine göre Azure AD 'ye girin. Tamam ' a tıkladıktan sonra Rol Yöneticisi ' ni kapattıktan sonra, roller ve rol üyeleri tablosal Model Gezgini 'nde görünür.

Azure Analysis Services sunucunuza dağıtın.
SSMS 'de rol ve Kullanıcı ekleme veya yönetme
Dağıtılan bir model veritabanına roller ve kullanıcılar eklemek için sunucu yöneticisi olarak sunucuya veya yönetici izinlerine sahip bir veritabanı rolünde zaten olmalıdır.
Nesne Exporer 'da Roller > Yeni rol' e sağ tıklayın.
Rol oluştur' da bir rol adı ve açıklama girin.
Bir izin seçin.
İzin Description Tam denetim (yönetici) Üyeler model şemasını değiştirebilir, işleyebilir ve tüm verileri sorgulayabilir. İşlem veritabanı Üyeler, Işlem çalıştırabilir ve tüm işlemleri Işleyebilir. Model şeması değiştirilemiyor ve veri sorgulanamıyor. Okuyamaz Üyeler veri sorgulayabilir (satır filtrelerine göre), ancak model şemasını değiştiremezler. Üyelik' e tıklayın, ardından kiracınızda Azure AD 'ye e-posta adresini girerek bir kullanıcı veya grup girin.

Oluşturmakta olduğunuz rolün okuma izni varsa, bir DAX formülü kullanarak satır filtresi ekleyebilirsiniz. Satır filtreleri' ne tıklayın, bir tablo seçin ve DAX FILTRESI alanına bir DAX formülü yazın.
Bir TMSL betiği kullanarak rol ve Kullanıcı eklemek için
Bir TMSL betiğini SSMS içindeki XMLA penceresinde veya PowerShell kullanarak çalıştırabilirsiniz. Createorreplace komutunu ve Roller nesnesini kullanın.
Örnek TMSL betiği
Bu örnekte, B2B dış kullanıcısı ve bir grubu, satış bı veritabanı için okuma izinlerine sahip analist rolüne eklenir. Hem dış kullanıcı hem de grup aynı kiracı Azure AD 'de olmalıdır.
{
"createOrReplace": {
"object": {
"database": "SalesBI",
"role": "Analyst"
},
"role": {
"name": "Users",
"description": "All allowed users to query the model",
"modelPermission": "read",
"members": [
{
"memberName": "user1@contoso.com",
"identityProvider": "AzureAD"
},
{
"memberName": "group1@adventureworks.com",
"identityProvider": "AzureAD"
}
]
}
}
}
PowerShell kullanarak rol ve Kullanıcı eklemek için
SqlServer modülü, bir tablosal model betik DILI (tmsl) sorgusu veya betiği kabul eden, göreve özgü veritabanı yönetim cmdlet 'leri ve genel amaçlı Invoke-ASCmd cmdlet 'i sağlar. Aşağıdaki cmdlet 'ler veritabanı rollerini ve kullanıcılarını yönetmek için kullanılır.
| Cmdlet | Açıklama |
|---|---|
| Add-Rolemebir | Bir veritabanı rolüne üye ekleyin. |
| Remove-Rolemeoda | Bir üyeyi veritabanı rolünden kaldırın. |
| Invoke-ASCmd | Bir TMSL betiği yürütün. |
Satır filtreleri
Satır filtreleri, belirli bir rolün üyeleri tarafından bir tablodaki hangi satırların sorgulandığını tanımlar. Satır filtreleri, bir modeldeki her tablo için DAX formülleri kullanılarak tanımlanır.
Satır filtreleri yalnızca okuma ve okuma ve Işleme izinleri olan roller için tanımlanabilir. Varsayılan olarak, belirli bir tablo için bir satır filtresi tanımlanmamışsa, başka bir tablodan çapraz filtreleme uygulanmadığı takdirde Üyeler tablodaki tüm satırları sorgulayabilir.
Satır filtreleri, söz konusu rolün üyeleri tarafından sorgulanabilecek satırları tanımlamak için doğru/yanlış değerine değerlendirilmesi gereken bir DAX formülü gerektirir. DAX formülünde bulunmayan satırlar sorgulanamıyor. Örneğin, aşağıdaki satır filtreleri ifadesi olan Customers tablosu = Customers [Country] = "USA", satış rolü ÜYELERI yalnızca ABD 'deki müşterileri görebilir.
Satır filtreleri belirtilen satırlar ve ilgili satırlar için geçerlidir. Bir tabloda birden çok ilişki olduğunda filtreler, etkin olan ilişki için güvenlik sağlar. Satır filtreleri, ilişkili tablolar için tanımlanan diğer satır dosyası'leri ile kesişen, örneğin:
| Tablo | DAX ifadesi |
|---|---|
| Region | = Region [Ülke] = "USA" |
| ProductCategory | = ProductCategory [ad] = "Bisiklet" |
| İşlemler | = İşlem [Year] = 2016 |
Net etkisi, Üyeler müşterinin ABD 'de olduğu, ürün kategorisinin bisiklet olduğu ve yılın 2016 olduğu veri satırlarını sorgulayabilir. Kullanıcılar, bu izinleri veren başka bir rolün üyesi olmadıkları takdirde ABD dışındaki işlemleri, Bisiklet olmayan işlemleri veya 2016 içinde olmayan işlemleri sorgulayamaz.
Bir tablonun tamamına yönelik tüm satırlara erişimi reddetmek için, = false () filtresini kullanabilirsiniz.
Sonraki adımlar
Sunucu yöneticilerini yönetme
Azure Analysis Services’ı PowerShell ile yönetme
Tablosal model betik dili (TMSL) başvurusu