템플릿 앱은 고객이 데이터에서 인사이트를 얻기 시작하는 좋은 방법입니다. 템플릿 앱은 데이터를 연결하여 빠르게 실행되도록 합니다. 템플릿 앱은 원하는 경우 사용자 지정할 수 있는 미리 빌드된 보고서를 제공합니다.
고객은 데이터에 연결하는 방법에 대한 세부 정보를 항상 잘 알지 못합니다. 템플릿 앱을 설치할 때 이러한 세부 정보를 제공해야 하는 것은 문제가 될 수 있습니다.
데이터 서비스 공급자이고 고객이 서비스에서 데이터를 시작하는 데 도움이 되는 템플릿 앱을 만든 경우 템플릿 앱을 더 쉽게 설치할 수 있습니다. 템플릿 앱의 매개 변수 구성을 자동화할 수 있습니다. 고객이 포털에 로그인하면 준비한 특수 링크를 선택합니다. 이 링크:
- 필요한 정보를 수집하는 자동화를 시작합니다.
- 템플릿 앱 매개 변수를 미리 구성합니다.
- 앱을 설치할 수 있는 Power BI 계정으로 고객을 리디렉션합니다.
설치 를 선택하고 데이터 원본에 대해 인증하기만 하면 됩니다.
고객 환경은 여기에 설명되어 있습니다.
이 문서에서는 템플릿 앱 설치의 구성을 자동화하는 데 필요한 기본 흐름, 필수 구성 요소, 기본 단계 및 API에 대해 설명합니다. 자세히 알아보고 시작하려면 Azure 함수를 사용하여 준비한 간단한 샘플 애플리케이션을 사용하여 템플릿 앱 설치의 구성을 자동화하는 자습서 로 건너뛸 수 있습니다.
자동화된 구성을 위한 기본 흐름
템플릿 앱 설치의 구성을 자동화하기 위한 기본 흐름은 다음과 같이 진행됩니다.
- 사용자가 ISV의 포털에 로그인하고 제공된 링크를 선택합니다. 이 작업은 자동화된 흐름을 시작합니다. ISV의 포털은 이 단계에서 사용자별 구성을 준비합니다.
- ISV는 ISV의 테넌트에 등록된 서비스 주체(앱 전용 토큰)를 기반으로 앱 전용 토큰을 획득합니다.
- ISV는 Power BI REST API를 사용하여 ISV에서 준비한 대로 사용자별 매개 변수 구성을 포함하는 설치 티켓을 만듭니다.
- ISV는 설치 티켓이 포함된 리디렉션 방법을 사용하여
POST사용자를 Power BI로 리디렉션합니다. - 사용자가 설치 티켓을 사용하여 Power BI 계정으로 리디렉션되고 템플릿 앱을 설치하라는 메시지가 표시됩니다. 사용자가 설치를 선택하면 템플릿 앱이 설치됩니다.
비고
매개 변수 값은 설치 티켓을 만드는 과정에서 ISV에 의해 구성되지만, 데이터 원본 관련 자격 증명은 설치의 마지막 단계에서만 사용자가 제공합니다. 이러한 정렬은 타사에 노출되지 않도록 하고 사용자와 템플릿 앱 데이터 원본 간의 보안 연결을 보장합니다.
필수 조건
템플릿 앱에 미리 구성된 설치 환경을 제공하려면 다음 필수 구성 요소가 필요합니다.
Power BI Pro 라이선스. Power BI Pro에 등록하지 않은 경우 시작하기 전에 평가판에 등록 하세요.
사용자 고유의 Microsoft Entra 테넌트 설정 설정하는 방법에 대한 지침은 Microsoft Entra 테넌트 만들기를 참조하세요.
이전 테넌트에 등록된 애플리케이션 전용 서비스 주체(앱 전용 토큰)입니다. 자세한 내용은 서비스 주체 및 애플리케이션 암호를 사용하여 Power BI 콘텐츠 포함을 참조하세요. 애플리케이션을 서버 쪽 웹 애플리케이션 앱으로 등록해야 합니다. 서버 쪽 웹 애플리케이션을 등록하여 애플리케이션 비밀을 만듭니다. 이 프로세스에서는 이후 단계를 위해 ClientID(애플리케이션 ID ) 및 애플리케이션 비밀 (ClientSecret)을 저장해야 합니다.
설치할 준비가 된 매개 변수가 있는 템플릿 앱 입니다. Microsoft Entra ID에 애플리케이션을 등록하는 동일한 테넌트에 템플릿 앱을 만들어야 합니다. 자세한 내용은 템플릿 앱 팁 또는 Power BI에서 템플릿 앱 만들기를 참조하세요. 템플릿 앱에서 다음 단계에 대한 다음 정보를 기록해 두어야 합니다.
- 앱 ID, 패키지 키 및 소유자 ID 는 앱을 만들 때 템플릿 앱의 속성을 정의하는 프로세스가 끝날 때 설치 URL에 표시됩니다. 템플릿 앱의 릴리스 관리 창에서 가져오기 링크를 선택하여 동일한 링크를 가져올 수도 있습니다.
- 템플릿 앱의 의미 체계 모델에서 정의된 매개 변수 이름입니다. 매개 변수 이름은 대/소문자를 구분하는 문자열이며 템플릿 앱의 속성을 정의하거나 Power BI의 의미 체계 모델 설정에서 매개 변수 설정 탭에서 검색할 수도 있습니다.
자동화 작업 흐름을 테스트하려면 서비스 주체를 템플릿 앱 작업 영역에 관리자로 추가합니다.
비고
아직 AppSource에서 공개적으로 사용할 수 없는 경우에도 템플릿 앱을 설치할 준비가 된 경우 템플릿 앱에서 미리 구성된 설치 애플리케이션을 테스트할 수 있습니다. 테넌트 외부의 사용자가 자동화된 설치 애플리케이션을 사용하여 템플릿 앱을 설치하려면 AppSource에서 템플릿 앱을 공개적으로 사용할 수 있어야 합니다. 만드는 자동화된 설치 애플리케이션을 사용하여 템플릿 앱을 배포하기 전에 파트너 센터에 게시해야 합니다.
기본 단계 및 API
템플릿 앱 설치의 구성을 자동화하는 주요 단계와 필요한 API는 다음 섹션에 설명되어 있습니다. 대부분의 단계는 Power BI REST API로 수행되지만 여기에 설명된 코드 예제는 .NET SDK를 사용하여 수행됩니다.
1단계: Power BI 클라이언트 개체 만들기
Power BI REST API를 사용하려면 Microsoft Entra ID에서 서비스 주체에 대한 액세스 토큰을 가져와야 합니다. Power BI REST API를 호출하기 전에 Power BI 애플리케이션에 대한 Microsoft Entra 액세스 토큰을 가져와야 합니다. 액세스 토큰을 사용하여 Power BI 클라이언트를 만들려면 Power BI REST API와 상호 작용할 수 있는 Power BI 클라이언트 개체를 만들어야 합니다. AccessToken을 Microsoft.Rest.TokenCredentials 개체로 래핑하여 Power BI 클라이언트 개체를 만듭니다.
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using Microsoft.Rest;
using Microsoft.PowerBI.Api.V2;
var tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");
// Create a Power BI client object. It's used to call Power BI APIs.
using (var client = new PowerBIClient(new Uri(ApiUrl), tokenCredentials))
{
// Your code goes here.
}
2단계: 설치 티켓 만들기
사용자를 Power BI로 리디렉션할 때 사용되는 설치 티켓을 만듭니다. 이 작업에 사용되는 API는 CreateInstallTicket API입니다.
템플릿 앱 설치 및 구성에 대한 설치 티켓을 만드는 방법의 샘플은 샘플 애플리케이션의 InstallTemplateApp/InstallAppFunction.cs 파일에서 사용할 수 있습니다.
다음 코드 예제에서는 템플릿 앱 CreateInstallTicket REST API를 사용하는 방법을 보여 줍니다.
using Microsoft.PowerBI.Api.V2;
using Microsoft.PowerBI.Api.V2.Models;
// Create Install Ticket Request.
InstallTicket ticketResponse = null;
var request = new CreateInstallTicketRequest()
{
InstallDetails = new List<TemplateAppInstallDetails>()
{
new TemplateAppInstallDetails()
{
AppId = Guid.Parse(AppId),
PackageKey = PackageKey,
OwnerTenantId = Guid.Parse(OwnerId),
Config = new TemplateAppConfigurationRequest()
{
Configuration = Parameters
.GroupBy(p => p.Name)
.ToDictionary(k => k.Key, k => k.Select(p => p.Value).Single())
}
}
}
};
// Issue the request to the REST API using .NET SDK.
InstallTicket ticketResponse = await client.TemplateApps.CreateInstallTicketAsync(request);
3단계: 티켓을 사용하여 사용자를 Power BI로 리디렉션
설치 티켓을 만든 후에는 이를 사용하여 사용자를 Power BI로 리디렉션하여 템플릿 앱 설치 및 구성을 계속합니다.
POST 메서드 리디렉션을 사용하여 설치 티켓을 요청 본문에 포함한 상태로 템플릿 앱의 설치 URL로 이동합니다.
요청을 사용하여 POST 리디렉션을 발급하는 방법에 대한 다양한 문서화된 방법이 있습니다. 하나 또는 다른 하나를 선택하는 것은 시나리오와 사용자가 포털 또는 서비스와 상호 작용하는 방법에 따라 달라집니다.
테스트 목적으로 주로 사용되는 간단한 예제는 로드 시 자동으로 제출되는 숨겨진 필드가 있는 양식을 사용합니다.
<html>
<body onload='document.forms["form"].submit()'>
<!-- form method is POST and action is the app install URL -->
<form name='form' action='https://app.powerbi.com/....' method='post' enctype='application/json'>
<!-- value should be the new install ticket -->
<input type='hidden' name='ticket' value='H4sI....AAA='>
</form>
</body>
</html>
샘플 애플리케이션 응답의 다음 예제에서는 설치 티켓을 보유하고 사용자를 Power BI로 자동으로 리디렉션합니다. 이 Azure 함수에 대한 응답은 이전 HTML 예제에서 볼 수 있는 것과 동일한 자동 제출 양식입니다.
...
return new ContentResult() { Content = RedirectWithData(redirectUrl, ticket.Ticket), ContentType = "text/html" };
}
...
public static string RedirectWithData(string url, string ticket)
{
StringBuilder s = new StringBuilder();
s.Append("<html>");
s.AppendFormat("<body onload='document.forms[\"form\"].submit()'>");
s.AppendFormat("<form name='form' action='{0}' method='post' enctype='application/json'>", url);
s.AppendFormat("<input type='hidden' name='ticket' value='{0}' />", ticket);
s.Append("</form></body></html>");
return s.ToString();
}
비고
브라우저 리디렉션을 사용하는 POST 다양한 방법이 있습니다. 항상 서비스 요구 사항 및 제한 사항에 따라 가장 안전한 방법을 사용해야 합니다. 일부 형태의 안전하지 않은 리디렉션으로 인해 사용자 또는 서비스가 보안 문제에 노출될 수 있습니다.
4단계: 자동화를 프로덕션으로 이동
디자인한 자동화가 준비되면 프로덕션으로 이동해야 합니다.
관련 콘텐츠
- 간단한 Azure 함수를 사용하여 템플릿 앱 설치의 구성을 자동화하는 자습서를 사용해 보세요.
- 더 많은 질문? Power BI 커뮤니티에 질문합니다.