Настройка аутентификации и доступа к API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Важность безопасности API

Безопасность HTTP

  • Конечные точки API часто общедоступны
  • Данные за API необходимо защищать
  • Особенно актуально для конфиденциальных данных
Azure API Management

Обзор аутентификации

  • Аутентификация и авторизация — не одно и то же
  • Аутентификация подтверждает личность вызывающей стороны
  • Вход по имени пользователя и паролю — один из видов аутентификации

Форма входа

Azure API Management

Обзор авторизации

Незащищённые и защищённые запросы

  • Авторизация управляет разрешениями
  • Аутентифицированный пользователь может не иметь прав доступа
  • Пример: доступ к панели администратора есть только у администраторов
Azure API Management

Пример погодного приложения

Авторизация в погодном приложении

Azure API Management

Введение в OAuth

  • OAuth используется для аутентификации
  • А также для авторизации
  • Сложный протокол безопасности
  • Обеспечивает высокий уровень защиты

Выдача токена доступа

Azure API Management

Пример Google OAuth

Пример Google OAuth

Azure API Management

Авторизация с помощью ключей API в Azure Functions

  • Авторизация не всегда требует аутентификации
  • HTTP-конечные точки можно защитить ключами API
  • Длинная строка символов
  • В Azure Functions ключ по умолчанию генерируется автоматически
  • Ключ необходимо включать в запрос
  • Клиент должен знать ключ
  • Клиенту не нужно подтверждать свою личность

Настройка ключа API в Azure

Azure API Management

Области действия ключей API

Области действия ключей API в Azure Function

  • Разные области действия для разных типов ключей
  • Ключ уровня функции открывает доступ к конкретной функции
    • Как физический ключ, открывающий одну дверь
  • Ключ уровня хоста
    • Открывает доступ ко всем функциям приложения
    • Как мастер-ключ, открывающий любую дверь в здании
Azure API Management

Аутентификация в API Management

  • APIM можно подключить к провайдеру аутентификации
  • Один из таких провайдеров — Entra ID
    • Ранее известный как Active Directory
  • Интеграция с OAuth надёжнее, чем использование ключей API
    • Однако значительно сложнее

Включение интеграции Entra ID в APIM

Azure API Management

Политики авторизации в API Management

 

Проверка JWT в APIM

Авторизация реализуется через политики в API Management

  • Политики определяют правила доступа

  • Ограничивают доступ к конечным точкам на основе ролей

  • Гарантируют, что API вызывают только авторизованные клиенты

Azure API Management

Давайте потренируемся!

Azure API Management

Preparing Video For Download...