Автентифікація та авторизація за допомогою Entra ID

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Базові поняття OAuth

Інтеграція Entra ID з APIM

Azure API Management

Навіщо потрібен провайдер ідентичності

Аналогія з парковщиком

  • Уявіть IdP як парковщика
  • У вашому авто є цінні речі в бардачку (захищені дані)
  • Ви даєте парковщику спеціальний valet key
    • він дозволяє лише паркувати, без доступу до цінних речей
  • Так само IdP керує безпекою застосунку, але не має доступу до захищених даних усередині нього
  • Приклад: Entra ID як IdP, а API Manager як клієнт
Azure API Management

Реєстрація застосунку Entra ID

  • Entra ID доступний у Azure Portal
  • Для керування потрібні розширені права Contributor
  • Щоб застосувати OAuth, додайте нову сутність у App Registration
  • Для кожної реєстрації потрібні власна назва і чинний URL переспрямування
  • Для APIM URL переспрямування — це адреса екземпляра APIM
  • Це гарантує, що після входу Entra ID повертає запити до APIM

Реєстрація застосунку в Entra ID

Azure API Management

Фіксуємо відомості клієнта

Відомості клієнта Entra ID

  • Client ID і Tenant ID

    • Формують публічну адресу застосунку
    • Код використовує їх, щоб сказати Entra ID, хто це за застосунок
  • Client Secret

    • Виконує роль пароля застосунку
    • Код подає його, щоб підтвердити особу
    • Завжди зберігайте його захищено та ніколи не розкривайте в клієнтському коді
Azure API Management

Отримання URL кінцевих точок

  • Отримайте URL-адреси кінцевих точок IdP перед підключенням клієнта до IdP

    • В Entra ID натисніть Endpoints на сторінці Overview реєстрації застосунку
    • Занотуйте кінцеві точки OAuth 2.0 authorization і token
  • Authorization Endpoint

    • Сюди код переспрямовує користувачів для входу
  • Token Endpoint

    • Бекенд обмінює код авторизації на маркер доступу

Потік автентифікації Entra ID

Azure API Management

Підключення APIM до Entra ID

Підключення OAuth і OIDC в APIM

  • В APIM відкрийте OAuth 2.0 + OpenID Connect у розділі APIs

    • Створіть новий сервер авторизації
  • Налаштуйте сервер:

    • Кінцеві точки authorization і token
    • Client ID і Client Secret
    • Області доступу (scopes), які відкриває ваш API
Azure API Management

Давайте потренуємось!

Azure API Management

Preparing Video For Download...