Sdílet prostřednictvím


Vložení sestavy do místní Služba Analysis Services serveru SQL (SSAS)

PLATÍ PRO: Aplikace vlastní data , která uživatel vlastní.

Tento článek vysvětluje, jak vložit obsah Power BI s živýmpřipojením místního tabulkového modelu Analysis Services do standardní aplikace Power BI vlastní datovou aplikaci. Tento článek se týká všech modelů SSAS živého připojení bez ohledu na to, jestli implementují zabezpečení na úrovni řádků.

V tomto scénáři je databáze v modelu SSAS (místní) a modul Power BI se k ní připojuje přes bránu. Role zabezpečení (RLS) a oprávnění , pokud existují, jsou definovány v modelu SSAS, a ne v Power BI Desktopu.

Kdo tento článek je určený pro

Tento článek je většinou relevantní pro nezávislé výrobce softwaru, kteří už mají nastavení místní databáze (SSAS) (s RLS nebo bez) a chtějí vložit obsah přímo odtud.

Nastavení isV

Místní zabezpečení na úrovni řádků je dostupné jenom s živým připojením, ale můžete vytvořit živé připojení k jakékoli databázi bez ohledu na to, jestli implementuje zabezpečení na úrovni řádků. Sem patří:

  • Databáze bez nastavení rolí zabezpečení na úrovni řádků
  • Databáze s členy, kteří patří do jedné nebo více rolí
  • Databáze se statickými nebo dynamickými rolemi zabezpečení

Pokud chcete vložit sestavu z modelu SSAS, musíte provést následující akce:

  1. Nastavení brány
  2. Vytvoření živého připojení
  3. Vygenerování tokenu pro vložení

Nastavení brány

Přidání připojení zdroje dat k bráně SSAS

Zadejte název zdroje dat, typ zdroje dat, server, databázi, uživatelské jméno a heslo, které služba Active Directory rozpozná.

Další informace o vytváření a správě brány najdete v tématu Přidání nebo odebrání zdroje dat brány.

Udělení oprávnění instančního objektu nebo hlavního uživatele brány

Uživatel, který generuje token pro vložení, potřebuje také jedno z následujících oprávnění:

  • Oprávnění správce brány

  • Oprávnění zosobnění zdroje dat (ReadOverrideEffectiveIdentity)

    Uživatelé s oprávněním zosobnění (přepsání) mají vedle svého jména ikonu klíče.

    Screenshot of a gateway member with a key icon next to their name.

Podle těchto pokynů udělte hlavnímu uživateli, instančnímu objektu nebo profilu instančního objektu oprávnění brány.

Mapování uživatelských jmen

Pokud se uživatelská jména v místním adresáři a adresáři Microsoft Entra liší a chcete zobrazit data na portálu, musíte vytvořit tabulku mapování uživatelů, která mapuje každého uživatele nebo roli v MICROSOFT Entra ID na uživatele z místní databáze. Pokyny k mapování uživatelských jmen najdete v části Ruční přemapování uživatelského jména.

Další informace naleznete v tématu Mapování uživatelských jmen pro zdroje dat Analysis Services.

Vytvoření živého připojení

Po nastavení prostředí vytvořte živé připojení mezi Power BI Desktopem a SQL Serverem a vytvořte sestavu.

  1. Spusťte Power BI Desktop a vyberte Získat datovou>databázi.

  2. V seznamu zdrojů dat vyberte Služba Analysis Services serveru SQL Databáze a vyberte Připojení.

    Connect to SQL Server Analysis Services Database.

  3. Vyplňte podrobnosti o tabulkové instanci služby Analysis Services a vyberte Připojení živě. Pak vyberte OK.

    Screenshot of Analysis Services details.

Vygenerování tokenu pro vložení

Pokud chcete vložit sestavu do scénáře vložení pro zákazníky, vygenerujte token pro vložení, který předá efektivní identitu do Power BI. Všechna živá připojení k modulům AS potřebují efektivní identitu, i když není implementováno žádné zabezpečení na úrovni řádků.

Pokud není nastavená žádná úroveň zabezpečení na úrovni řádků, má k databázi přístup jenom Správa, takže chcete použít Správa jako efektivní identitu.

Informace potřebné k vygenerování tokenu pro vložení závisí na tom, jestli jste připojení k Power BI pomocí instančního objektu nebo hlavního uživatele a také v případě, že databáze obsahuje zabezpečení na úrovni řádků.

Pokud chcete vygenerovat token pro vložení, zadejte následující informace:

  • Uživatelské jméno (volitelné, pokud není rLS). Požadováno pro zabezpečení na úrovni řádků) – platné uživatelské jméno rozpoznané službou SSAS, které se použije jako platná identita. Pokud databáze nepoužívá zabezpečení na úrovni řádků a není zadané žádné uživatelské jméno, použijí se přihlašovací údaje hlavního uživatele.
  • Role (požadovaná pro zabezpečení na úrovni řádků) – Sestava zobrazí data pouze v případě, že efektivní identita je členem role.

Příklad:

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;
}

Teď můžete sestavu vložit do aplikace a sestava bude filtrovat data podle oprávnění uživatele, který k sestavě přistupuje.

Úvahy a omezení

CustomData se nepodporuje.

Vygenerování tokenu pro vložení