Konfiguracja uwierzytelniania i dostępu do API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Znaczenie bezpieczeństwa API

Bezpieczeństwo HTTP

  • Endpointy API są często publiczne
  • Dane za API muszą być chronione
  • Szczególnie istotne w przypadku danych wrażliwych
Azure API Management

Omówienie uwierzytelniania

  • Uwierzytelnianie i autoryzacja to różne pojęcia
  • Uwierzytelnianie potwierdza tożsamość wywołującego
  • Logowanie za pomocą nazwy użytkownika i hasła to forma uwierzytelniania

Formularz logowania

Azure API Management

Omówienie autoryzacji

Żądania niezabezpieczone i zabezpieczone

  • Autoryzacja kontroluje uprawnienia
  • Uwierzytelniony użytkownik może nie być autoryzowany
  • Przykład: tylko administratorzy mają dostęp do panelu administratora
Azure API Management

Przykład aplikacji pogodowej

Autoryzacja aplikacji pogodowej

Azure API Management

Wprowadzenie do OAuth

  • OAuth służy do uwierzytelniania
  • Stosowany również do autoryzacji
  • Złożony protokół bezpieczeństwa
  • Bardzo wysoki poziom bezpieczeństwa

Wydawanie tokenu dostępu

Azure API Management

Przykład Google OAuth

Przykład Google OAuth

Azure API Management

Autoryzacja kluczem API w Azure Functions

  • Uwierzytelnianie nie zawsze jest wymagane do autoryzacji
  • Endpointy HTTP można zabezpieczyć kluczami API
  • Długi ciąg znaków
  • W Azure Functions domyślny klucz jest generowany automatycznie
  • Klucz musi być dołączony do żądania
  • Klient musi znać klucz
  • Klient nie musi potwierdzać swojej tożsamości

Konfiguracja klucza API w Azure

Azure API Management

Zakresy kluczy API

Zakresy kluczy API w Azure Function

  • Różne zakresy dla różnych typów kluczy
  • Klucz na poziomie funkcji — dostęp do konkretnej funkcji
    • Jak fizyczny klucz otwierający konkretne drzwi
  • Klucz na poziomie hosta
    • Dostęp do wszystkich funkcji w aplikacji
    • Jak klucz główny otwierający każde drzwi w budynku
Azure API Management

Uwierzytelnianie w API Management

  • APIM można połączyć z dostawcą uwierzytelniania
  • Jednym z nich jest Entra ID
    • Wcześniej znane jako Active Directory
  • Integracja z OAuth jest bezpieczniejsza niż klucze API
    • Znacznie bardziej złożona

Włączanie integracji Entra ID w APIM

Azure API Management

Zasady autoryzacji w API Management

 

Walidacja JWT w APIM

Autoryzacja jest realizowana przez zasady w API Management

  • Zasady definiują reguły dostępu

  • Ograniczanie endpointów na podstawie ról

  • Zapewnienie, że tylko autoryzowani klienci wywołują API

Azure API Management

Czas na ćwiczenia!

Azure API Management

Preparing Video For Download...