Questo è un articolo introduttivo che illustra l'autenticazione in Power BI e descrive come ottenere un token di accesso usando un ID client. Per informazioni su come iniziare a creare un'app Power BI, vedere Introduzione alla creazione di app Power BI.

L'API Power BI fornisce accesso a livello di codice alle risorse del dashboard, ad esempio set di dati, tabelle e righe. Queste risorse sono protette da Azure Active Directory (Azure AD). Per accedere alle risorse Power BI, eseguire l'autenticazione dell'app con Azure AD.

Introduzione all'autenticazione in Power BI

Le app di Power BI sono integrate in Azure Active Directory (Azure AD) per fornire funzionalità sicure di accesso e autorizzazione per l'app. Per integrare un'app di Power BI con Azure AD, registrare i dettagli sull'applicazione in Azure AD tramite il portale di gestione di Azure. Quando si registra un'app in Azure Active Directory, l'applicazione affida l'autenticazione ad Azure AD. Quando si registra un'app, è necessario fornire informazioni sull'applicazione ad Azure AD, incluso l'URL in cui si trova l'app, l'URL a cui inviare risposte dopo l'autenticazione e l'URI per identificare l'applicazione. Quando si registra un'app client in Azure Active Directory, si concede all'app l'accesso alle API REST di Power BI.

Un'app Power BI usa un ID client per identificarsi con Azure AD. Vedere ID client dell'app Azure. Per un'app Web è anche necessaria una chiave privata del client. Vedere Chiave privata del client dell'app Web di Azure.

Per informazioni su come registrare e autenticare un'app Power BI:

ID client dell'app Azure

Un'app Azure ha un ID client che viene usato dall'applicazione per identificare se stessa nei confronti degli utenti che richiedono le autorizzazioni. Si usa l'ID client per ottenere un token di autenticazione. Per ottenere un ID client di Azure, vedere Come ottenere un ID app client.

Per un esempio completo su come usare un ID client di Azure per autenticare un'app client, vedere Autenticare un'app client.

Ad esempio, il codice C# seguente usa un ID client dell'app Azure per ottenere un token di accesso.

  static string AccessToken()
  {
        //Get access token:
        // To call a Power BI REST operation, create an instance of AuthenticationContext and call AcquireToken
        // AuthenticationContext is part of the Active Directory Authentication Library NuGet package
        // To install the Active Directory Authentication Library NuGet package in Visual Studio,
        //  run "Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory" from the nuget Package Manager Console.

        //Resource Uri for Power BI API
        string resourceUri = "https://analysis.windows.net/powerbi/api";

        string clientId = {clientIDFromAzureAppRegistration};

        //A redirect uri gives AAD more details about the specific application that it will authenticate.
        //Since a client app does not have an external service to redirect to, this Uri is the standard placeholder for a client app.
        string redirectUri = "https://login.live.com/oauth20_desktop.srf";

        // Create an instance of AuthenticationContext to acquire an Azure access token
        // OAuth2 authority Uri
        string authorityUri = "https://login.windows.net/common/oauth2/authorize";
        AuthenticationContext authContext = new AuthenticationContext(authorityUri);

        // Call AcquireToken to get an Azure token from Azure Active Directory token issuance endpoint
        //  AcquireToken takes a Client Id that Azure AD creates when you register your client app.
        //  To learn how to register a client app and get a Client ID, see https://msdn.microsoft.com/en-US/library/dn877542(Azure.100).aspx   
        string token = authContext.AcquireToken(resourceUri, clientID, new Uri(redirectUri)).AccessToken;

        return token;
  }

Chiave privata del client dell'app Web di Azure

Quando si registra un'app Web, si riceve una chiave privata del client. La chiave privata del client viene usata dall'app Web per identificare in modo sicuro se stessa nel servizio Power BI. Per ottenere una chiave privata del client di Azure, vedere Come ottenere una chiave privata del client.

Per un esempio completo su come usare un ID client di Azure e una chiave privata del client per autenticare un'app Web, vedere Autenticare un'app Web.

Vedere anche

Introduzione alla creazione di app di Power BI
Come ottenere un tenant di Azure Active Directory
Creare un tenant di Azure Active Directory
Registrare un'app client
Registrare un'app Web
Altre domande? Provare la community di Power BI