다음을 통해 공유


빠른 시작: 사용자 지정 커넥터에 대한 Microsoft Entra 구성

이 가이드에서는 파워 쿼리 사용자 지정 커넥터에서 사용할 Microsoft Entra 애플리케이션을 구성하는 단계를 설명합니다. 커넥터 개발자는 계속하기 전에 Microsoft ID 플랫폼 개념을 검토하는 것이 좋습니다.

애플리케이션 용어는 Microsoft Entra 플랫폼의 여러 컨텍스트에서 사용되므로 이 가이드에서는 다음 용어를 사용하여 커넥터데이터 원본 애플리케이션 ID를 구분합니다.

  • 클라이언트 애플리케이션: 파워 쿼리 커넥터에서 사용하는 Microsoft Entra 클라이언트 ID입니다.
  • 리소스 애플리케이션: 커넥터가 연결하는 엔드포인트(즉, 서비스 또는 데이터 원본)에 대한 Microsoft Entra 애플리케이션 등록입니다.

사용자 지정 커넥터에 대해 Microsoft Entra 지원을 사용하도록 설정하려면 다음이 포함됩니다.

  • 커넥터에서 사용되는 리소스 애플리케이션에서 하나 이상의 범위를 정의합니다.
  • 이러한 범위를 사용하도록 파워 쿼리 클라이언트 ID를 사전 인증합니다.
  • 커넥터 정의에서 올바른 Resource 값과 Scopes 값을 설정합니다.

이 가이드에서는 새 리소스 애플리케이션이 Microsoft Entra에 등록되어 있다고 가정합니다. 기존 리소스 애플리케이션을 사용하는 개발자는 범위 구성 섹션으로 건너뛸 수 있습니다.

참고 항목

서비스 또는 애플리케이션에서 Microsoft Entra를 사용하는 방법에 대한 자세한 내용은 빠른 시작 가이드 중 하나를 참조하세요.

리소스 애플리케이션 등록

데이터 원본 또는 API 엔드포인트는 이 리소스 애플리케이션을 사용하여 서비스와 Microsoft ID 플랫폼 간에 신뢰를 설정합니다.

다음 단계에 따라 새 리소스 애플리케이션을 등록합니다.

  1. 최소한 클라우드 애플리케이션 관리자Microsoft Entra 관리 센터에 로그인합니다.
  2. ID>애플리케이션>앱 등록으로 이동하고 신규 등록을 선택합니다.
  3. 애플리케이션의 표시 이름을 입력합니다.
  4. 지원되는 계정 유형의 경우 조직 내에서만 엔드포인트에 액세스할 수 있는 경우에만 이 조직 디렉터리의 계정을 선택합니다. 공개적으로 액세스할 수 있는 다중 테넌트 서비스를 위해 모든 조직 디렉터리에서 계정을 선택합니다.
  5. 등록을 선택합니다.

리디렉션 URI 값을 지정할 필요가 없습니다.

등록이 완료되면 애플리케이션의 개요 페이지가 표시됩니다. 서비스의 소스 코드에서 사용할 디렉터리(테넌트) ID애플리케이션(클라이언트) ID 값을 기록해 둡니다. 서비스 환경 및 아키텍처와 유사한 Microsoft ID 플랫폼 코드 샘플의 가이드 중 하나를 따라 새 애플리케이션을 구성하고 사용하는 방법을 결정합니다.

애플리케이션 ID URI 설정

엔드포인트에 대한 범위를 구성하려면 먼저 리소스 애플리케이션에 대한 애플리케이션 ID URI를 설정해야 합니다. 이 ID는 커넥터의 ResourceAad 레코드 필드에서 사용됩니다. 이 값은 서비스의 루트 URL로 설정됩니다. 리소스 애플리케이션의 클라이언트 ID인 Microsoft Entra api://{clientId}{clientId} 에서 생성된 기본값을 사용할 수도 있습니다.

  1. 리소스 애플리케이션의 개요 페이지로 이동합니다.
  2. 가운데 화면의 Essentials에서 애플리케이션 ID URI 추가를 선택합니다.
  3. URI를 입력하거나 앱 ID에 따라 기본값을 적용합니다.
  4. 저장하고 계속을 선택합니다.

이 가이드의 예제에서는 기본 애플리케이션 ID URI 형식(예: ) api://44994a60-7f50-4eca-86b2-5d44f873f93f을 사용하고 있다고 가정합니다.

범위 구성

범위는 서비스의 API 또는 데이터에 액세스할 수 있는 권한 또는 기능을 정의하는 데 사용됩니다. 지원되는 범위 목록은 서비스별로 다릅니다. 커넥터에 필요한 최소 범위 집합을 확인하려고 합니다. 파워 쿼리 클라이언트 ID에 대해 하나 이상의 범위를 사전 인증해야 합니다.

리소스 애플리케이션에 이미 정의된 범위가 있는 경우 다음 단계로 건너뛸 수 있습니다.

서비스에서 범위 기반 권한을 사용하지 않는 경우 커넥터에서 사용하는 단일 범위를 정의할 수 있습니다. 필요에 따라 나중에 서비스 코드에서 이 범위를 사용할 수 있습니다.

이 예제에서는 Data.Read라는 단일 범위를 정의합니다.

  1. 리소스 애플리케이션의 개요 페이지로 이동합니다.
  2. 관리에서 API 노출 > 범위 추가를 선택합니다.
  3. 범위 이름에 Data.Read를 입력합니다.
  4. 동의할 수 있는 사용자에 대해 관리 및 사용자 옵션을 선택합니다.
  5. 다시 기본 표시 이름 및 설명 상자를 입력합니다.
  6. 상태가 사용으로 설정되어 있는지 확인합니다.
  7. 범위 추가를 선택합니다.

파워 쿼리 클라이언트 애플리케이션 사전 인증

파워 쿼리 커넥터는 두 개의 서로 다른 Microsoft Entra 클라이언트 ID를 사용합니다. 이러한 클라이언트 ID에 대한 범위를 미리 인증하면 연결 환경이 간소화됩니다.

클라이언트 ID 애플리케이션 이름 사용 대상
a672d62c-fc7b-4e81-a576-e60dc46e951d Excel용 파워 쿼리 데스크톱 환경
b52893c8-bc2e-47fc-918b-77022b299bbc Power BI 데이터 새로 고침 서비스 환경

파워 쿼리 클라이언트 ID를 미리 인증하려면 다음을 수행합니다.

  1. 리소스 애플리케이션의 개요 페이지로 이동합니다.
  2. 관리에서 API 표시를 선택합니다.
  3. 클라이언트 애플리케이션 추가를 선택합니다.
  4. 파워 쿼리 클라이언트 ID 중 하나를 입력합니다.
  5. 적절한 권한 있는 범위를 선택합니다.
  6. 애플리케이션 추가를 선택합니다.
  7. 각 파워 쿼리 클라이언트 ID에 대해 3-6단계를 반복합니다.

커넥터에서 Aad 인증 종류 사용

커넥터의 데이터 원본 레코드에 인증 종류를 추가하여 Aad 커넥터에 대해 Microsoft Entra ID 지원을 사용할 수 있습니다.

MyConnector = [
    Authentication = [
        Aad = [
            AuthorizationUri = "https://login.microsoftonline.com/common/oauth2/authorize",
            Resource = "{YourApplicationIdUri}"
            Scope = ".default"
        ]
    ]
];

{YourApplicationIdUri} 예를 들어 api://44994a60-7f50-4eca-86b2-5d44f873f93f이 값을 리소스 애플리케이션의 애플리케이션 ID URI 값으로 바꿉니다.

이 예에서는 다음이 적용됩니다.

  • AuthorizationUri: 인증 흐름을 시작하는 데 사용되는 Microsoft Entra URL입니다. 대부분의 커넥터는 이 값을 하드 코딩할 https://login.microsoftonline.com/common/oauth2/authorize수 있지만 서비스에서 Azure B2B/게스트 계정을 지원하는 경우에도 동적으로 확인할 수 있습니다. 자세한 내용은 샘플로 이동하세요.
  • 리소스: 커넥터의 애플리케이션 ID URI입니다.
  • 범위: .default 범위를 사용하여 사전 인증된 모든 범위를 자동으로 받습니다. 사용하면 .default 커넥터를 업데이트할 필요 없이 리소스 애플리케이션 등록에서 필요한 커넥터 범위를 변경할 수 있습니다.

커넥터에서 Microsoft Entra 지원을 구성하는 방법에 대한 자세한 내용과 옵션은 Microsoft Entra ID 인증 샘플 페이지로 이동하세요.

커넥터를 다시 빌드하면 이제 Microsoft Entra ID를 사용하여 서비스로 인증할 수 있습니다.

문제 해결

이 섹션에서는 Microsoft Entra 애플리케이션이 잘못 구성된 경우 발생할 수 있는 일반적인 오류에 대해 설명합니다.

파워 쿼리 애플리케이션이 사전 인증되지 않았습니다.

access_denied: AADSTS650057: 잘못된 리소스입니다. 클라이언트에서 클라이언트의 애플리케이션 등록에서 요청된 권한에 나열되지 않은 리소스에 대한 액세스를 요청했습니다. 클라이언트 앱 ID: a672d62c-fc7b-4e81-a576-e60dc46e951d(Excel용 Microsoft 파워 쿼리). 요청의 리소스 값: 44994a60-7f50-4eca-86b2-5d44f873f93f. 리소스 앱 ID: 44994a60-7f50-4eca-86b2-5d44f873f93

리소스 애플리케이션이 파워 쿼리 클라이언트 애플리케이션을 미리 인증하지 않은 경우 이 오류가 표시될 수 있습니다. 다음 단계에 따라 파워 쿼리 클라이언트 ID를 미리 인증합니다.

커넥트or의 Aad 레코드에 범위 값이 없습니다.

access_denied: AADSTS650053: 애플리케이션 'Excel용 Microsoft 파워 쿼리'에서 '44994a60-7f50-4eca-86b2-5d44f873f93f' 리소스에 없는 범위 'user_impersonation'을 요청했습니다. 앱 공급업체에 문의하세요.

커넥터의 레코드가 user_impersonation 필드를 정의 Scope 하지 않거나 값null이 있으면 파워 쿼리에서 Scope 범위를 요청 Aad 합니다. 커넥터에서 값을 정의하여 Scope 이 문제를 해결할 수 있습니다. .default 범위를 사용하는 것이 좋지만 커넥터 수준에서 범위를 지정할 수도 있습니다(예Data.Read: ).

범위 또는 클라이언트 애플리케이션에는 관리자 승인이 필요합니다.

관리자 승인이 필요합니다. <테넌트는> 관리자만 부여할 수 있는 조직의 리소스에 액세스할 수 있는 권한이 필요합니다. 사용하기 전에 이 앱에 대한 권한을 부여하도록 관리자에게 요청하세요.

리소스 애플리케이션에 관리자 제한 권한이 필요 하거나 사용자의 테넌트가 비지정 사용자가 새 애플리케이션 사용 권한 요청에 동의하지 못하게 하는 경우 인증 흐름 중에 이 오류가 발생할 수 있습니다. 커넥터에 관리자 제한 범위 가 필요하지 않도록 하고 리소스 애플리케이션에 대한 파워 쿼리 클라이언트 ID 를 미리 인증하여 이 문제를 방지할 수 있습니다.