Налаштування автентифікації та доступу до API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Важливість безпеки API

Безпека HTTP

  • Кінцеві точки API часто публічні
  • Дані за API потрібно захищати
  • Особливо це стосується чутливих даних
Azure API Management

Огляд автентифікації

  • Автентифікація та авторизація — не одне й те саме
  • Автентифікація підтверджує особу того, хто викликає
  • Вхід за логіном і паролем — це тип автентифікації

Форма входу

Azure API Management

Огляд авторизації

Незахищені vs захищені запити

  • Авторизація керує правами доступу
  • Автентифікований користувач може бути неавторизованим
  • Приклад: лише адміністратори мають доступ до адмін-зони
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...