Microsoft Graph 소개

개발자를 위한 Azure 보안 구현

Anushika Agarwal

Cloud Data Engineer

Microsoft Graph란?

  • Microsoft 365 데이터에 접근하는 통합 API

  • 모든 서비스를 위한 단일 엔드포인트

Microsoft Graph - 모든 서비스를 위한 단일 엔드포인트

개발자를 위한 Azure 보안 구현

예시: PeopleSphere와 Microsoft Graph

  • PeopleSphere 사용 현황:

    • 휴가 신청에 Outlook
    • HR 회의에 Teams
    • 급여명세서에 OneDrive
  • Graph로 모두 연결

PeopleSphere의 Microsoft Graph 활용 방식

개발자를 위한 Azure 보안 구현

Graph API 호출 구조

통합 API: Microsoft 클라우드 서비스 리소스에 접근하는 단일 엔드포인트 Microsoft Graph API 요청

개발자를 위한 Azure 보안 구현

요청 분석

  • 요청 구성 요소:

    • Method: GET, POST, PATCH

    • Version: v1.0, beta

    • Resource: users, groups

    • Query Parameters: $select, $filter

    • Headers: Authorization, Content-Type

Microsoft Graph API 요청

개발자를 위한 Azure 보안 구현

메서드

  • 지원 메서드:

    • GET: 데이터 조회

    • POST: 데이터 생성

    • PUT: 데이터 전체 교체

    • PATCH: 데이터 부분 업데이트

    • DELETE: 데이터 삭제

개발자를 위한 Azure 보안 구현

버전 관리: v1.0

  • https://graph.microsoft.com/v1.0/groups

  • 안정적인 API

  • 일반 공개 API
  • 프로덕션 앱에 사용

버전 관리 - v1.0

개발자를 위한 Azure 보안 구현

버전 관리: beta

beta

  • https://graph.microsoft.com/beta/groups
  • 미리 보기, 실험적 기능
  • 불안정, 변경 가능성 있음
  • 테스트 전용, 프로덕션 사용 불가

`

버전 관리 - Beta

개발자를 위한 Azure 보안 구현

리소스

  • 상호작용하는 특정 데이터입니다.

  • 예시:

    • Users: 사용자 정보 접근
      • /users, /me
    • Groups: 그룹 작업
      • /groups
    • Events: 캘린더 이벤트 조회
      • /users/{userId}/events

Users

Groups

Events

개발자를 위한 Azure 보안 구현

쿼리 매개변수

  • 특정 데이터를 필터링, 정렬, 선택하는 옵션

  • Select:

    • 특정 필드 선택
    • $select=id,displayName
  • Filter:

    • 데이터 필터링
    • $filter=startswith(displayName, 'John')
  • Top:

    • 결과 수 제한
    • $top=5

쿼리 매개변수 - Select

  쿼리 매개변수 - Filter

  쿼리 매개변수 - Top

개발자를 위한 Azure 보안 구현

헤더

HTTP 요청응답에 메타데이터를 전달합니다.

헤더 유형: 표준 및 API 전용

헤더

  • 표준: 모든 요청에 공통
    • Authorization: Bearer {access_token}
    • Content-Type: application/json
  • API 전용: API마다 상이
    • Retry-After: 30
    • Location: https://graph.microsoft.com/operationStatus
개발자를 위한 Azure 보안 구현

연습해 봅시다!

개발자를 위한 Azure 보안 구현

Preparing Video For Download...