API d’authentification

L’API d’authentification permet aux visuels d’obtenir des jetons d’accès Microsoft Entra ID (anciennement Azure AD) pour les utilisateurs connectés, ce qui facilite l’authentification par authentification unique.

Les administrateurs Power BI peuvent activer ou désactiver l’API via un commutateur global. Les paramètres par défaut bloquent (désactivent) l’API.

L’API s’applique uniquement aux visuels AppSource et non aux visuels privés. Les visuels en cours de développement peuvent être testés en mode débogage avant leur publication.

Environnements pris en charge

Les environnements suivants sont pris en charge :

  • web
  • Bureau
  • Bureau RS
  • Applications mobiles

Environnements non pris en charge

Les environnements suivants ne sont pas encore pris en charge :

  • Clouds souverains
  • Service RS
  • Analytique incorporée
  • Teams

Comment utiliser l’API d’authentification

Dans le fichier capabilities.json, ajoutez le privilège « AADAuthentication » avec votre URI d’application inscrite Microsoft Entra ID. Fabric génère un jeton avec cette audience et le remet au visuel.
Le visuel peut ensuite utiliser le jeton pour s’authentifier auprès de l’audience https://contoso.com, représentant son service principal :

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

Dans le fichier pbiviz.json, définissez la version d’API sur 5.9.0 ou ultérieure :

AcquireAADTokenService nouvellement exposé contient deux méthodes :

  • acquireAADToken : renvoie une charge utile de jeton d’authentification de type AcquireAADTokenResult pour le visuel ou la valeur nulle en cas d’extraction impossible.

    /**
    * 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 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
    }
    
  • acquireAADTokenstatus : retourne l’un des états de privilège suivants associés à l’acquisition du jeton.

    • Allowed : le privilège est autorisé dans l’environnement actuel.
    • NotDeclared : la déclaration de privilège est manquante dans la section des fonctionnalités visuelles.
    • NotSupported : le privilège n’est pas pris en charge dans l’environnement actuel.
    • DisabledByAdmin : l’administrateur Fabric a refusé l’utilisation des privilèges.

L’exemple de code suivant montre comment acquérir un jeton Microsoft Entra ID à l’aide de l’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

Observations et limitations

L’acquisition de jetons est bloquée si l’une des conditions suivantes s’applique :

  • Le commutateur de locataire est désactivé.

  • L’utilisateur n’est pas connecté (dans Desktop).

  • Le fournisseur de logiciel indépendant (ISV) n’a pas autorisé l’application Power BI au préalable.

  • Le format du paramètre de privilège AADAuthentication n’est pas valide.

  • Le visuel n’est pas approuvé publiquement ou n’est pas un visuel de débogage.

  • Le service principal du visuel, configuré en tant qu’audience par le visuel, ne dispose pas des consentements appropriés pour l’API Graph dans le locataire consommateur à l’aide du visuel. Pour plus d’informations sur les consentements, consultez le consentement de l’administrateur client.

Configuration de l’application Microsoft Entra ID