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


Jelentés beágyazása helyszíni SQL Server Analysis Servicesbe (SSAS)

A KÖVETKEZŐKRE VONATKOZIK: Az alkalmazás az adatok tulajdonosa, a felhasználóé az adat

Ez a cikk bemutatja, hogyan ágyazhat be Power BI-tartalmakat egy helyszíni Analysis Services táblázatos modell élő kapcsolatával egy szabványos Power BI-alkalmazásba, amely rendelkezik adatalkalmazással. Ez a cikk az összes élő kapcsolati SSAS-modellre vonatkozik, függetlenül attól, hogy implementálják-e az RLS-t.

Ebben a forgatókönyvben az adatbázis az SSAS (helyszíni) modellen van, és a Power BI motor egy átjárón keresztül csatlakozik hozzá. A biztonsági szerepkörök (RLS) és engedélyek ( ha vannak ilyenek) az SSAS-modellben vannak definiálva, és nem a Power BI Desktopban.

Kinek szól ez a cikk?

Ez a cikk leginkább azon isv-k számára fontos, akik már rendelkeznek helyszíni (SSAS) adatbázis-beállítással (RLS-sel vagy anélkül), és közvetlenül onnan szeretnének beágyazni tartalmakat.

ISV beállítása

A helyszíni sorszintű biztonság csak élő kapcsolattal érhető el, de bármilyen adatbázishoz létrehozhat élő kapcsolatot, függetlenül attól, hogy az RLS-t valósít-e meg. Ide tartoznak az alábbiak:

  • RLS-szerepkörökkel nem rendelkező adatbázisok beállítása
  • Egy vagy több szerepkörhöz tartozó tagokkal rendelkező adatbázisok
  • Statikus vagy dinamikus biztonsági szerepkörrel rendelkező adatbázisok

Ha SSAS-modellből szeretne beágyazni egy jelentést, a következő műveleteket kell végrehajtania:

  1. Az átjáró beállítása
  2. Élő kapcsolat létrehozása
  3. Beágyazási jogkivonat létrehozása

Az átjáró beállítása

Adatforrás-kapcsolat hozzáadása az SSAS-átjáróhoz

Adja meg az adatforrás nevét, az adatforrás típusát, a kiszolgálót, az adatbázist, az active directory által felismert felhasználónevet és jelszót.

Az átjárók létrehozásáról és kezeléséről további információt az átjáró adatforrásának hozzáadása vagy eltávolítása című témakörben talál.

Szolgáltatásnév vagy főfelhasználói engedélyek megadása az átjárón

A beágyazási jogkivonatot létrehozó felhasználónak az alábbi engedélyek egyikére is szüksége van:

  • Átjáró rendszergazdai engedélyei

  • Adatforrás megszemélyesítési engedélye (ReadOverrideEffectiveIdentity)

    A megszemélyesítési (felülbírálási) engedéllyel rendelkező felhasználók neve mellett kulcsikon látható.

    Képernyőkép egy átjárótagról, amelynek neve mellett egy kulcsikon látható.

Az alábbi utasításokat követve átjáróengedélyeket adhat a fő felhasználónak, szolgáltatásnévnek vagy szolgáltatásnév-profilnak.

Felhasználónevek leképezése

Ha a helyszíni címtárban és a Microsoft Entra könyvtárban lévő felhasználónevek eltérőek, és meg szeretné tekinteni az adatokat a portálon, létre kell hoznia egy felhasználóleképezési táblát, amely leképezi a Microsoft Entra-azonosítóban szereplő összes felhasználót vagy szerepkört a helyszíni adatbázis felhasználóira. A felhasználónevek leképezésére vonatkozó utasításokért tekintse meg a felhasználói név manuális újrafelfedezését

További információ: Analysis Services-adatforrások felhasználóneveinek leképezése.

Élő kapcsolat létrehozása

A környezet beállítása után hozzon létre egy élő kapcsolatot a Power BI Desktop és az SQL Server között, és hozza létre a jelentést.

  1. Indítsa el a Power BI Desktopot, és válassza az Adatadatbázis lekérése lehetőséget.>

  2. Az adatforrások listájában válassza ki az SQL Server Analysis Services-adatbázist , és válassza a Csatlakozás lehetőséget.

    Csatlakozzon az SQL Server Analysis Services-adatbázishoz.

  3. Adja meg az Analysis Services táblázatos példányának adatait, és válassza az Élő csatlakozás lehetőséget. Ezután válassza az OK gombra.

    Képernyőkép az Analysis Services részleteiről.

Beágyazási jogkivonat létrehozása

Ha a jelentést az ügyfelek számára készült beágyazási forgatókönyvbe szeretné beágyazni, hozzon létre egy beágyazási jogkivonatot, amely átadja az érvényes identitást a Power BI-nak. Az AS-motorokkal létesített összes élő kapcsolatnak hatékony identitásra van szüksége, még akkor is, ha nincs implementálva RLS.

Ha nincs beállítva RLS, csak a rendszergazdának van hozzáférése az adatbázishoz, ezért a rendszergazdát szeretné érvényes identitásként használni.

A beágyazási jogkivonat létrehozásához szükséges információk attól függenek, hogy szolgáltatásnévvel vagy főfelhasználóként csatlakozik-e a Power BI-hoz, és hogy az adatbázis rendelkezik-e RLS-sel.

A beágyazási jogkivonat létrehozásához adja meg a következő információkat:

  • Felhasználónév (nem kötelező, ha nincs RLS. Kötelező az RLS-hez) – Az SSAS által felismert érvényes felhasználónév, amelyet a rendszer érvényes identitásként fog használni. Ha az adatbázis nem használja az RLS-t, és nincs megadva felhasználónév, a rendszer a főfelhasználó hitelesítő adatait használja.
  • Szerepkör (az RLS-hez szükséges) – A jelentés csak akkor jelenít meg adatokat, ha a tényleges identitás tagja a szerepkörnek.

Példa:

public EmbedToken GetEmbedToken(Guid reportId, IList<Guid> datasetIds, [Optional] Guid targetWorkspaceId)
{
    PowerBIClient pbiClient = this.GetPowerBIClient();

    // Define the user identity and roles. Use one of the following:

    var rlsidentity = new EffectiveIdentity(  //If no RLS
       username: "Domain\\Username", // can also be username@contoso.com
       datasets: new List<string>{ datasetId.ToString()}
    )

    var rlsidentity = new EffectiveIdentity(  // If RLS
       username: "username@contoso.com",
       roles: new List<string>{ "MyRole" },
       datasets: new List<string>{ datasetId.ToString()}
    )
    
    // Create a request for getting an embed token for the rls 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> { rlsIdentity }
    );

    // Generate an embed token
    var embedToken = pbiClient.EmbedToken.GenerateToken(tokenRequest);

    return embedToken;
}

Most már beágyazhatja a jelentést az alkalmazásba, és a jelentés a jelentéshez hozzáférő felhasználó engedélyeinek megfelelően szűri az adatokat.

Szempontok és korlátozások

A CustomData nem támogatott.

Beágyazási jogkivonat létrehozása