Autentizace a autorizace pomocí Entra ID

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Základní koncepty OAuth

Integrace Entra ID a APIM

Azure API Management

Proč používat poskytovatele identity

Analogie s parkovacím valetou

  • IdP si lze představit jako parkovacího valeta
  • Vaše auto má cennosti v přihrádce (zabezpečená data)
  • Valetovi předáte speciální valetový klíč
    • umožňuje pouze parkování, ne přístup k cennostem
  • Podobně IdP spravuje zabezpečení aplikace, ale nemá přístup k datům uvnitř
  • Příklad: Entra ID funguje jako IdP, API Manager jako klient
Azure API Management

Registrace aplikace Entra ID

  • Entra ID naleznete na Azure Portal
  • Ke správě je vyžadován přístup s vysokými oprávněními přispěvatele
  • Pro aplikaci OAuth přidejte novou entitu v App Registration
  • Každá registrace vyžaduje vlastní název a platnou přesměrovací URL
  • Pro APIM je přesměrovací URL adresa instance APIM
  • Entra ID tak po přihlášení přesměruje požadavky zpět do APIM

Registrace aplikace Entra ID

Azure API Management

Získání informací o klientovi

Informace o klientovi Entra ID

  • ID klienta a ID tenanta

    • Tvoří veřejnou adresu aplikace
    • Kód je používá k identifikaci aplikace vůči Entra ID
  • Tajný klíč klienta

    • Slouží jako heslo aplikace
    • Kód jej předkládá k ověření identity
    • Musí být vždy bezpečně uložen a nesmí být vystaven v kódu na straně klienta
Azure API Management

Získání URL adres endpointů

  • Před připojením klienta k IdP získejte URL adres endpoints

    • V Entra ID klikněte na Endpoints na stránce Overview registrace aplikace
    • Zkopírujte autorizační a tokenové endpointy OAuth 2.0
  • Autorizační endpoint

    • Přesměrovává uživatele k přihlášení
  • Tokenový endpoint

    • Backend vymění autorizační kód za přístupový token

Tok autentizace Entra ID

Azure API Management

Připojení APIM k Entra ID

Připojení OAuth a OIDC v APIM

  • V APIM otevřete OAuth 2.0 + OpenID Connect v části APIs

    • Definujte nový autorizační server
  • Nakonfigurujte server pomocí:

    • Autorizačního a tokenového endpointu
    • ID klienta a tajného klíče klienta
    • Oborů vystavených vaším rozhraním API
Azure API Management

Pojďme procvičovat!

Azure API Management

Preparing Video For Download...