Nesne düzeyinde güvenlik
UYGULANANLAR: Uygulama verilerin sahibidir Veriler Kullanıcıya aittir
Bu makalede, power bi uygulamasına sahip veriler (müşterileriniz için ekleme) senaryosunda OLS kullanan Power BI içeriğinin nasıl eklendiğini açıklanmaktadır.
Bu senaryoda, ISV'nin rapor müşterilerinden gizlemek istediği hassas verileri ve meta verileri içeren bir tablosu vardır.
OLS hakkında daha fazla bilgi için Nesne düzeyi güvenlik (OLS) bölümüne gidin.
Önkoşullar
Bu makalede OLS kullanan bir raporunuz olduğu ve bunu bir uygulamaya eklemek istediğiniz varsayılır. OLS kullanan bir rapor oluşturmak için bkz. Nesne düzeyi güvenlik (OLS).
Rapor aşağıdaki modellerden herhangi biri kullanılarak oluşturulabilir:
- Bulut OLS
- OLS rolleri ile Azure Analysis Services'e canlı bağlı rapor
- OLS rolleri ile SQL Server Analysis Services'e canlı bağlı rapor
Nesne düzeyinde güvenlik kullanan bir rapor ekleme
OLS kullanan öğeler için ekleme belirteçleri oluşturma işlemi statik RLS ile aynıdır. Rol ve kullanıcı adına ihtiyacınız vardır.
Eklemek istediğiniz rapor aşağıdaki senaryolardan birini kullanıyorsa bazı ek adımlar uygulamanız gerekebilir:
- Bulut OLS belirteci oluşturma
- SQL Server Analysis Services (SSAS) belirteci oluşturma
- Microsoft Entra Id belirteci oluşturma
Aşağıdaki örnekte OLS kullanarak hassas bilgiler içeren bir tabloyu gizlemek için nasıl belirteç oluşturulacağı gösterilmektedir:
public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
PowerBIClient pbiClient = this.GetPowerBIClient();
// Defines the user identity and roles.
var olsIdentity = new EffectiveIdentity(
username: "All",
roles: new List<string>{ "SensitiveTableOLS" }, // Role created to hide a table that has sensitive information
datasets: new List<string>{ datasetId.ToString()}
);
// Create a request for getting an embed token for the OLS 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> { olsIdentity }
);
// Generate an embed token
var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);
return embedToken;
}
Dikkat edilecekler ve sınırlamalar
Bkz. OLS modelleri için kısıtlamalar.
İlgili içerik
Azure Analysis Services'da nesne düzeyinde güvenlik
Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin.
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