Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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:
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.
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.
Udělejte jednu z těchto věcí:
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.
Spusťte Power BI Desktop a vyberte Načíst data>Databáze.
V seznamu zdrojů dat vyberte Databáze Analytické služby SQL Serveru a klikněte na Připojit.
Zadejte údaje o tabulkové instanci služby Analysis Services a vyberte možnost Připojit živě. Pak vyberte OK.
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).
- Token pro vložení uživatele typu master
- Token pro vložení objektu služby nebo profilu objektu služby
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.