この記事では Power BI における認証の概要について、およびクライアント ID を使用してアクセス トークンを取得する方法について示します。 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 に統合するには、Microsoft Azure 管理ポータルを使用して、アプリケーションに関する詳細を Azure AD に登録します。 Azure Active Directory にアプリを登録するときに、アプリケーションは Azure AD に認証を委託します。 アプリの登録には、配置されている場所の URL、認証後に応答を送信する URL、アプリケーションを識別する URI を含む、アプリケーションに関する Azure AD への通知が含まれます。 Azure AD にクライアント アプリまたは Web アプリを登録するときに、Power BI REST API にアプリのアクセス権を付与します。

Power BI アプリは クライアント ID を使用して、Azure AD に対して自身を識別します。 「Azure アプリ クライアント ID」をご覧ください。 Web アプリでは、クライアント シークレット キーも必要です。 「Azure Web アプリ クライアント シークレット キー」をご覧ください。

Power BI アプリを登録および認証する方法については、次をご覧ください。

  • Power BI クライアント アプリ - 「アプリケーションを登録する」と Power BI クライアント アプリの認証に関する記事をご覧ください。

  • Power BI Web アプリ - 「アプリケーションを登録する」と Power BI Web アプリの認証に関する記事をご覧ください。

  • さまざまなプラットフォームで Azure 認証を使用する方法について: Azure 認証ライブラリをさまざまなプラットフォームで使用できます。これは、API 呼び出しを保護するアクセス トークンを取得するために、開発者がクラウドまたはオンプレミスの Active Directory (AD) に対して簡単にユーザーを認証するうえで役立ちます。 このトピックでは、さまざまなプラットフォームで使用可能な認証ライブラリと、ソース コードやサンプルなどの役立つリソースへのロードマップを含んでいます。

Azure アプリ クライアント ID

Azure アプリには、アクセス許可を要求しているユーザーを識別するためにアプリケーションによって使用される、クライアント ID が設定されています。 クライアント ID を使用して、認証トークンを取得します。 Azure クライアント ID を入手する方法については、「アプリケーションを登録する」をご覧ください。

Azure クライアント ID を使用してクライアント アプリを認証する方法を示す完全なサンプルについては、「クライアント アプリを認証する」をご覧ください。

たとえば、次の C# コードは、Azure アプリ クライアント ID を使用してアクセス トークンを取得します。

  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 クライアント ID とクライアント シークレット キーを使用して Web アプリを認証する方法を示す完全なサンプルについては、「Web アプリを認証する」をご覧ください。

参照

Power BI アプリ作成の概要
Azure Active Directory テナントを取得する方法
Azure Active Directory テナントを作成する
アプリケーションを登録する

他にわからないことがある場合は、 Power BI コミュニティで質問してみてください