Şirket içi SQL Server Analysis Services'e (SSAS) rapor ekleme
UYGULANANLAR: Uygulama verilerin sahibidir Veriler
Kullanıcıya aittir
Bu makalede, veri uygulamasına sahip standart bir Power BI uygulamasına şirket içiAnalysis Services Tablosal Model canlı bağlantısıyla Power BI içeriğini ekleme açıklanmaktadır. Bu makale, RLS uygulayıp uygulamadıklarına bakılmaksızın tüm canlı bağlantı SSAS modelleri için geçerlidir.
Bu senaryoda veritabanı SSAS (şirket içi) modelindedir ve Power BI altyapısı buna bir ağ geçidi üzerinden bağlanır. Güvenlik rolleri (RLS) ve varsa izinler Power BI Desktop'ta değil SSAS modelinde tanımlanır.
Bu makale kime yöneliktir?
Bu makale çoğunlukla şirket içi (SSAS) veritabanı kurulumuna (RLS ile veya RLS olmadan) sahip olan ve doğrudan oradan içerik eklemek isteyen ISV'ler için geçerlidir.
ISV kurulumu
Şirket içi satır düzeyi güvenlik yalnızca canlı bağlantıyla kullanılabilir, ancak RLS uygulamasına bakılmaksızın herhangi bir veritabanına canlı bağlantı oluşturabilirsiniz. Buna aşağıdakiler dahildir:
- RLS rolleri ayarsız veritabanları
- Bir veya daha fazla rollere ait üyelere sahip veritabanları
- Statik veya dinamik güvenlik rollerine sahip veritabanları
SSAS modelinden rapor eklemek için aşağıdaki eylemleri yapmanız gerekir:
Ağ geçidini ayarlama
SSAS ağ geçidine veri kaynağı bağlantısı ekleme
Veri kaynağı adını, veri kaynağı türünü, Sunucu, veritabanı, active directory'nin tanıdığı kullanıcı adı ve parolayı girin.
Ağ geçidi oluşturma ve yönetme hakkında daha fazla bilgi için bkz. Ağ geçidi veri kaynağı ekleme veya kaldırma.
Ağ geçidinde hizmet sorumlusu veya ana kullanıcı izinleri verme
Ekleme belirtecini oluşturan kullanıcının da aşağıdaki izinlerden birine ihtiyacı vardır:
Ağ geçidi yöneticisi izinleri
Veri kaynağı kimliğe bürünme izni (ReadOverrideEffectiveIdentity)
Kimliğe bürünme (geçersiz kılma) izni olan kullanıcıların adının yanında bir anahtar simgesi bulunur.
Ana kullanıcınıza, hizmet sorumlunuza veya hizmet sorumlusu profilinize ağ geçidi izinleri vermek için bu yönergeleri izleyin.
Aşağıdakilerden birini yapın:
Kullanıcı adlarını eşleme
Şirket içi dizindeki ve Microsoft Entra dizinindeki kullanıcı adları farklıysa ve verileri portalda görüntülemek istiyorsanız, Microsoft Entra Id'deki her kullanıcıyı veya rolü şirket içi veritabanındaki kullanıcılarla eşleyen bir kullanıcı eşleme tablosu oluşturmanız gerekir. Kullanıcı adlarını eşleme yönergeleri için El ile kullanıcı adı yeniden eşleme bölümüne gidin
Daha fazla bilgi için bkz . Analysis Services veri kaynakları için kullanıcı adlarını eşleme.
Canlı bağlantı oluşturma
Ortam ayarlandıktan sonra Power BI Desktop ile SQL sunucusu arasında canlı bağlantı oluşturun ve raporunuzu oluşturun.
Power BI Desktop'ı başlatın ve Veri>veritabanı al'ı seçin.
Veri kaynakları listesinden SQL Server Analysis Services Veritabanı'nı ve Bağlan seçin.
Analysis Services tablosal örnek ayrıntılarınızı doldurun ve canlı Bağlan seçin. Ardından Tamam'ı seçin.
Ekleme belirteci oluşturma
Raporunuzu müşterileriniz için ekleme senaryosuna eklemek için etkin kimliği Power BI'a geçiren bir ekleme belirteci oluşturun. AS altyapılarına yapılan tüm canlı bağlantılar, RLS uygulanmamış olsa bile etkili bir kimliğe ihtiyaç duyar.
RLS ayarlı değilse, etkin kimlik olarak Yönetici kullanmak istediğiniz için veritabanına yalnızca Yönetici erişebilirsiniz.
Ekleme belirteci oluşturmak için gereken bilgiler, hizmet sorumlusu veya ana kullanıcı olarak Power BI'a bağlı olup olmadığınız ve ayrıca veritabanında RLS olup olmadığınız bağlıdır.
Ekleme belirtecini oluşturmak için aşağıdaki bilgileri sağlayın:
- Kullanıcı adı (RLS yoksa isteğe bağlı. RLS için gerekli) - Etkin kimlik olarak kullanılacak SSAS tarafından tanınan geçerli bir kullanıcı adı. Veritabanı RLS kullanmıyorsa ve kullanıcı adı sağlanmadıysa, ana kullanıcının kimlik bilgileri kullanılır.
- Rol (RLS için gereklidir) - Rapor yalnızca etkin kimlik rolün üyesiyse verileri görüntüler.
Örneğin:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Define the user identity and roles. Use one of the following:
var rlsidentity = new EffectiveIdentity( //If no RLS
username: "Domain\\Username", // can also be username@contoso.com
datasets: new List<string>{ datasetId.ToString()}
)
var rlsidentity = new EffectiveIdentity( // If RLS
username: "username@contoso.com",
roles: new List<string>{ "MyRole" },
datasets: new List<string>{ datasetId.ToString()}
)
// Create a request for getting an embed token for the rls identity defined above
var tokenRequest = new GenerateTokenRequestV2(
reports: new List<GenerateTokenRequestV2Report>() { new GenerateTokenRequestV2Report(reportId) },
datasets: datasetIds.Select(datasetId => new GenerateTokenRequestV2Dataset(datasetId.ToString())).ToList(),
targetWorkspaces: targetWorkspaceId != Guid.Empty ? new List<GenerateTokenRequestV2TargetWorkspace>() { new GenerateTokenRequestV2TargetWorkspace(targetWorkspaceId) } : null,
identities: new List<EffectiveIdentity> { rlsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
Artık raporunuzu uygulamanıza ekleyebilirsiniz ve raporunuz verileri rapora erişen kullanıcının izinlerine göre filtreler.
Dikkat edilecekler ve sınırlamalar
CustomData desteklenmez.
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin