MS Entra ověřování pro PowerBI (on-premise)
Předpoklady
- Alvao on-premise instalace (pro edici SaaS viz Implementace Power BI pro SaaS)
- MS Entra ověřování do Alvao
- AlvaoRestApi dostupné z internetu
- Vlastní doména ověřená v MS Entra Custom Domains
- Power BI Desktop aktualizován na nejnovější verzi
Nastavení IIS
Nejprve je třeba vytvořit a nastavit dedikovanou kopii aplikace AlvaoRestApi pro poskytování dat sestav.
-
V Application Pools - Přidat Application Pool:
- Název: AlvaoRestApiReports AppPool
- Všechna ostatní nastavení (např. identita AppPool) nastavte stejně jako pro AlvaoRestApi AppPool
-
V Sites – Default Web Site – Přidat aplikaci:
- Alias: AlvaoRestApiReports
- Správce aplikací: AlvaoRestApiReports App Pool
- Fyzická cesta: stejná jako pro aplikaci AlvaoRestApi (např. C:\inetpub\wwwroot\AlvaoRestApi)
- Klikněte na OK
-
Přejděte na
\<your server>/AlvaoRestApiReportsa ujistěte se, že aplikace běží ok. Měla by vracet stejné informace jako standardní AlvaoRestApi. -
Umožněte přístup k AlvaoRestApiReports z vaší veřejné domény, např. https://contoso.com/AlvaoRestApiReports
-
V instalační cestě AlvaoRestApi (např. C:\inetpub\wwwroot\AlvaoRestApi) otevřete web.config a odeberte řádek:
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" /> -
Otevřete Příkazový řádek jako administrátor a spusťte následující příkazy:
cd C:\Windows\system32\inetsrv
.\appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='AlvaoRestApiReports AppPool'].environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Reports']"
.\appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='AlvaoRestApi AppPool'].environmentVariables.[name='ASPNETCORE_ENVIRONMENT',value='Production']"
Zkontrolovat proměnné ASPNETCORE_ENVIRONMENT pro aplikační pooly můžete následujícím příkazem:
.\appcmd.exe list apppool "AlvaoRestApi AppPool" /config
.\appcmd.exe list apppool "AlvaoRestApiReports AppPool" /config
Nastavení MS Entra
Musíme vytvořit novou registraci aplikace v MS Entra, která bude používána pouze pro ověřování v Power BI.
-
V App Registrations – Registrovat aplikaci
- Název: AlvaoRestApi Reports
-
V AlvaoRestApiReports – Expose an API
- Nastavte Application ID URL na veřejnou URL aplikace AlvaoRestApiReports, např. https://contoso.com/AlvaoRestApiReports
PoznámkaNejprve je nutné ověřit vlastnictví domény v službě Domain Names
-
Přidat rozsah
- Název: Reports
- Kdo může udělit souhlas?: Administrátoři a uživatelé
- Název zobrazený při souhlasu administrátora: Alvao Reports
- Popis souhlasu administrátora: Umožňuje uživatelům připojit se k Alvao Reports
- Stav: Povolen
-
**Přidat klientskou aplikaci: **
- ClientID: b52893c8-bc2e-47fc-918b-77022b299bbc
- Autorizované rozsahy: vyberte dříve přidaný rozsah
- Poznámka: Jedná se o důvěrného klienta, používaného v Power BI službě
-
Přidat klientskou aplikaci:
- ClientID: a672d62c-fc7b-4e81-a576-e60dc46e951d
- Autorizované rozsahy: vyberte dříve přidaný rozsah
- Poznámka: Jedná se o veřejného klienta, používaného v Power BI Desktop a gateway.
Dokončení konfigurace
- V instalační cestě AlvaoRestApi vytvořte nový soubor appsettings.Reports.json s následujícím obsahem:
- atribut AAD_ApplicationId nastavte na Application (client) ID aplikace AlvaoRestApi Reports vytvořené v předchozích krocích
- atribut AAD_AdditionalAudience nastavte na URL ID aplikace z vaší registrace aplikace, např.:
{
"AAD_ApplicationId": "f3adada9-c73e-4b86-b30e-c86bc6ce0a93",
"AAD_AdditionalAudience": "https://contoso.com/AlvaoRestApiReports",
}
-
Otevřete AlvaoRestApiReports/v1/systemSettings (např. https://contoso.com/AlvaoRestApiReports/v1/systemSettings) v prohlížeči a zkontrolujte, že v odpovědi je hodnota addClientId nastavena na AAD_ApplicationId z předchozího kroku
-
Stejnou kontrolu proveďte pro /AlvaoRestApi, měla by vracet clientId nastavené v AzureApplicationId vlastnosti.
Načtení dat do PowerBI sestavy
Postupujte podle on-premise postupu v šablonách Power BI sestav, připojte vaši sestavu k aplikaci AlvaoRestApiReports (např. https://contoso.com/AlvaoRestApiReports) vytvořené v předchozích krocích.