Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Autentiserings-API-et gjør det mulig for visuelle enheter å hente Microsoft Entra ID (tidligere kjent som Azure AD) tilgangstokler for innloggede brukere, noe som muliggjør single sign-on-autentisering.
Power BI-administratorer kan aktivere eller deaktivere API-et via en global switch. Standardinnstillingen blokkerer (deaktiverer) API-et.
API-et gjelder kun for AppSource-visualiseringer, og ikke for private visuelle elementer. Visuelle elementer som er under utvikling kan testes i feilsøkingsmodus før de publiseres.
Støttede miljøer
Følgende miljøer støttes:
- web
- Stasjonær datamaskin
- RS Desktop
- Mobil
Ustøttede miljøer
Følgende miljøer støttes ennå ikke:
- RS-tjeneste
- Innebygd analyse
- Teams
Hvordan bruke autentiserings-API-et
I capabilities.json-filen legg til "AADAuthentikation"-privilegiet med en Microsoft Entra ID-registrert applikasjons-URI for hver støttet sky. Fabric genererer en token i henhold til målgruppen som er konfigurert for den nåværende skyen, og leverer den til det visuelle.
Det visuelle kan deretter bruke tokenet til å autentisere mot den respektive målgruppen, og representerer sin backend-tjeneste:
"privileges": [
{
"name": "AADAuthentication",
"parameters": {
"COM": "https://contoso.com",
"CN": "https://contoso.cn"
}
}
]
I pbiviz.json-filen , sett API-versjonen til 5.9.1 eller høyere:
Den nylig avslørte AcquireAADTokenService inneholder to metoder:
acquireAADToken: Returnerer en autentiseringstoken-payload av typen
AcquireAADTokenResultfor visuell eller null hvis den ikke kan hentes./** * 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: Returnerer en av følgende privilegiestatuser knyttet til innkjøp av tokenet.
- Tillatt: Privilegiet er tillatt i det nåværende miljøet.
- Ikke erklært: Privilegieerklæringen mangler i avsnittet om visuelle kapasiteter.
- NotSupported: Privilegiet støttes ikke i det nåværende miljøet.
- DisabledByAdmin: Fabric-administratoren nektet bruk av privilegier.
Følgende eksempelkode demonstrerer hvordan man kan skaffe en Microsoft Entra ID-token ved hjelp av API-et:
// 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
Viktige faktorer og begrensninger
Tokeninnhenting blokkeres dersom noen av følgende betingelser gjelder:
Leietakerbryteren er slått av.
Brukeren er ikke logget inn (på Desktop).
ISV-en forhåndsgodkjente ikke Power BI-applikasjonen.
Formatet til AADAuthentication-privilegieparameteren er ugyldig.
Visualiseringen er ikke offentlig godkjent eller er ikke en feilsøkingsvisuell.
Den visuelle backend-tjenesten, konfigurert som publikum av den visuelle, har ikke passende samtykker for Graph API i forbrukerleietakeren som bruker visualiseringen. For mer om samtykke, se tenant administrator consent.