本文介紹 Power BI 中的驗證,以及如何使用用戶端識別碼取得存取權杖。 若要開始建立 Power BI 應用程式,請參閱開始建立 Power BI 應用程式

Power BI API 可讓您以程式設計方式存取儀表板資源,例如資料集、資料表及資料列。 這些資源會受到 Azure Active Directory (Azure AD) 保護。 若要存取 Power BI 資源,您必須透過 Azure AD 驗證應用程式。

在 Power BI 驗證的簡介

Power BI 應用程式與 Azure Active Directory (Azure AD) 整合之後,可以為應用程式提供安全登入及授權。 若要整合 Power BI 應用程式與 Azure AD,請使用 Azure 管理入口網站,在 Azure AD 中註冊您應用程式的詳細資料。 當您在 Azure Active Directory 中註冊應用程式時,應用程式會將驗證委派給 Azure AD 。 應用程式註冊必須向 Azure AD 描述您的應用程式,包括其所在的 URL、完成驗證接收回覆的 URL,以及用來識別應用程式的 URI。 當您在 Azure AD 中註冊用戶端應用程式或 Web 應用程式時,即會將應用程式存取權授與 Power BI REST API。

Power BI 應用程式會使用 用戶端識別碼 向 Azure AD 驗明其身分。 請參閱 Azure 應用程式用戶端識別碼。 在 Web 應用程式中,您需要用戶端秘密金鑰。 請參閱 Azure Web 應用程式用戶端秘密金鑰

若要了解如何註冊和驗證 Power BI 應用程式:

Azure 應用程式用戶端識別碼

Azure 應用程式具有 用戶端識別碼 ,其會使用此識別碼向所要求之權限所屬的使用者驗明自己身分。 您可以使用用戶端識別碼取得驗證權杖。 若要取得 Azure 用戶端識別碼,請參閱如何取得用戶端應用程式識別碼

如需如何使用 Azure 用戶端識別碼來驗證用戶端應用程式的完整範例,請參閱驗證用戶端應用程式

例如,下列 C# 程式碼會使用 Azure 應用程式用戶端識別碼取得存取權杖。

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

Azure Web 應用程式用戶端秘密金鑰

當您註冊 Web 應用程式時,會收到用戶端秘密 金鑰。 Web 應用程式使用用戶端秘密金鑰安全地向 Power BI 服務識別其身分。 若要取得 Azure 用戶端密碼金鑰,請參閱如何取得用戶端 秘密金鑰

如需如何使用 Azure 用戶端識別碼及用戶端秘密金鑰驗證 Web 應用程式的完整範例,請參閱驗證 Web 應用程式

另請參閱

開始建立 Power BI 應用程式
如何取得 Azure Active Directory 租用戶
建立 Azure Active Directory 租用戶
註冊用戶端應用程式
註冊 Web 應用程式
有其他問題嗎? 試試 Power BI 社群