Objektumszintű biztonság
A KÖVETKEZŐKRE VONATKOZIK: Az alkalmazás az adatok
tulajdonosa, a felhasználóé az adat
Ez a cikk bemutatja, hogyan ágyazhat be OLS-t használó Power BI-tartalmakat egy Power BI-alkalmazás adatainak (az ügyfeleknek való beágyazás) forgatókönyvében.
Ebben a forgatókönyvben az ISV egy olyan táblával rendelkezik, amely bizalmas adatokat és metaadatokat tartalmaz, amelyeket el szeretnének rejteni a jelentés ügyfelei elől.
Az OLS-ről további információt az Objektumszintű biztonság (OLS) című témakörben talál.
Előfeltételek
Ez a cikk feltételezi, hogy rendelkezik egy OLS-t használó jelentéssel, amelyet be szeretne ágyazni egy alkalmazásba. Az OLS-t használó jelentés létrehozásához lásd: Objektumszintű biztonság (OLS).
A jelentés az alábbi modellek bármelyikével készíthető:
- Felhőbeli OLS
- Élő csatlakoztatott jelentés az Azure Analysis Serviceshez OLS-szerepkörökkel
- Élő csatlakoztatott jelentés az SQL Server Analysis Serviceshez OLS-szerepkörökkel
Objektumszintű biztonságot használó jelentés beágyazása
Az OLS-t használó elemek beágyazási jogkivonatainak létrehozásának folyamata ugyanaz, mint a statikus RLS esetében. Szüksége van a szerepkörre és a felhasználónévre.
Ha a beágyazni kívánt jelentés az alábbi forgatókönyvek egyikét használja, előfordulhat, hogy további lépéseket kell tennie:
- Felhőalapú OLS-jogkivonat létrehozása
- SQL Server Analysis Services (SSAS) jogkivonat létrehozása
- Microsoft Entra ID-jogkivonat létrehozása
Az alábbi példa bemutatja, hogyan hozhat létre jogkivonatot a bizalmas információkat tartalmazó táblák OLS használatával történő elrejtéséhez:
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;
}
Szempontok és korlátozások
Lásd az OLS-modellekre vonatkozó korlátozásokat.
Kapcsolódó tartalom
Objektumszintű biztonság az Azure Analysis Servicesben
Van még esetleg kérdése? Kérdezze meg a Power BI-közösség.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: