다음을 통해 공유


자습서: Azure 함수를 사용하여 템플릿 앱 설치 구성 자동화

템플릿 앱은 고객이 데이터에서 인사이트를 얻기 시작할 수 있는 좋은 방법입니다. 템플릿 앱은 데이터에 연결하여 신속하게 실행됩니다. 템플릿 앱은 고객이 원할 경우 사용자 지정할 수 있는 미리 작성된 보고서를 고객에게 제공합니다.

고객이 데이터에 연결하는 자세한 방법을 항상 잘 알고 있는 것은 아닙니다. 템플릿 앱을 설치할 때 이러한 세부 정보를 제공해야 하는 경우에는 문제가 될 수 있습니다.

고객이 서비스에서 데이터를 시작하는 데 도움을 주는 템플릿 앱을 만든 데이터 서비스 공급자는 고객이 템플릿 앱을 더 쉽게 설치하도록 만들 수 있습니다. 템플릿 앱의 매개 변수 구성을 자동화할 수 있습니다.

고객은 포털에 로그인할 때 준비된 특수 링크를 선택합니다. 이 링크:

  • 필요한 정보를 수집하는 자동화를 시작합니다.
  • 템플릿 앱 매개 변수를 미리 구성합니다.
  • 앱을 설치할 수 있는 Power BI 계정으로 고객을 리디렉션합니다.

설치를 선택하고 해당 데이터 원본에 대해 인증하면 됩니다.

이 사용자 환경은 여기에 나와 있습니다.

Illustration of user experience with an auto-installation application.

이 자습서에서는 Microsoft가 만든 자동 설치 Azure Functions 샘플을 사용하여 템플릿 앱을 미리 구성하고 설치해 봅니다. 이 샘플은 데모를 위해 의도적으로 간단히 유지됩니다. Power BI API를 사용하여 템플릿 앱을 설치하고 사용자를 위해 자동으로 구성하도록 Azure 함수의 설정을 캡슐화했습니다.

일반 자동화 흐름 및 앱에 사용되는 API에 대한 자세한 내용은 템플릿 앱 설치의 자동 구성을 참조하세요.

간단한 이 애플리케이션은 Azure 함수를 사용합니다. Azure Functions에 대한 자세한 내용은 Azure Functions 설명서를 참조하세요.

기본 흐름

다음 기본 흐름은 고객이 포털의 링크를 선택하여 애플리케이션을 시작할 때 애플리케이션에서 수행하는 작업을 보여 줍니다.

  1. 사용자가 ISV 포털에 로그인하고 제공된 링크를 선택합니다. 이 작업을 수행하면 흐름이 시작됩니다. ISV 포털은 이 단계에서 사용자 관련 구성을 준비합니다.

  2. ISV는 ISV의 테넌트에 등록된 서비스 주체(앱 전용 토큰)를 기반으로 앱 전용 토큰을 가져옵니다.

  3. ISV는 Power BI REST API를 사용하여 ISV에서 준비한 사용자 특정 매개 변수 구성이 포함된 설치 티켓을 만듭니다.

  4. ISV는 설치 티켓을 포함하는 POST 리디렉션 메서드를 사용하여 사용자를 Power BI로 리디렉션합니다.

  5. 사용자는 설치 티켓을 사용하여 Power BI 계정으로 리디렉션되고 템플릿 앱을 설치하라는 메시지가 표시됩니다. 사용자가 설치를 선택하면 템플릿 앱이 설치됩니다.

참고 항목

설치 티켓을 만드는 프로세스 중에 ISV에서 매개 변수 값이 구성되며, 데이터 원본 관련 자격 증명은 설치의 최종 단계에서 사용자에 의해서만 제공됩니다. 이렇게 하면 자격 증명이 제3자에게 노출되지 않으므로 사용자와 템플릿 앱 데이터 원본 간에 보안 연결이 보장됩니다.

필수 조건

템플릿 앱 자동화 개발 환경 설정

애플리케이션 설정을 계속하기 전에 빠른 시작: Azure App Configuration을 사용하여 Azure Functions 앱 만들기의 지침에 따라 Azure App Configuration과 함께 Azure 함수를 개발합니다. 문서의 설명대로 앱 구성을 만드세요.

Microsoft Entra ID에 애플리케이션 등록

서비스 주체 및 애플리케이션 암호를 사용하여 Power BI 콘텐츠 포함의 설명대로 서비스 주체를 만듭니다.

애플리케이션을 서버 쪽 웹 애플리케이션 앱으로 등록해야 합니다. 서버 사이드 웹 애플리케이션을 등록하여 응용 프로그램 암호를 만듭니다.

이후 단계를 위해 ‘애플리케이션 ID’(ClientID) 및 ‘애플리케이션 암호’(ClientSecret)를 저장합니다.

포함 설정 도구를 통해 신속하게 앱 등록을 생성하기 시작할 수 있습니다. Power BI 앱 등록 도구를 사용하는 고객에 대한 콘텐츠 포함 옵션을 선택합니다.

서비스 주체를 관리자로 템플릿 앱 작업 영역에 추가하면 자동화 워크플로를 테스트할 수 있습니다.

템플릿 앱 준비

템플릿 앱을 만든 후 설치할 준비가 되면 다음 단계를 위해 아래의 정보를 저장합니다.

  • 앱을 만들 때 템플릿 앱의 속성 정의 프로세스 끝에 설치 URL에 표시되는 ‘앱 ID’, ‘패키지 키’, ‘소유자 ID’.

    템플릿 앱의 릴리스 관리 창에서 링크 가져오기를 선택하여 동일한 링크를 가져올 수도 있습니다.

  • 템플릿 앱의 의미 체계 모델에 정의된 매개 변수 이름. 매개 변수 이름은 대/소문자를 구분하는 문자열입니다. 템플릿 앱의 속성을 정의하는 동안 매개 변수 설정 탭에서 또는 Power BI의 의미 체계 모델 설정에서 검색할 수도 있습니다.

참고 항목

템플릿 앱을 설치할 준비가 되면 아직 AppSource에서 공개적으로 사용할 수 없는 경우에도 템플릿 앱에서 미리 구성된 설치 애플리케이션을 테스트할 수 있습니다. 테넌트 외부의 사용자가 자동 설치 애플리케이션을 사용하여 템플릿 앱을 설치하려면 템플릿 앱을 Power BI Apps 마켓플레이스에서 공개적으로 사용할 수 있어야 합니다. 작성 중인 자동 설치 애플리케이션을 사용하여 템플릿 앱을 배포하기 전에 파트너 센터에 게시해야 합니다.

템플릿 앱 설치 및 구성

이 섹션에서는 Microsoft가 만든 자동 설치 Azure Functions 샘플을 사용하여 템플릿 앱을 미리 구성하고 설치해 봅니다. 이 샘플은 데모를 위해 의도적으로 간단히 유지됩니다. Azure 함수Azure App Configuration을 사용하여 템플릿 앱의 자동 설치 API를 쉽게 배포하고 사용할 수 있습니다.

Visual Studio(버전 2017 이상) 다운로드

Visual Studio(버전 2017 이상)를 다운로드합니다. 최신 NuGet 패키지를 다운로드해야 합니다.

자동 설치 Azure Functions 샘플 다운로드

GitHub에서 자동 설치 Azure Functions 샘플을 다운로드하여 시작합니다.

Screenshot that shows the automated installation Azure Functions sample.

Azure 앱 구성 설정

이 샘플을 실행하려면 아래에 설명된 값과 키를 사용하여 Azure 앱 구성을 설정해야 합니다. 키는 애플리케이션 ID, 애플리케이션 암호 및 템플릿 앱의 AppId, PackageKey, OwnerId 값입니다. 이러한 값을 가져오는 방법에 대한 내용은 다음 섹션을 참조하세요.

키는 Constants.cs 파일에도 정의되어 있습니다.

구성 키 의미
TemplateAppInstall:Application:AppId 설치 URLAppId
TemplateAppInstall:Application:PackageKey 설치 URLPackageKey
TemplateAppInstall:Application:OwnerId 설치 URLOwnerId
TemplateAppInstall:ServicePrincipal:ClientId 서비스 주체 애플리케이션 ID
TemplateAppInstall:ServicePrincipal:ClientSecret 서비스 주체 애플리케이션 암호

Constants.cs 파일은 다음과 같습니다.

Screenshot that shows the Constant.cs file.

템플릿 앱 속성 가져오기

모든 관련 템플릿 앱 속성을 앱을 만들 때 정의된 대로 입력합니다. 이러한 속성은 템플릿 앱의 AppId, PackageKeyOwnerId 값입니다.

위의 값을 가져오려면 다음 단계를 수행합니다.

  1. Power BI에 로그인합니다.

  2. 애플리케이션의 원본 작업 영역으로 이동합니다.

  3. 릴리스 관리 창을 엽니다.

    Screenshot that shows the Release Management pane.

  4. 앱 버전을 선택하고 설치 링크를 가져옵니다.

    Screenshot that shows the Release Management button.

  5. 링크를 클립보드에 복사합니다.

    Screenshot that shows the Get link button.

  6. 이 설치 URL에는 필요한 값을 포함하는 세 개의 URL 매개 변수가 있습니다. 애플리케이션에 대한 appId, packageKeyownerId 값을 사용합니다. 샘플 URL은 여기에 표시된 것과 비슷합니다.

    https://app.powerbi.com/Redirect?action=InstallApp&appId=3c386...16bf71c67&packageKey=b2df4b...dLpHIUnum2pr6k&ownerId=72f9...1db47&buildVersion=5
    

애플리케이션 ID 가져오기

Azure의 애플리케이션 ID를 사용하여 applicationId 정보를 입력합니다. applicationId 값은 애플리케이션에서 권한을 요청 중인 사용자에게 자체를 알리는 데 사용됩니다.

애플리케이션 ID를 가져오려면 다음 단계를 수행합니다.

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 창에서 모든 서비스>앱 등록을 선택합니다.

    Screenshot that shows app registrations search.

  3. 애플리케이션 ID가 필요한 애플리케이션을 선택합니다.

    Screenshot that shows choosing an app.

  4. GUID로 나열된 애플리케이션 ID가 있습니다. 이 애플리케이션 ID를 애플리케이션의 applicationId 값으로 사용합니다.

    Screenshot that shows the applicationId value.

애플리케이션 비밀 가져오기

Azure의 앱 등록 섹션에 있는 섹션에서 ApplicationSecret 정보를 입력합니다. 이 특성은 서비스 주체를 사용하는 경우 작동합니다.

애플리케이션 암호를 가져오려면 다음 단계를 수행합니다.

  1. Azure Portal에 로그인합니다.

  2. 왼쪽 창에서 모든 서비스>앱 등록을 선택합니다.

    Screenshot that shows App registration search.

  3. 애플리케이션 암호를 사용해야 하는 애플리케이션을 선택합니다.

    Screenshot shows choosing an app.

  4. 관리 아래의 인증서 및 비밀을 선택합니다.

  5. 새 클라이언트 비밀을 선택합니다.

  6. 설명 상자에 이름을 입력하고 지속 기간을 선택합니다. 그런 다음, 저장을 선택하여 애플리케이션의 값을 가져옵니다. 키 값을 저장한 후 창을 닫으면 필드가 숨김으로만 표시됩니다. 이때는 키 값을 검색할 수 없습니다. 키 값을 분실한 경우 Azure Portal에서 새 키 값을 만듭니다.

    Screenshot that shows the key value.

로컬에서 함수 테스트

Run the function locally(로컬에서 함수 실행)에 설명된 단계에 따라 함수를 실행합니다.

함수 URL에 대한 POST 요청을 실행하도록 포털을 구성합니다. 예제는 POST http://localhost:7071/api/install입니다. 요청 본문은 키-값 쌍을 설명하는 JSON 개체여야 합니다. 키는 Power BI Desktop에 정의된 매개 변수 이름입니다. 값은 템플릿 앱에서 각 매개 변수에 대해 설정할 값입니다.

참고 항목

프로덕션에서 매개 변수 값은 포털의 의도된 논리에 따라 각 사용자에 대해 추론됩니다.

필요한 흐름은 다음과 같습니다.

  1. 포털이 세션별 사용자당 요청을 준비합니다.
  2. POST /api/install 요청이 Azure 함수에 실행됩니다. 요청 본문은 키-값 쌍으로 구성됩니다. 키는 매개 변수 이름입니다. 값은 설정하려는 값입니다.
  3. 모두 제대로 구성되면 브라우저가 자동으로 고객의 Power BI 계정으로 리디렉션하고 자동 설치 흐름이 표시됩니다.
  4. 설치 시 매개 변수 값은 1 및 2단계에서 구성한 대로 설정됩니다.

Azure에 프로젝트 게시

프로젝트를 Azure에 게시하려면 Azure Functions 설명서의 지침을 따르세요. 그런 다음, 템플릿 앱 자동 설치 API를 제품에 통합하고 프로덕션 환경에서 테스트를 시작할 수 있습니다.