Megosztás a következőn keresztül:


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ő:

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:

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.

Objektumszintű biztonság az Azure Analysis Servicesben

Van még esetleg kérdése? Kérdezze meg a Power BI-közösség.