Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK: Aplikasi memiliki data
Milik pengguna
Artikel ini menjelaskan cara menyematkan konten Power BI yang menggunakan OLS dalam skenario Aplikasi Power BI memiliki data (disematkan untuk pelanggan Anda).
Dalam skenario ini, ISV memiliki tabel dengan data sensitif dan metadata yang ingin mereka sembunyikan dari pelanggan laporan.
Untuk informasi selengkapnya tentang OLS, buka Keamanan tingkat objek (OLS).
Prasyarat
Artikel ini mengasumsikan bahwa Anda memiliki laporan yang menggunakan OLS dan anda ingin menyematkannya ke dalam aplikasi. Untuk membuat laporan yang menggunakan OLS, lihat Keamanan tingkat objek (OLS).
Laporan dapat dibuat menggunakan salah satu model berikut:
- Cloud OLS
- Laporan terhubung langsung ke Azure Analysis Services dengan peran OLS
- Laporan terhubung langsung ke SQL Server Analysis Services dengan peran OLS
Menyematkan laporan yang menggunakan keamanan tingkat objek
Proses pembuatan token semat untuk item yang menggunakan OLS sama dengan untuk RLS statis. Anda memerlukan peran dan nama pengguna.
Jika laporan yang ingin Anda sematkan menggunakan salah satu skenario berikut, Anda mungkin perlu mengambil beberapa langkah tambahan:
- Pembuatan token Cloud OLS
- Pembuatan token SQL Server Analysis Services (SSAS)
- Pembuatan token ID Microsoft Entra
Contoh berikut menunjukkan cara membuat token untuk menyembunyikan tabel dengan informasi sensitif menggunakan OLS:
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;
}
Pertimbangan dan batasan
Lihat pembatasan untuk model OLS.
Konten terkait
Keamanan tingkat objek di Azure Analysis Services
Ada pertanyaan lagi? Coba tanyakan pada Komunitas Power BI.