Beágyazott alkalmazás hibaelhárítása
Ez a cikk a Power BI-ból származó tartalom beágyazásakor felmerülő gyakori problémákat ismerteti.
Hibaelhárítási eszközök
Fiddler Trace
Fiddler a Telerik ingyenes eszköze, amely a HTTP-forgalmat figyeli. Az ügyfélszámítógépről a Power BI API-kkal látható a forgalom. Ez az eszköz hibákat és más kapcsolódó információkat jeleníthet meg.
F12 a Böngészőben az előtérbeli hibakereséshez
Az F12 billentyű elindítja a fejlesztői ablakot a böngészőben. Ez az eszköz lehetővé teszi a hálózati forgalom megtekintését és más értékes információk megtekintését.
A hibák részleteinek kinyerése a Power BI-válaszból
Ez a kódrészlet bemutatja, hogyan nyerheti ki a hiba részleteit EGY HTTP-kivételből:
public static string GetExceptionText(this HttpOperationException exc)
{
var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
if (exc.Response.Headers.ContainsKey("RequestId"))
{
var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
errorText += string.Format("\r\nRequestId: {0}", requestId);
}
return errorText;
}
Javasoljuk a kérelem azonosítójának naplózását (és a hibaelhárítási hiba részleteit). Adja meg a kérés azonosítóját a Microsoft támogatási szolgálatának megkeresésekor.
Alkalmazásregisztráció
Alkalmazásregisztrációs hiba
Az Azure Portalon vagy a Power BI alkalmazásregisztrációs oldalán megjelenő hibaüzenetek értesítik, ha nem rendelkezik megfelelő jogosultságokkal az alkalmazás regisztrálásához. Az alkalmazások regisztrálásához rendszergazdai jogosultságokkal kell rendelkeznie a Microsoft Entra-bérlőben, vagy engedélyezni kell az alkalmazásregisztrációkat a nem rendszergazdai felhasználók számára.
A Power BI szolgáltatás nem jelenik meg az Azure Portalon új alkalmazás regisztrálásakor
Legalább egy felhasználónak regisztráltnak kell lennie a Power BI-ra. Ha nem látja a Power BI szolgáltatást az API-listában, akkor egyetlen felhasználó sincs regisztrálva a Power BI-ra.
Mi a különbség az alkalmazásobjektum-azonosító és az egyszerű objektumazonosító között?
Microsoft Entra-alkalmazás regisztrálásakor két paramétert nevezünk objektumazonosítónak. Ez a szakasz ismerteti az egyes paraméterek célját és beszerzésének módját.
Alkalmazásobjektum azonosítója
Az alkalmazásobjektum azonosítója, más néven a objektumazonosító, a Microsoft Entra alkalmazásobjektumának egyedi azonosítója.
Az alkalmazásobjektum-azonosító lekéréséhez keresse fel a Microsoft Entra-alkalmazást, és másolja az Áttekintésből.
Fő objektumazonosító
A fő objektumazonosító, más néven az objektumazonosító, a Microsoft Entra-alkalmazáshoz társított szolgáltatás objektum egyedi azonosítója,.
A fő objektumazonosító lekéréséhez keresse meg a Microsoft Entra alkalmazására, és az Áttekintésszakaszában válassza ki az alkalmazás hivatkozást Felügyelt alkalmazás a helyi címtárban.
A Tulajdonságok szakaszból másolja a objektumazonosítót.
Hitelesítés
A hitelesítés nem sikerült AADSTS70002 vagy AADSTS50053
(AADSTS70002: Hiba történt a hitelesítő adatok ellenőrzésekor. AADSTS50053: Túl sokszor próbált bejelentkezni helytelen felhasználói azonosítóval vagy jelszóval)
Ha a Power BI Embedded és a Microsoft Entra közvetlen hitelesítést használ, előfordulhat, hogy a bejelentkezéskor az előzőhöz hasonló üzenetet kap, mert a közvetlen hitelesítés nincs engedélyezve.
A közvetlen hitelesítést a szervezetre vonatkozó Microsoft Entra-szabályzat, vagy egy szolgáltatáshozzáférési objektumhasználatával kapcsolhatja vissza.
Javasoljuk, hogy ezt a szabályzatot csak alkalmazásonként engedélyezze.
A szabályzat létrehozásához globális rendszergazdai kell lennie ahhoz a címtárhoz, amelyben a szabályzatot létrehozza és hozzárendeli. Íme egy példaszkript a szabályzat létrehozásához és az alkalmazás sp-hez való hozzárendeléséhez:
Telepítse a Microsoft Graph PowerShell SDK.
Futtassa a következő PowerShell-parancsokat soronként (győződjön meg arról, hogy az
$sp
változó nem rendelkezik egynél több alkalmazással).Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration" $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'" $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") ` -DisplayName EnableDirectAuth -IsOrganizationDefault:$false $params = @{ "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id" } New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id ` -BodyParameter $params
A szabályzat hozzárendelése után a tesztelés előtt várjon körülbelül 15–20 másodpercet a propagálásra.
A token generálása nem sikerül, amikor hatékony azonosítót ad meg.
GenerateToken
a megadott hatékony identitással több különböző okból is meghiúsulhat:
- A szemantikai modell nem támogatja a hatékony identitást.
- A felhasználónév nem lett megadva.
- A szerepkör nem lett megadva.
-
DatasetId
nem került megadásra. - A felhasználó nem rendelkezik a megfelelő engedélyekkel.
A probléma meghatározásához próbálkozzon az alábbi lépésekkel:
- Hajtsa végre a futtatását, majd kérje le aadathalmazt. Igaz-e a tulajdonság
IsEffectiveIdentityRequired
? - A felhasználónév bármelyik
EffectiveIdentity
-hoz szükséges. - Ha
IsEffectiveIdentityRolesRequired
igaz, szerepkörre van szükség. - Minden
EffectiveIdentity
esetében szükséges aDatasetId
. - Az Analysis Services esetében a fő felhasználónak átjáró-rendszergazdának kell lennie.
AADSTS90094: A támogatáshoz rendszergazdai engedély szükséges
Tünetek:
Ha egy nem rendszergazda felhasználó először próbál bejelentkezni egy alkalmazásba a hozzájárulás megadásakor, az alábbi hibák egyikét kapja:
-
ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
-
AADSTS90094: The grant requires admin permission.
A rendszergazdai felhasználók sikeresen bejelentkezhetnek és hozzájárulást adhatnak.
kiváltó ok:
A bérlő felhasználói beleegyezése le van tiltva.
Számos javítás lehetséges:
- A teljes bérlő (minden felhasználó, minden alkalmazás) felhasználói hozzájárulásának engedélyezése:
- Az Azure Portalon keresse meg Microsoft Entra-azonosítót,>Felhasználók és csoportok>Felhasználói beállítások.
- Engedélyezze a A felhasználók beleegyezhetnek, hogy az alkalmazások a nevükben hozzáférjenek a vállalati adatokhoz beállítást, és mentse a módosításokat.
- A rendszergazda engedélyeket adhat az alkalmazásnak – akár a teljes bérlő, akár egy adott felhasználó számára.
CS1061-hiba
Töltse le Microsoft.IdentityModel.Clients.ActiveDirectory, ha a következő hibát tapasztalja:
'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)
Microsoft Entra-jogkivonat egy másik bérlőhöz (vendégfelhasználóhoz)
Amikor beágyazást a szervezete, hogy a Microsoft Entra vendégfelhasználói hozzáférjenek a tartalomhoz, meg kell adnia a bérlőazonosítót a authorityUri
paraméterben.
A szervezet környezetében történő hitelesítéshez szükséges URL-cím:
https://login.microsoftonline.com/common/v2.0
Vendég Microsoft Entra-felhasználó hitelesítésének URL-címe:
https://login.microsoftonline.com/<tenant ID>
A bérlőazonosító megkereséséhez kövesse a következő lépéseket a Microsoft Entra bérlőazonosítójának és elsődleges tartománynevének megkereséseútmutatóban.
További információ: Az alkalmazás több-bérlőssé tétele.
Adatforrások
Az ISV eltérő hitelesítő adatokkal szeretne rendelkezni ugyanahhoz az adatforráshoz
Egy adatforrás egyetlen hitelesítőadat-készlettel rendelkezhet egy fő felhasználóhoz. Ha különböző hitelesítő adatokat kell használnia, hozzon létre további főfelhasználókat. Ezután rendelje hozzá a különböző hitelesítő adatokat az egyes főfelhasználói környezetekhez, és ágyazza be a felhasználó Microsoft Entra-jogkivonatával.
Beágyazott alkalmazás hibaelhárítása az IError objektummal
A JavaScript SDK-hibaesemény által visszaadott IError-objektum használatával hibakeresést végezhet az alkalmazásban, és jobban megértheti a hibák okát.
Az IError objektum beszerzése után meg kell vizsgálnia a megfelelő gyakori hibatáblát, amely megfelel a használt beágyazási típusnak. Hasonlítsa össze a IError-tulajdonságokat a táblázatban szereplőekkel, és keresse meg a hiba lehetséges okát.
Tipikus hibák a Power BI-felhasználók beágyazásakor
Üzenet | Részletes üzenet | Hibakód | Lehetséges ok(ok) |
---|---|---|---|
Token lejárt | A hozzáférési jogkivonat lejárt, újraküldés új hozzáférési jogkivonattal | 403 | Lejárt token |
PowerBIEntityNotFound | A jelentés lekérése sikertelen | 404 | |
Érvénytelen paraméterek | a powerbiToken paraméter nincs megadva | N/A | |
Sikertelen jelentés betöltése | Nem sikerült inicializálni – Nem sikerült feloldani a fürtöt | 403 | |
PowerBINotAuthorizedException | A jelentés lekérése sikertelen | 401 | |
Token lejárt | A hozzáférési jogkivonat lejárt, és újra kell küldenie egy új hozzáférési jogkivonatot. Nem sikerült megjeleníteni a következő címmel rendelkező jelentésvizualizációt: vizualizáció címe | N/A | |
OpenConnectionError | A vizualizáció nem jeleníthető meg. Nem sikerült megjeleníteni a következő címmel rendelkező jelentésvizualizációt: vizualizáció címe | N/A | A kapacitást szüneteltették vagy törölték, miközben a kapacitáshoz tartozó jelentés nyitva volt egy munkamenetben. |
FelfedezésKonténer_NemSikerültBetölteniModellt_AlapértelmezettAdatok | A jelentéshez társított modellséma nem tölthető be. Győződjön meg arról, hogy van kapcsolata a kiszolgálóval, és próbálkozzon újra. | N/A |
Tipikus hibák a nem Power BI-felhasználók beágyazásakor (beágyazási jogkivonat használatával)
Üzenet | Részletes üzenet | Hibakód | Lehetséges ok(ok) |
---|---|---|---|
Token lejárt | A hozzáférési jogkivonat lejárt, újraküldés új hozzáférési jogkivonattal | 403 | Lejárt tokén |
Jelentés betöltése sikertelen | A jelentés lekérése sikertelen | 404 | |
Sikertelen jelentésbetöltés | A jelentés lekérése sikertelen | 403 | A jelentésazonosító nem egyezik az azonosító tokennel. |
A jelentés betöltése nem sikerült | A jelentés lekérése sikertelen | 500 | A jelentés által megadott azonosító nem GUID azonosító |
Érvénytelen paraméterek | a powerbiToken paraméter nincs megadva | N/A | |
A jelentés betöltése sikertelen | Nem sikerült inicializálni – A fürt feloldása nem sikerült. | 403 | Helytelen token típus vagy hibás token |
PowerBINotAuthorizedException | A jelentés lekérése sikertelen | 401 | Helytelen/jogosulatlan csoportazonosító |
Token Lejárt | A hozzáférési jogkivonat lejárt, és újra kell küldenie egy új hozzáférési jogkivonatot. Nem sikerült megjeleníteni a következő címmel rendelkező jelentésvizualizációt: vizualizáció címe | N/A | |
OpenConnectionError | A vizualizáció nem jeleníthető meg. Nem sikerült megjeleníteni a következő címmel rendelkező jelentésvizualizációt: vizualizáció címe | N/A | A kapacitás szüneteltetve vagy törölve lett, amikor a kapacitáshoz tartozó jelentés meg volt nyitva egy munkamenetben. |
FelfedezésKonténer_NemSikerültBetölteniModellt_AlapértelmezettRészletek | A jelentéshez társított modellséma nem tölthető be. Győződjön meg arról, hogy van kapcsolata a kiszolgálóval, és próbálkozzon újra. | N/A |
A jelentés lekérése sikertelen – 401-es hiba – maguktól megoldódnak
A felhasználó birtokolja az adatokat forgatókönyvben néha 401-es hibát kapnak, amely a Power BI-portál elérése után magától megoldódik. Ha a 401-as hiba történik, adja hozzá a Frissítési jogosultságok hívását az alkalmazásban a Felhasználói engedélyek frissítésecímű témakörben leírtak szerint.
Szemantikai modellek
Az adatok azon részének kezelése, amelyet a felhasználók láthatnak
A szemantikai modell olvasási engedélyekkel rendelkező felhasználói megtekinthetik a teljes sémát (táblákat, oszlopokat és mértékeket) és az összes adatot. Nem szabályozhatja a nyers és összesített adatok megtekintésére vonatkozó engedélyeket külön ugyanabban a szemantikai modellben.
Az adatok azon részének kezeléséhez, amelyet a felhasználók megtekinthetnek, használja az alábbi módszerek egyikét:
Sorszintű szűrés a Power BI sorszintű biztonság (RLS)használatával.
Különítse el az adatokat különböző szemantikai modellekre. Létrehozhat például egy szemantikai modellt, amely csak összesített adatokat tartalmaz, és csak az adott szemantikai modellhez biztosít hozzáférést a felhasználóknak.
Tartalommegjelenítés
A beágyazott Power BI-elemek (például jelentések és irányítópultok) renderelési problémáinak megoldásához tekintse át ezt a szakaszt.
Ellenőrizze, hogy a Power BI-elem betöltődik-e a Power BI szolgáltatásban
Az alkalmazással vagy a beágyazási API-kkalkapcsolatos problémák elhárításához ellenőrizze, hogy az elem megtekinthető-e a Power BI szolgáltatásban (powerbi.com).
Ellenőrizze, hogy a Power BI-elem betöltődik-e a Beágyazott Power BI-elemzési játszótéren
Az alkalmazással kapcsolatos problémák elhárításához ellenőrizze, hogy a Power BI-elem megtekinthető-e a Beágyazott Power BI-elemzési játszótéren.
Ellenőrizze, hogy a hozzáférési jogkivonat nem járt-e le
Biztonsági okokból a hozzáférési jogkivonatok (Microsoft Entra-jogkivonatok vagy beágyazási jogkivonatok) élettartama korlátozott. A hozzáférési jogkivonatot folyamatosan figyelnie kell, és szükség esetén frissítenie kell. További információkért lásd: A hozzáférési jogkivonat frissítése.
Teljesítmény
A legjobban teljesítő beágyazott tartalom eléréséhez javasoljuk, hogy kövesse Beágyazott Power BI-elemzési ajánlott eljárásokat.
Kapcsolódó tartalom
Power BI Embedded gyakori kérdések
További kérdések? Kérdezze meg a Power BI Közösséget