이 문서에서는 Power BI의 인증과 클라이언트 ID를 사용하여 액세스 토큰을 얻는 방법을 소개합니다. Power BI 앱 만들기를 시작하려면 Power BI 앱 만들기 시작을 참조하세요.

Power BI API는 데이터 집합, 테이블 및 행 등의 대시보드 리소스에 프로그래밍 방식의 액세스 권한을 제공합니다. 이러한 리소스는 Azure AD(Azure Active Directory)에 의해 보호됩니다. Power BI 리소스에 대한 액세스 권한을 얻으려면 Azure AD로 앱을 인증합니다.

Power BI의 인증 소개

Power BI 앱이 Azure AD(Active Directory) 와 통합되어 보안 로그인 및 앱에 대한 권한 부여를 제공합니다. Power BI 앱을 AAD와 통합하려면 Azure 관리 포털을 사용하여 AAD와 응용 프로그램에 대한 세부 정보를 등록합니다. Azure Active Directory에 앱을 등록하는 경우 응용 프로그램은 Azure AD에 인증을 아웃소싱합니다. 앱 등록에는 해당 응용 프로그램의 위치를 나타내는 URL, 인증 후에 회신을 보낼 URL 및 응용 프로그램을 식별하는 URI을 비롯한 응용 프로그램 정보를 Azure AD에 제공하는 작업이 포함됩니다. Azure AD에 클라이언트 앱 또는 웹앱을 등록할 때 앱 액세스 권한을 Power BI REST API에 부여합니다.

Power BI 앱은 클라이언트 ID 를 사용하여 Azure AD에 대해 자신을 식별합니다. Azure 앱 클라이언트 ID를 참조하세요. 웹앱에 대해 클라이언트 암호 키도 필요합니다. Azure 웹앱 클라이언트 암호 키를 참조하세요.

Power BI 앱을 등록하고 인증하는 방법을 알아보려면

  • Power BI 클라이언트 앱: 클라이언트 앱 등록Power BI 클라이언트 앱 인증을 참조하세요.

  • Power BI 웹앱: 웹앱 등록Power BI 웹앱 인증을 참조하세요.

  • 다른 플랫폼에서 Azure 인증을 사용하는 방법을 알아보려면 보안 API 호출용 액세스 토큰을 얻기 위해 개발자가 쉽게 클라우드 또는 온-프레미스 AD(Active Directory)에 사용자를 인증할 수 있도록 Azure 인증 라이브러리를 다른 플랫폼에서 사용할 수 있는지 확인합니다. 이 항목에서는 다른 플랫폼에서 사용할 수 있는 인증 라이브러리와 소스 코드 및 샘플을 비롯한 유용한 리소스로 안내합니다.

Azure 앱 클라이언트 ID

Azure 앱에는 응용 프로그램에서 사용되는 클라이언트 ID 가 있어 사용 권한을 요청하는 사용자에게 자신을 식별할 수 있습니다. 클라이언트 ID를 사용하여 인증 토큰을 가져올 수 있습니다. Azure 클라이언트 ID를 가져오려면 클라이언트 앱 ID를 가져오는 방법을 참조하세요.

Azure 클라이언트 ID를 사용하여 클라이언트 앱을 인증하는 방법에 대한 완전한 샘플을 보려면 클라이언트 앱 인증을 참조하세요.

예를 들어 다음 C# 코드는 액세스 토큰을 가져올 Azure 앱 클라이언트 ID를 사용합니다.

  static string AccessToken()
  {
        //Get access token:
        // To call a Power BI REST operation, create an instance of AuthenticationContext and call AcquireToken
        // AuthenticationContext is part of the Active Directory Authentication Library NuGet package
        // To install the Active Directory Authentication Library NuGet package in Visual Studio,
        //  run "Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory" from the nuget Package Manager Console.

        //Resource Uri for Power BI API
        string resourceUri = "https://analysis.windows.net/powerbi/api";

        string clientId = {clientIDFromAzureAppRegistration};

        //A redirect uri gives AAD more details about the specific application that it will authenticate.
        //Since a client app does not have an external service to redirect to, this Uri is the standard placeholder for a client app.
        string redirectUri = "https://login.live.com/oauth20_desktop.srf";

        // Create an instance of AuthenticationContext to acquire an Azure access token
        // OAuth2 authority Uri
        string authorityUri = "https://login.windows.net/common/oauth2/authorize";
        AuthenticationContext authContext = new AuthenticationContext(authorityUri);

        // Call AcquireToken to get an Azure token from Azure Active Directory token issuance endpoint
        //  AcquireToken takes a Client Id that Azure AD creates when you register your client app.
        //  To learn how to register a client app and get a Client ID, see https://msdn.microsoft.com/en-US/library/dn877542(Azure.100).aspx   
        string token = authContext.AcquireToken(resourceUri, clientID, new Uri(redirectUri)).AccessToken;

        return token;
  }

Azure 웹앱 클라이언트 암호 키

웹앱을 등록하면 클라이언트 암호 가 수신됩니다. 클라이언트 암호 는 웹앱이 Power BI 서비스에서 안전하게 신원을 확인하는 데 사용됩니다. Azure 클라이언트 보안 를 가져오려면 클라이언트 암호 키를 가져오는 방법을 참조하세요.

Azure 클라이언트 ID 및 클라이언트 암호 를 사용하여 웹앱을 인증하는 방법에 대한 전체 샘플을 보려면 웹앱 인증을 참조하세요.

참고 항목

Power BI 앱 만들기 시작
Azure Active Directory 테넌트를 가져오는 방법
Azure Active Directory 테넌트 만들기
클라이언트 앱 등록
웹앱 등록
궁금한 점이 더 있나요? Power BI 커뮤니티를 이용하세요.