Azure AD アプリを登録して Power BI コンテンツを埋め込むRegister an Azure AD app to embed Power BI content

埋め込みの Power BI コンテンツとともに使用するため、Azure Active Directory (Azure AD) 内にアプリケーションを登録する方法を説明します。Learn how to register an application within Azure Active Directory (Azure AD) for use with embedding Power BI content.

Power BI REST API へのアプリケーションのアクセスを許可するには、アプリケーションを Azure AD に登録します。You register your application with Azure AD to allow your application access to the Power BI REST APIs. これにより、アプリケーションの ID を設定し、Power BI REST リソースへのアクセス許可を指定することができます。This will allow you to establish an identity for your application and specify permissions to Power BI REST resources.

重要

Power BI アプリを登録する前に、Azure Active Directory テナントと組織のユーザーが必要です。Before you register a Power BI app you need an Azure Active Directory tenant and an organizational user. テナント内のユーザーで Power BI にサインアップしていない場合、アプリの登録が正常に完了しません。If you haven't signed up for Power BI with a user in your tenant, the app registration will not complete successfully.

アプリケーションを登録するには 2 つの方法があります。There are two ways to register your application. Power BI アプリ登録ツールを使う方法と、Azure Portal 内で直接登録する方法です。The first is with the Power BI App Registration Tool or you can do it directly within the Azure portal. 記入する必要のあるフィールドが少ししかないため、Power BI アプリの登録ツールが最も簡単なオプションです。The Power BI App Registration Tool is the easiest option since there are just a few fields to fill in. アプリに変更を加える場合は、Azure Portal を使います。If you want to make changes to your app, use the Azure portal.

Power BI アプリ登録ツールで登録するRegister with the Power BI App Registration Tool

アプリケーションの ID を設定し、Power BI REST リソースへのアクセス許可を指定するには、 Azure Active Directory でアプリケーションを登録する必要があります。You need to register your application in Azure Active Directory to establish an identity for your application and specify permissions to Power BI REST resources. コンソール アプリや Web サイトなどのアプリケーションを登録すると、アクセス許可を要求しているユーザーを識別するためにアプリケーションで使用される識別子を受け取ります。When you register an application, such as a console app or a web site, you receive an identifier which is used by the application to identify themselves to the users that they are requesting permissions from.

Power BI アプリ登録ツールでアプリケーションを登録する方法を以下に説明します。Here's how to register your application with the Power BI App Registration Tool:

  1. dev.powerbi.com/apps に移動します。Go to dev.powerbi.com/apps.
  2. [既存のアカウントでサインイン] を選択します。Select Sign in with your existing account.
  3. アプリ名を入力します。Provide an App Name.
  4. アプリの種類の選択は、使用しているアプリケーションの種類によって異なります。The App type selection will depend on the type of application you are using.

    • Web アプリまたは Web API には、[サーバー側の Web アプリ] を使用します。Use Server-side Web app for web apps or web APIs.
    • クライアント デバイスで実行されるアプリには、[ネイティブ アプリ] を使用します。Use Native app for apps that run on client devices. 実際のアプリケーションに関係なく顧客向けのコンテンツを埋め込む場合も、*[ネイティブ アプリ] を選びます。Web アプリケーションであっても同じです。You will also choose Native app if you are embedding content for your customers regardless of what the actual application is. Even for web applications.***
  5. [リダイレクト URL][ホーム ページの URL] の値を入力します。Enter a value for Redirect URL and Home Page URL. 有効な URL であれば機能します。Any valid URL will work.

    [ホーム ページの URL] は、アプリケーションの種類に [サーバー側の Web アプリ] 選択した場合にのみ使用できます。Home Page URL is only available if you choose Server-side Web app for the applciation type.

    "顧客向けの埋め込み" サンプルおよび integrate-dashboard-web-app サンプルの場合、リダイレクト URL は http://localhost:13526/redirect です。For the embedding for your customers and integrate-dashboard-web-app samples, the redirect URL will be http://localhost:13526/redirect. レポートとタイルのサンプルでは、リダイレクト URL は http://localhost:13526/ です。For the report and tile sample, the redirect URL will be http://localhost:13526/.

  6. このアプリケーションがアクセスする API を選択します。Choose the APIs that this application will have access to. Power BI のアクセス許可について詳しくは、「Power BI のアクセス許可」をご覧ください。For more information about Power BI access permissions, see Power BI Permissions.

  7. [アプリの登録] を選択します。Select Register App.

    クライアント ID が提供されます。You will then be provided with a Client ID. [サーバー側の Web アプリ] を選択した場合は、クライアント シークレットも受け取ります。If you selected Server-side Web app, you will also receive a Client Secret. クライアント ID は必要に応じて後で Azure Portal から取得できます。The Client ID can be retrieved from the Azure portal, at a later time, if needed. クライアント シークレットをなくした場合、Azure Portal で新しく作成する必要があります。If you lose the Client Secret, you will need to create a new one within the Azure portal.

カスタム アプリケーションの一部として登録済みのアプリケーションを使用して Power BI サービスと対話できるようになりました。You can now use the registered application as part of your custom application to interact with the Power BI service.

重要

顧客向けのコンテンツを埋め込む場合は、Azure Portal で追加のアクセス許可を構成する必要があります。If you are embedding content for your customers, you will need to configure additional permissions within the Azure portal. 詳しくは、「Azure AD でアプリケーションにアクセス許可を適用する」をご覧ください。For more information, see Apply permissions to your application.

Azure Portal に登録するRegister with the Azure portal

アプリケーションを登録するためのもう 1 つのオプションは、Azure Portal で直接行うことです。Your other option for registering your application is to do so directly in the Azure portal. アプリケーションを登録するには、次の手順に従います。To register your application, follow these steps.

  1. Microsoft Power BI API 条項に同意します。Accept the Microsoft Power BI API Terms.
  2. Azure Portal にサインインします。Sign into the Azure portal.
  3. ページの右上隅で、アカウントを選択して、Azure AD テナントを選択します。Choose your Azure AD tenant by selecting your account in the top right corner of the page.
  4. 左側のナビゲーション ウィンドウで、[その他のサービス][セキュリティ + ID][アプリの登録][新しいアプリケーションの登録] の順に選びます。In the left-hand navigation pane, choose More Services, select App Registrations under Security + Identity and select New application registration.

  5. 画面の指示に従って、新しいアプリケーションを作成します。Follow the prompts and create a new application.

    • Web アプリケーションの場合は、アプリのベース URL となるサインオン URL を指定します。これは http://localhost:13526 のようにユーザーがサインインできる場所です。For Web Applications, provide the Sign-On URL, which is the base URL of your app, where users can sign in e.g http://localhost:13526.
    • ネイティブ アプリケーションの場合は、Azure AD がトークンの応答を返すために使用するリダイレクト URI を指定します。For Native Applications, provide a Redirect URI, which Azure AD uses to return token responses. アプリケーション固有の値を入力します (例: http://myapplication/redirect)。Enter a value specific to your application, .e.g http://myapplication/redirect

Azure Active Directory でアプリケーションを登録する方法の詳細については、「Azure Active Directory とアプリケーションの統合」を参照してください。For more information about how to register applications in Azure Active Directory, see Integrating applications with Azure Active Directory

クライアント ID を取得する方法How to get the client id

アプリケーションを登録すると、 クライアント IDを受け取ります。When you register an application, you receive a Client ID. クライアント ID は、アプリケーションによって使用され、アクセス許可を要求しているユーザーを識別します。The Client ID is used by the application to identify themselves to the users that they are requesting permissions from.

次にクライアント ID を取得する方法を示します。Here's how to get a client id:

  1. Azure Portal にサインインします。Sign into the Azure portal.
  2. ページの右上隅で、アカウントを選択して、Azure AD テナントを選択します。Choose your Azure AD tenant by selecting your account in the top right corner of the page.
  3. 左側のナビゲーション ウィンドウで、[その他のサービス][アプリの登録] の順に選択します。In the left-hand navigation pane, choose More Services and select App Registrations.
  4. クライアント ID を取得するアプリケーションを選択します。Select the application that you want to retrieve the client id for.
  5. GUID としてアプリケーション ID が一覧表示されます。You will see Application ID listed as a GUID. これがアプリケーションのクライアント ID です。This is the client id for the application.

    アプリの登録でアプリケーション ID として一覧表示されるクライアント ID

Azure AD でアプリケーションにアクセス許可を適用するApply permissions to your application within Azure AD

重要

このセクションは、組織向けのコンテンツを埋め込むアプリケーションにのみ適用されます。This section only applies to applications that are embedding content for your organization.

アプリ登録ページで指定されたものに加え、アプリケーションに対する追加のアクセス許可を有効にする必要があります。You will need to enable additional permissions to your application in addition to what was provided in app registration page. その場合、Azure AD ポータルを使用することも、プログラムで実行することもできます。You can accomplish this through the Azure AD portal, or programmatically.

埋め込みに使った "マスター" アカウントまたはグローバル管理者アカウントでログインできます。You will want to be logged in with either the master account, used for embedding, or a Global admin account.

Azure AD ポータルの使用Using the Azure AD portal

  1. Azure Portal で [アプリの登録] を参照して、埋め込みに使うアプリを選びます。Browse to App registrations within the Azure portal and select the app that you are using for embedding.

  2. [API アクセス][必要なアクセス許可] を選択します。Select Required permissions under API Access.

  3. [Windows Azure Active Directory] を選択してから、[サインインしたユーザーとしてディレクトリにアクセスします] が選択されていることを確認します。Select Windows Azure Active Directory and then make sure Access the directory as the signed-in user is selected. [保存] を選択します。Select Save.

  4. [必要なアクセス許可] 内で、[Power BI サービス (Power BI)] を選択します。Within Required permissions, select Power BI Service (Power BI).

    注意

    Azure AD ポータルで直接アプリを作成した場合は、[Power BI サービス (Power BI)] が存在しない可能性があります。If you created the app directly in the Azure AD portal, Power BI Service (Power BI) may not be present. 存在しない場合は、[+ 追加] を選択してから [1 API を選択します] を選択します。If it is not, select + Add and then 1 Select and API. API リストで [Power BI サービス] を選択して、[選択] を選択します。Select Power BI Service in the API list and select Select. [+ 追加][Power BI サービス (Power BI)] がない場合は、少なくとも 1 人のユーザーで Power BI にサインアップします。If Power BI Service (Power BI) is not available within + Add, sign up for Power BI with at least one user.

  5. [デリゲートされたアクセス許可] のすべてのアクセス許可を選択します。Select all permissions under Delegated Permissions. 選択内容を保存するために 1 つずつ選択する必要があります。You will need to select them one by one in order to save the selections. 完了したら、[保存] を選択します。Select Save when done.

  6. [必要なアクセス許可] 内で、[アクセス許可の付与] を選択します。Within Required permissions, select Grant Permissions.

    "マスター アカウント" で Azure AD により同意を求めるプロンプトが表示されないようにするには、[アクセス許可の付与] アクションが必要です。The Grant Permissions action is needed for the master account to avoid being prompted for consent by Azure AD. この操作を実行するアカウントがグローバル管理者である場合は、組織のすべてのユーザーにこのアプリケーションに対するアクセス許可を与えることになります。If the account performing this action is a Global Admin, you will grant permissions to all users within your organization for this application. このアクションを実行するアカウントが "マスター アカウント" であり、グローバル管理者ではない場合は、"マスター アカウント" にのみこのアプリケーションに対するアクセス許可を与えます。If the account performing this action is the master account and is not a Global Admin, you will grant permissions only to the master account for this application.

    [必要なアクセス許可] ダイアログの [アクセス許可の付与]

プログラムでのアクセス許可の適用Applying permissions programmatically

  1. テナント内で既存のサービス プリンシパル (ユーザー) を取得する必要があります。You will need to get the existing service principals (users) within your tenant. その方法については、「Get servicePrincipal」 (servicePrincipal を取得する) を参照してください。For information on how to do that, see Get servicePrincipal.

    Get servicePrincipal api は {id} なしで呼び出すことができます。その場合、テナント内のサービス プリンシパルがすべて取得されます。You can call the Get servicePrincipal api without {id} and it will get you all of the service principals within the tenant.

  2. appId プロパティとしてアプリ クライアント ID を使用してサービス プリンシパルを確認します。Check for a service principal with you app client id as appId property.
  3. アプリがない場合は、新しいサービス プランを作成します。Create a new service plan if missing for your app.

    Post https://graph.microsoft.com/beta/servicePrincipals
    Authorization: Bearer ey..qw
    Content-Type: application/json
    {
    "accountEnabled" : true,
    "appId" : "{App_Client_ID}",
    "displayName" : "{App_DisplayName}"
    }
    
  4. Power BI API にアプリのアクセス許可を付与するGrant App Permission to PowerBI API

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"AllPrincipals",
    "resourceId":"c78b2585-1df6-41de-95f7-dc5aeb7dc98e",
    "scope":"Dataset.ReadWrite.All Dashboard.Read.All Report.Read.All Group.Read Group.Read.All Content.Create Metadata.View_Any Dataset.Read.All Data.Alter_Any",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    
  5. AAD にアプリのアクセス許可を付与するGrant App Permission to AAD

    consentType の値は、要求を実行するユーザーによって異なります。The value for consentType will depend on the user performing the request. AllPrincipals または Principal を指定できます。You can supply either AllPrincipals or Principal. AllPrincipals は、管理者がすべてのユーザーにアクセス許可を与える場合にのみ使うことができます。AllPrincipals can only be used by an administrator to grant permission to all users. Principal は、特定のユーザーにアクセス許可を与える場合に使います。Principal is used to grant permission to a specific user.

    "マスター アカウント" で Azure AD により同意を求めるプロンプトが表示されないようにするには、アクセス許可の付与が必要です。The permission grant is needed for the master account to avoid being prompted for consent by Azure AD.

    既存のテナントを使用しており、すべてのテナント ユーザーのためにアクセス許可を付与したくない場合は、contentType の値を Principal に置き換えることにより、特定のユーザーにアクセス許可を付与できます。If you are using an existing tenant, and not interested in granting permissions on behalf of all tenant users, you can grant permissions to a specific user by replacing the value of contentType to Principal.

    Post https://graph.microsoft.com/beta/OAuth2PermissionGrants
    Authorization: Bearer ey..qw
    Content-Type: application/json
    { 
    "clientId":"{Service_Plan_ID}",
    "consentType":"AllPrincipals",
    "resourceId":"61e57743-d5cf-41ba-bd1a-2b381390a3f1",
    "scope":"User.Read Directory.AccessAsUser.All",
    "expiryTime":"2018-03-29T14:35:32.4943409+03:00",
    "startTime":"2017-03-29T14:35:32.4933413+03:00"
    }
    

次の手順Next steps

Azure AD でアプリケーションを登録したので、アプリケーションでユーザーを認証する必要があります。Now that you have registered your application within Azure AD, you will need to authenticate users within your application. 詳細については、「ユーザーを認証し、Power BI アプリ用の Azure AD アクセス トークンを取得する」をご覧ください。Have a look at Authenticate users and get an Azure AD access token for your Power BI app to learn more.

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