포함된 Power BI 콘텐츠에 Azure AD 앱 등록Register an Azure AD app to embed Power BI content

Power BI 콘텐츠 포함에 사용하기 위해 Azure AD(Azure Active Directory) 내에서 응용 프로그램을 등록하는 방법에 대해 알아봅니다.Learn how to register an application within Azure Active Directory (Azure AD) for use with embedding Power BI content.

Azure AD에 응용 프로그램을 등록하면 응용 프로그램에서 Power BI REST API에 액세스할 수 있습니다.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.

두 가지 방법으로 응용 프로그램을 등록합니다.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

응용 프로그램을 Azure Active Directory에 등록하여 응용 프로그램의 ID를 설정하고 Power BI REST 리소스에 대한 사용 권한을 지정해야 합니다.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. 콘솔 앱 또는 웹 사이트와 같은 응용 프로그램을 등록하는 경우 응용 프로그램이 사용 권한을 요청한 사용자에게 자신을 식별하기 위해 사용하는 ID를 받습니다.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.

    • 웹앱 또는 웹 API에 대해 서버 쪽 웹앱을 사용합니다.Use Server-side Web app for web apps or web APIs.
    • 클라이언트 장치에서 실행되는 앱에 대해 네이티브 앱을 사용합니다.Use Native app for apps that run on client devices. 실제 응용 프로그램이 무엇인지에 관계 없이 사용자에 대한 콘텐츠를 포함하는 경우에도 *네이티브 앱을 선택합니다. 웹 응용 프로그램에 대해서도 마찬가지입니다.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을 사용할 수 있습니다.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. 서버 쪽 웹앱을 선택한 경우 클라이언트 비밀도 받게 됩니다.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. 자세한 내용은 응용 프로그램에 권한 적용을 참조하세요.For more information, see Apply permissions to your application.

Azure Portal에 등록Register with the Azure portal

응용 프로그램을 등록하기 위한 다른 옵션은 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.

    • 웹 응용 프로그램의 경우 사용자가 로그인할 수 있는 앱의 기본 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. 응용 프로그램 ID가 GUID로 나열됩니다.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)+추가 내에서 사용할 수 없는 경우 적어도 한 명의 사용자를 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. 선택 항목을 저장하려면 하나씩 선택해야 합니다.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을 참조하세요.For information on how to do that, see Get servicePrincipal.

    {id} 없이 Get servicePrincipal api를 호출하면 테넌트 내의 모든 서비스 주체를 가져오게 됩니다.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. PowerBI 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