Vložení sestavy do místní služby Analytické služby SQL Serveru (SSAS)

Platí pro:✅ Power BI vložené analýzy pro vaše zákazníky (data vlastní aplikace)

Tento článek vysvětluje, jak vložit obsah Power BI s živým připojením k místnímutabulkovému modelu služby Analysis Services do standardní aplikace Power BI typu app-owns-data. Tento článek se týká všech modelů SSAS s živým připojením bez ohledu na to, zda 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.

Pro koho je tento článek určen

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 nakonfigurovaných rolí RLS
  • 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řidejte k bráně SSAS připojení ke zdroji dat

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ělit instančnímu objektu služby nebo hlavnímu uživateli oprávnění k bráně

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í k zosobnění zdroje dat (ReadOverrideEffectiveIdentity)

    Uživatelé s oprávněním přihlášení jako jiný uživatel (override) mají vedle jména ikonu klíče.

    Snímek obrazovky člena brány s ikonou klíče vedle jeho jména.

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 Načíst data>Databáze.

  2. V seznamu zdrojů dat vyberte Databáze Analytické služby SQL Serveru a klikněte na Připojit.

    Připojte se k databázi služby Analytické služby SQL Serveru.

  3. Zadejte údaje o tabulkové instanci služby Analysis Services a vyberte možnost Připojit živě. Pak vyberte OK.

    Snímek obrazovky s podrobnostmi služby Analysis Services

Vygenerování tokenu pro vložení

Pokud chcete vložit svou sestavu ve scénáři vložení pro zákazníky, vygenerujte token pro vložení, který službě Power BI předá efektivní identitu. Všechna aktivní připojení k modulům AS potřebují platnou identitu, i v případě, že není implementováno zabezpečení na úrovni řádků (RLS).

Pokud není nastavené RLS, má k databázi přístup jen Admin, takže jako efektivní identitu chcete použít Admin.

Informace potřebné k vygenerování tokenu pro vložení obsahu závisí na tom, jestli jste k Power BI připojeni pomocí instančního objektu služby nebo jako uživatel typu Master, a také na tom, zda databáze používá zabezpečení na úrovni řádků (RLS).

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

  • Uživatelské jméno (Volitelné, pokud není použito RLS. Povinné pro RLS) – platné uživatelské jméno, které služba SSAS rozpozná a které se použije jako efektivní 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 (vyžadováno pro RLS) – Sestava zobrazí data pouze v případě, že účinná 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í