Введение в Microsoft Graph

Реализация безопасности Azure для разработчиков

Anushika Agarwal

Cloud Data Engineer

Что такое Microsoft Graph?

  • Единый API для доступа к данным Microsoft 365

  • Одна точка входа для всех сервисов

Microsoft Graph — одна точка входа для всех сервисов

Реализация безопасности Azure для разработчиков

Пример: PeopleSphere и Microsoft Graph

  • PeopleSphere использует:

    • Outlook для заявок на отпуск
    • Teams для встреч HR
    • OneDrive для расчётных листков
  • Graph объединяет всё это

Как PeopleSphere использует Microsoft Graph

Реализация безопасности Azure для разработчиков

Анатомия вызова Graph API

Единый API: одна точка входа для доступа к ресурсам Microsoft Cloud Запрос к Microsoft Graph API

Реализация безопасности Azure для разработчиков

Структура запроса

  • Компоненты запроса:

    • Метод: GET, POST, PATCH и др.

    • Версия: v1.0, beta

    • Ресурс: users, groups и др.

    • Параметры запроса: $select, $filter

    • Заголовки: 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, /me
    • Группы: работа с группами
      • /groups
    • События: получение событий календаря
      • /users/{userId}/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...