Nesne düzeyinde güvenlik

Şunlar için geçerlidir:✅ Müşterileriniz için Power BI tümleşik analizi (App-owns-data)

Bu makale, OLS kullanan Power BI içeriğini, Power BI App owns data (müşterileriniz için gömme) senaryosunda nasıl gömeceğinizi açıklar.

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:

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:

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.

Azure Analysis Services'da nesne düzeyinde güvenlik

Başka sorunuz var mı? Power BI Topluluğu sormayı deneyin.