Share via


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:

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.