소개

완료됨

앱에 Power BI 콘텐츠를 포함하려면 액세스 토큰을 획득하도록 앱을 개발해야 합니다. 인증 흐름(및 액세스 토큰)의 유형은 포함 시나리오에 따라 달라집니다.

참고

포함 시나리오에 대해 알아보려면 Power BI 임베디드 분석 제품 선택 모듈을 진행합니다.

두 시나리오 중 하나를 사용하는 경우 앱은 Azure AD 토큰을 획득해야 합니다. Azure AD 토큰에는 Power BI REST API에 대해 부여된 권한을 식별하는 클레임이 포함되어 있습니다. 일반적으로 만료 시간은 1시간입니다. 유효한 Azure AD 토큰이 모든 API 작업에 있어야 합니다.

대화형 인증 흐름 사용

조직용 시나리오에 대한 Azure AD 토큰을 획득하기 위해 앱은 대화형 인증 흐름을 사용합니다. 대화형 인증 흐름은 Azure AD에서 사용자 이름 및 암호를 사용하고 MFA(다단계 인증)를 사용하여 사용자에게 로그인하라는 메시지를 표시할 수 있음을 의미합니다. Azure AD는 사용자에게 리소스에 대한 더 많은 동의를 부여하라는 메시지를 표시할 수도 있습니다(앱에 처음 로그인할 때 필요).

참고

앱에서 SSO(Single Sign-On)를 사용할 수 있게 되면 사용자는 앱을 사용할 때마다 로그인할 필요가 없습니다. 인증 프로세스는 사용자가 처음 인증할 때 세션 쿠키에 자격 증명을 캐시하고, 앱은 기본적으로 90일 후에 만료될 때까지 이러한 캐시된 자격 증명을 사용할 수 있습니다.

일단 Azure AD 토큰이 획득되면 앱은 이 토큰을 캐시해야 합니다. 그러면 앱이 이 토큰을 사용하여 사용자에게 작업 권한이 있는 Power BI 콘텐츠를 포함할 수 있습니다.

다음 동영상은 대화형 인증 흐름의 사용을 보여 줍니다.

3단원의 Azure AD 토큰 획득 방법을 알아봅니다.

비대화형 인증 흐름 사용

고객용 시나리오에 대한 Azure AD 토큰을 획득하기 위해 앱은 비대화형 인증 흐름을 사용합니다. 앱 사용자는 Power BI 계정이 없어도 되며 이 계정이 있더라도 사용되지 않습니다. 따라서 포함 ID라고 하는 전용 Azure AD ID는 Azure AD를 사용하여 인증됩니다. 포함 ID는 서비스 주체 또는 마스터 사용자 계정일 수 있습니다.

비대화형 인증 흐름을 자동 인증이라고도 합니다. 인증 서비스에서 사용자에게 추가 정보를 묻는 메시지를 표시할 수 없는 방식으로 Azure 토큰을 획득하려고 시도합니다. 앱 사용자가 앱에서 인증을 받으면(앱에서 선택한 인증 방법을 사용할 수 있음) 앱은 포함 ID를 사용하여 비대화형 인증 흐름에서 Azure AD 토큰을 획득합니다.

앱이 Azure AD 토큰을 획득하면 해당 토큰을 캐시한 다음, embed 토큰을 생성하는 데 사용합니다. embed 토큰은 Power BI 콘텐츠 및 액세스 방법에 대한 팩트를 나타냅니다.

특히 embed 토큰은 다음을 설명합니다.

  • 특정 Power BI 콘텐츠에 대한 클레임
  • 보거나 만들거나 편집하기 위해 설정한 액세스 수준 만들기 및 편집 수준은 Power BI 보고서에만 적용됩니다.
  • 토큰이 만료되는 시기를 결정하는 토큰 수명
  • 필요에 따라 새 보고서를 저장하기 위한 대상 작업 영역에 대한 클레임
  • 필요에 따라 Power BI에서 데이터 권한을 적용할 수 있도록 하는 하나 이상의 유효 ID

참고

유효 ID에 대해 자세히 알아보려면 Power BI 임베디드 분석에 대한 데이터 권한 적용 모듈을 참조하세요.

비대화형 인증 흐름의 사용을 보여 주는 다음 동영상을 시청하세요.

3단원의 embed 토큰 획득 방법을 알아봅니다.

서비스 주체 사용

앱은 서비스 주체를 사용하여 Azure AD 토큰을 획득할 수 있습니다. Azure 서비스 주체는 앱에서 사용하는 보안 ID입니다. Azure AD 테넌트에서 앱에 대한 액세스 정책 및 권한을 정의하여 로그인하는 동안 앱 인증 및 리소스 액세스 동안 권한 부여와 같은 핵심 기능을 사용하도록 설정합니다. 서비스 주체는 앱 비밀 또는 인증서를 사용하여 인증할 수 있습니다. 좀 더 안전하기 때문에 비밀 키가 아닌 프로덕션 앱에 인증서를 사용하여 서비스 주체를 보호하는 것이 좋습니다.

앱의 포함 ID가 서비스 주체인 경우 Power BI 테넌트 관리자는 먼저 다음을 수행해야 합니다.

  • 서비스 주체 사용을 설정합니다.
  • 포함된 보안 그룹을 등록합니다.

다음 이미지는 Power BI 관리자가 서비스 주체에서 Power BI API를 사용하도록 설정할 수 있는 개발자 설정(관리 포털의 테넌트 설정에 있는)을 보여 줍니다.

서비스 주체가 사용하도록 설정된 개발자 설정을 보여 주는 스크린샷

중요

관리자가 Power BI에서 서비스 주체를 사용하도록 허용하는 경우 앱의 Azure AD 권한은 더 이상 적용되지 않습니다. 그때부터 관리자는 Power BI 관리 포털에서 앱의 권한을 관리합니다.

Power BI에서 서비스 주체는 작업 영역 콘텐츠를 포함하기 위해 작업 영역 관리자 또는 멤버 역할에 속해야 합니다. 새 작업 영역만 서비스 주체에 대한 역할 할당을 지원하며 개인 작업 영역은 지원되지 않습니다.

참고

서비스 주체를 사용하여 Power BI 서비스에 로그인할 수 없습니다.

자세한 내용은 다음을 참조하세요.

마스터 사용자 계정 사용

앱은 마스터 사용자 계정을 사용하여 AD 토큰을 획득할 수 있습니다. 마스터 사용자 계정은 일반 Azure AD 사용자입니다. Power BI에서 계정은 작업 영역 콘텐츠를 포함하기 위해 작업 영역 관리자 또는 멤버 역할에 속해야 합니다. 또한 Power BI Pro 또는 Power BI PPU(사용자 단위 Premium) 라이선스가 있어야 합니다.

참고

마스터 사용자 계정을 사용하여 페이지를 매긴 보고서를 포함할 수 없습니다.

포함 ID 유형 비교

프로덕션 앱에 서비스 주체를 사용하는 것이 좋습니다. 가장 높은 보안을 제공하며, 이러한 이유로 Azure AD에서 권장하는 접근 방식입니다. 또한 더 나은 자동화 및 스케일링을 지원하며 관리 오버헤드가 줄어듭니다. 그러나 설정 및 관리하려면 Power BI 관리자 권한이 필요합니다.

개발 또는 테스트 앱에 마스터 사용자 계정을 사용하는 것이 좋습니다. 쉽게 설정할 수 있으며 Power BI 서비스에 로그인하여 문제를 해결할 수 있습니다. 그러나 Power BI Pro 또는 PPU 라이선스가 필요하기 때문에 관련 비용이 파생됩니다. 또한 마스터 사용자 계정에는 MFA가 필요하지 않습니다.

요약하면 다음 표에서는 두 가지 포함 ID 유형을 비교합니다.

항목 서비스 주체 마스터 사용자 계정
Azure AD 개체 유형 서비스 주체 사용자
자격 증명 관리 주기적인 순환으로 비밀 또는 인증서 사용 암호 업데이트 자주 수행
Power BI 테넌트 설정 Power BI 관리자는 서비스 주체의 사용을 허용해야 하며 서비스 주체를 전용 보안 그룹에 포함하는 것이 좋습니다. 적용할 수 없음
Power BI REST API 사용량 일부 관리자 및 데이터 흐름 작업은 지원되지 않습니다. 읽기 전용 관리자 API에 대해 서비스 주체 인증을 사용하도록 설정할 수 있습니다. 모든 작업이 지원됨
Power BI 서비스 로그인 지원되지 않음 지원됨
라이선스 필요 없음 Power BI Pro 또는 PPU
Azure AD 권장 사항 권장(특히 프로덕션 앱의 경우) 권장되지 않음(하지만 개발 또는 테스트 앱에 적합할 수 있음)
추가 정보 MFA가 필요하지 않습니다. 페이지를 매긴 보고서를 포함할 수 없습니다.