자격 증명 관리자 구성 - Microsoft Graph API

적용 대상: 모든 API Management 계층

이 문서에서는 Azure API Management 내에서 Microsoft Graph API에 대한 관리 연결을 만드는 데 필요한 단계를 안내합니다. 이 예에서는 인증 코드 부여 형식이 사용됩니다.

다음 방법에 대해 설명합니다.

  • Microsoft Entra 애플리케이션 만들기
  • API Management에서 자격 증명 공급자 만들기 및 구성
  • 연결 구성
  • API Management에서 Microsoft Graph API 만들기 및 정책 구성
  • API Management에서 Microsoft Graph API 테스트

필수 조건

1단계: Microsoft Entra 애플리케이션 만들기

API용 Microsoft Entra 애플리케이션을 만들고 호출하려는 요청에 대한 적절한 권한을 부여합니다.

  1. 테넌트에 충분한 권한이 있는 계정으로 Azure Portal에 로그인합니다.

  2. Azure 서비스에서 Microsoft Entra ID를 검색합니다.

  3. 왼쪽 메뉴에서 앱 등록을 선택한 다음, 새 등록을 선택합니다.

  4. 애플리케이션 등록 페이지에서 애플리케이션 등록 설정을 입력합니다.

    1. 이름MicrosoftGraphAuth와 같이 앱 사용자에게 표시될 의미 있는 이름을 입력합니다.

    2. 지원되는 계정 유형에서 시나리오에 적합한 옵션을 선택합니다(예: 이 조직 디렉터리에만 계정(단일 테넌트)).

    3. 리디렉션 URI으로 설정하고 https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>을 입력합니다. 자격 증명 공급자를 구성할 API Management 서비스의 이름으로 대체됩니다.

    4. 등록을 선택합니다.

      포털에서 Microsoft Entra 앱 등록을 만드는 스크린샷.

  5. 왼쪽 메뉴에서 API 권한을 선택한 다음 + 권한 추가를 선택합니다. 포털에서 API 권한을 추가하는 스크린샷.

    1. Microsoft Graph를 선택한 다음, 위임된 권한을 선택하세요.

      참고 항목

      위임됨 형식의 User.Read 권한이 이미 추가되었는지 확인합니다.

    2. 을 입력하고 옵션을 펼친 다음 Team.ReadBasic.All을 선택합니다. 권한 추가를 선택합니다.
    3. 다음으로 기본 디렉터리에 대한 관리자 동의 부여를 선택합니다. 권한 상태가 기본 디렉터리에 부여됨으로 변경됩니다.
  6. 왼쪽 메뉴에서 개요를 선택합니다. 개요 페이지에서 애플리케이션(클라이언트) ID 값을 찾아 2단계에서 사용할 수 있도록 기록해 둡니다.

  7. 왼쪽 메뉴에서 인증서 및 비밀를 선택한 다음 + 새 클라이언트 암호를 선택합니다.
    포털에서 앱 암호를 만드는 스크린샷.

    1. 설명을 입력합니다.
    2. 만료 옵션을 선택합니다.
    3. 추가를 선택합니다.
    4. 페이지를 떠나기 전에 클라이언트 암호의 을 복사합니다. 2단계에서 필요합니다.

2단계: API Management에서 자격 증명 공급자 구성

  1. 포털에 로그인하고 API Management 인스턴스로 이동합니다.

  2. 왼쪽 메뉴에서 인증 정보 관리자를 선택한 다음 + 만들기를 선택합니다.
    포털에서 API 자격 증명을 만드는 스크린샷.

  3. 자격 정보 공급자 만들기 페이지에서 다음 설정을 입력하고 만들기를 선택합니다.

    설정
    자격 정보 공급자 이름 원하는 이름(예: MicrosoftEntraID-01)
    ID 공급자 Azure Active Directory v1 선택
    권한 부여 유형 인증 코드 선택
    권한 부여 URL Microsoft Entra ID 공급자의 경우 선택 사항입니다. 기본값은 https://login.microsoftonline.com입니다.
    클라이언트 ID 앱 등록에서 이전에 복사한 값 붙여넣기
    클라이언트 암호 앱 등록에서 이전에 복사한 값 붙여넣기
    리소스 URL https://graph.microsoft.com
    테넌트 ID Microsoft Entra ID 공급자의 경우 선택 사항입니다. 기본값은 공통입니다.
    범위 Microsoft Entra ID 공급자의 경우 선택 사항입니다. Microsoft Entra 앱의 API 권한을 통해 자동으로 구성됩니다.

3단계: 연결 구성

연결 탭에서 공급자 연결 단계를 완료합니다.

참고 항목

연결을 구성하면 API Management는 기본적으로 인스턴스의 시스템 할당 관리 ID에서 액세스할 수 있도록 하는 액세스 정책을 설정합니다. 이 예에서는 이 액세스만으로 충분합니다. 필요에 따라 추가 액세스 정책을 추가할 수 있습니다.

  1. 연결 이름을 입력한 다음 저장을 선택합니다.
  2. 2단계: 연결에 로그인(권한 부여 코드 부여 유형)에서 자격 증명 공급자에 로그인할 링크를 선택합니다. 액세스 권한을 부여하는 단계를 완료하고 API Management로 돌아갑니다.
  3. 3단계: 이 연결에 액세스할 수 있는 사용자 결정(액세스 정책) 아래에 관리 ID 멤버가 나열됩니다. 시나리오에 따라 다른 멤버를 추가하는 것은 선택 사항입니다.
  4. Complete(완료) 를 선택합니다.

새 연결이 연결 목록에 나타나고 연결됨 상태로 표시됩니다. 자격 증명 공급자에 대한 다른 연결을 만들려면 이전 단계를 완료합니다.

포털을 사용하여 언제든지 자격 증명 공급자에 대한 연결을 추가, 업데이트 또는 삭제할 수 있습니다. 자세한 내용은 다중 연결 구성을 참조하세요.

참고 항목

이 단계 후에 Microsoft Graph 권한을 업데이트하는 경우 2단계와 3단계를 반복해야 합니다.

4단계: API Management에서 Microsoft Graph API 만들기 및 정책 구성

  1. 포털에 로그인하고 API Management 인스턴스로 이동합니다.

  2. 왼쪽 메뉴에서 API > + AP추가를 선택합니다.

  3. HTTP를 선택하고 다음 설정을 입력합니다. 그런 다음 만들기를 선택합니다.

    설정
    표시 이름 msgraph
    웹 서비스 URL https://graph.microsoft.com/v1.0
    API URL 접미사 msgraph
  4. 새로 만들어진 API로 이동하여 작업 추가를 선택합니다. 다음 설정을 입력하고 저장을 선택합니다.

    설정
    표시 이름 getprofile
    GET에 대한 URL /me
  5. 위의 단계에 따라 다음 설정을 사용하여 다른 작업을 추가합니다.

    설정
    표시 이름 getJoinedTeams
    GET에 대한 URL /me/joinedTeams
  6. 모든 작업을 선택합니다. 인바운드 처리 섹션에서 코드 편집기(</>) 아이콘을 선택합니다.

  7. 다음 코드 조각을 복사하여 붙여 넣습니다. get-authorization-context 정책을 이전 단계에서 구성한 자격 증명 공급자 및 연결의 이름으로 업데이트하고 저장을 선택합니다.

    • 자격 증명 공급자 이름을 provider-id 값으로 대체합니다.
    • 연결 이름을 authorization-id 값으로 대체합니다.
    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="MicrosoftEntraID-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
           <set-header name="Authorization" exists-action="override">
               <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
           </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

앞의 정책 정의는 다음 두 부분으로 구성됩니다.

  • get-authorization-context 정책은 이전에 만들어진 자격 증명 공급자 및 연결을 참조하여 권한 부여 토큰을 가져옵니다.
  • set-header 정책은 가져온 액세스 토큰으로 HTTP 헤더를 만듭니다.

5단계: API 테스트

  1. 테스트 탭에서 구성한 작업을 하나 선택합니다.

  2. 보내기를 선택합니다.

    포털에서 Graph API를 테스트하는 스크린샷.

    성공적인 응답은 Microsoft Graph에서 사용자 데이터를 반환합니다.