Megosztás a következőn keresztül:


Hitelesítési API

A Hitelesítési API lehetővé teszi a vizualizációk számára a Microsoft Entra ID (korábbi nevén Azure AD) hozzáférési jogkivonatok beszerzését a bejelentkezett felhasználók számára, megkönnyítve az egyszeri bejelentkezéses hitelesítést.

A Power BI-rendszergazdák globális kapcsolóval engedélyezhetik vagy letilthatják az API-t. Az alapértelmezett beállítás blokkolja (letiltja) az API-t.

Az API csak AppSource-vizualizációkra alkalmazható, magánvizualizációkra nem. A fejlesztés alatt álló vizualizációk hibakeresési módban tesztelhetők a közzététel előtt.

Támogatott környezetek

A következő környezetek támogatottak:

  • Webes
  • Asztali
  • RS Desktop
  • Mobil

Nem támogatott környezetek

A következő környezetek még nem támogatottak:

  • RS szolgáltatás
  • Beágyazott elemzések
  • Teams

A hitelesítési API használata

A capabilities.json fájlban adja hozzá az "AADAuthentication" jogosultságot egy Regisztrált Microsoft Entra-alkalmazás URI-jával minden támogatott felhőhöz. A Fabric létrehoz egy jogkivonatot az aktuális felhőhöz konfigurált célközönségnek megfelelően, és kézbesíti azt a vizualizációnak.
A vizualizáció ezután felhasználhatja a jogkivonatot a megfelelő célközönségen való hitelesítéshez, amely a háttérszolgáltatást képviseli:

"privileges": [
    {
        "name": "AADAuthentication",
        "parameters": {
            "COM": "https://contoso.com",
            "CN": "https://contoso.cn"
        }
    }
]

A pbiviz.json fájlban állítsa az API 5.9.1-es vagy újabb verzióját:

Az újonnan közzétett AcquireAADTokenService két módszert tartalmaz:

  • acquireAADToken: A vizualizációhoz vagy null értékhez tartozó AcquireAADTokenResult hitelesítési jogkivonatot ad vissza, ha nem lehet beolvasni.

     /**
     * 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: A jogkivonat beszerzéséhez társított alábbi jogosultsági állapotok egyikét adja vissza.

    • Engedélyezett: A jogosultság az aktuális környezetben engedélyezett.
    • NotDeclared: A jogosultsági deklaráció hiányzik a vizualizáció képességei szakaszban.
    • Nem támogatott: A jogosultság az aktuális környezetben nem támogatott.
    • DisabledBy Rendszergazda: A Háló rendszergazdája megtagadta a jogosultságok használatát.

Az alábbi mintakód bemutatja, hogyan szerezhet be Egy Microsoft Entra ID-jogkivonatot az API használatával:

    // 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 

Szempontok és korlátozások

A jogkivonatok beszerzése le lesz tiltva, ha az alábbi feltételek valamelyike érvényes:

  • A bérlőkapcsoló ki van kapcsolva.

  • A felhasználó nincs bejelentkezve (a Desktopban).

  • Az ISV nem készítette elő a Power BI-alkalmazást.

  • Az AADAuthentication privilege paraméter formátuma érvénytelen.

  • A vizualizáció nincs nyilvánosan jóváhagyva, vagy nem hibakeresési vizualizáció.

  • A vizualizáció háttérszolgáltatása, amelyet a vizualizáció konfigurál közönségként, nem rendelkezik megfelelő hozzájárulásokkal a Graph API-hoz a vizualizációt használó fogyasztói bérlőben. A hozzájárulásról további információt a bérlői rendszergazda hozzájárulásában talál.

Microsoft Entra ID-alkalmazás beállítása