Este artículo es una introducción a la autenticación en Power BI y a cómo obtener un token de acceso mediante un identificador de cliente. Para empezar a crear una aplicación de Power BI, consulte Introducción acerca de cómo crear una aplicación de Power BI.

La API de Power BI proporciona acceso mediante programación a los recursos del panel, como conjuntos de datos, tablas y filas. Estos recursos están protegidos mediante Azure Active Directory (Azure AD). Para obtener acceso a recursos de Power BI, se realiza la autenticación de la aplicación con Azure AD.

Introducción a la autenticación en Power BI

Las aplicaciones de Power BI se integran con Azure Active Directory (Azure AD) para proporcionar un inicio de sesión seguro y una autorización para la aplicación. Para integrar una aplicación de Power BI con Azure AD, registre los detalles acerca de la aplicación con Azure AD mediante el Portal de administración de Azure. Al registrar una aplicación en Azure Active Directory, la aplicación externaliza la autenticación a Azure AD. El registro de una aplicación implica informar a Azure AD acerca de la aplicación, incluida la dirección URL donde se encuentra, la dirección URL a la que enviar respuestas después de la autenticación y el URI para identificar la aplicación. Al registrar una aplicación cliente o una aplicación web en Azure AD, concede a la aplicación acceso a la API de REST de Power BI.

Una aplicación de Power BI usa un identificador de cliente para identificarse en Azure AD. Consulte Identificador de cliente de aplicación de Azure. Para una aplicación web, también necesitará una clave secreta de cliente. Consulte Clave secreta de cliente de aplicación web de Azure.

Para obtener información sobre cómo registrar y autenticar una aplicación de Power BI:

Identificador de cliente de aplicación de Azure

Una aplicación de Azure tiene un identificador de cliente que esta usa para identificarse ante los usuarios a los que solicita permisos. Use un identificador de cliente para obtener un token de autenticación. Para obtener un identificador de cliente de Azure, consulte Cómo obtener un identificador de aplicación cliente.

Para obtener un ejemplo completo de cómo usar un identificador de cliente de Azure para autenticar una aplicación cliente, consulte Autenticar una aplicación cliente.

Por ejemplo, el siguiente código C# usa un identificador de cliente de aplicación de Azure para obtener un token de acceso.

  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;
  }

Clave secreta de cliente de aplicación web de Azure

Al registrar una aplicación web, recibirá una clavesecreta de cliente. La aplicación web usa la clave secreta de cliente para identificarse de forma segura ante el servicio Power BI. Para obtener una clave secreta de cliente de Azure, consulte Cómo obtener una clave secreta de cliente.

Para obtener un ejemplo completo de cómo usar un identificador de cliente de Azure y una clave secreta de cliente para autenticar una aplicación web, consulte Autenticar una aplicación web.

Vea también

Introducción sobre cómo crear una aplicación de Power BI
Cómo obtener un inquilino de Azure Active Directory
Crear un inquilino de Azure Active Directory
Registrar una aplicación de cliente
Registrar una aplicación web
¿Tiene más preguntas? Pruebe la comunidad de Power BI