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.
Rozhraní API pro ověřování umožňuje vizuálům získat přístupové tokeny Microsoft Entra ID (dříve označované jako Azure AD) pro přihlášené uživatele, což usnadňuje ověřování pomocí jednotného přihlašování.
Správci Power BI můžou rozhraní API povolit nebo zakázat prostřednictvím globálního přepínače. Výchozí nastavení blokuje (zakáže) rozhraní API.
Toto rozhraní API platí jenom pro vizuály AppSource, nikoli pro privátní vizuály. Vizuály, které jsou ve vývoji, je možné testovat v režimu ladění před jejich publikováním.
Podporovaná prostředí
Podporují se následující prostředí:
- web
- Stolní počítač
- RS Desktop
- Mobil
Nepodporovaná prostředí
Následující prostředí se zatím nepodporují:
- Služba RS
- Vložené analýzy
- Týmy
Jak používat rozhraní API pro ověřování
Do souborucapabilities.json přidejte oprávnění AADAuthentication s identifikátorem URI aplikace zaregistrovaným v Microsoft Entra pro každý podporovaný cloud. Platforma vygeneruje token podle publika nakonfigurované pro aktuální cloud a předá ho vizuálu.
Vizuál pak může token využít k ověření vůči příslušné cílové skupině, která představuje svou back-endovou službu:
"privileges": [
{
"name": "AADAuthentication",
"parameters": {
"COM": "https://contoso.com",
"CN": "https://contoso.cn"
}
}
]
V souboru pbiviz.json nastavte verzi rozhraní API na 5.9.1 nebo vyšší:
Nově zpřístupněná služba AcquireAADTokenService obsahuje dvě metody:
acquireAADToken: Vrátí obsah ověřovacího tokenu typu
AcquireAADTokenResultpro vizualizaci nebo hodnotu null, pokud ji nelze načíst./** * Enum representing the various clouds supported by the Authentication API. */ export const enum CloudName { COM = "COM", // Commercial Cloud CN = "CN", // China Cloud GCC = "GCC", // US Government Community Cloud GCCHIGH = "GCCHIGH", // US Government Community Cloud High DOD = "DOD", // US Department of Defense Cloud } /** * Interface representing information about the user associated with the token. */ export interface AcquireAADTokenUserInfo { userId?: string; // Unique identifier for the user tenantId?: string; // Unique identifier for the tenant } /** * Interface representing information about the fabric environment. */ export interface AcquireAADTokenFabricInfo { cloudName?: CloudName; // Name of the cloud environment } /** * Interface representing the result of acquiring a Microsoft Entra ID token. */ export interface AcquireAADTokenResult { accessToken?: string; // Access token issued by Microsoft Entra ID expiresOn?: number; // Expiration time of the access token userInfo?: AcquireAADTokenUserInfo; // Information about the user associated with the token fabricInfo?: AcquireAADTokenFabricInfo; // Information about the fabric environment }acquireAADTokenstatus: Vrátí jeden z následujících stavů oprávnění spojených se získáním tokenu.
- Povoleno: Oprávnění je povolené v aktuálním prostředí.
- NotDeclared: V části schopností vizuálu chybí deklarace oprávnění.
- Nepodporováno: Oprávnění se v aktuálním prostředí nepodporuje.
- DisabledByAdmin: Správce Fabric odepřel využití oprávnění.
Následující ukázkový kód ukazuje, jak získat token ID Microsoft Entra pomocí rozhraní API:
// Step 1: Check the status of AAD token acquisition
const acquireTokenStatus = await this.acquireAADTokenService.acquireAADTokenstatus();
// Step 2: Verify if acquiring the token is allowed
if (acquireTokenStatus === PrivilegeStatus.Allowed) {
// Step 3: Acquire the Microsoft Entra ID token
const acquireAADTokenResult: AcquireAADTokenResult = await this.acquireAADTokenService.acquireAADToken();
// Step 4: Confirm successful acquisition of the access token
if (acquireAADTokenResult.accessToken) {
// Step 5: Call your backend API with the obtained token
}
}
// Step 6: Handle unsuccessful AAD token acquisition
Úvahy a omezení
Získání tokenu se zablokuje, pokud platí některá z následujících podmínek:
Přepínač tenanta je vypnutý.
Uživatel není přihlášený (v Desktopu).
Nezávislý dodavatel softwaru neprovedl předběžné ověření aplikace Power BI.
Formát parametru oprávnění AADAuthentication je neplatný.
Vizuál není veřejně schválený nebo není ladicí grafika.
Back-endová služba vizuálu nakonfigurovaná jako cílová skupina vizuálu nemá odpovídající souhlas pro rozhraní Graph API v tenantovi příjemce, který vizuál používá. Další informace o souhlasu najdete v tématu Souhlas správce tenanta.