Konfigurace autentizace a přístupu k API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Důležitost zabezpečení API

Zabezpečení HTTP

  • Endpointy API jsou často veřejné
  • Data za API je třeba chránit
  • Zejména platí pro citlivá data
Azure API Management

Přehled autentizace

  • Autentizace a autorizace nejsou totéž
  • Autentizace prokazuje identitu volajícího
  • Přihlášení pomocí uživatelského jména a hesla je typ autentizace

Přihlašovací formulář

Azure API Management

Přehled autorizace

Nezabezpečené vs. zabezpečené požadavky

  • Autorizace řídí oprávnění
  • Ověřený uživatel může být stále neoprávněný
  • Příklad: do oblasti pro adminy mají přístup pouze admini
Azure API Management

Příklad aplikace pro počasí

Autorizace aplikace pro počasí

Azure API Management

Úvod do OAuth

  • OAuth se používá pro autentizaci
  • Také se používá pro autorizaci
  • Složitý bezpečnostní protokol
  • Velmi vysoké hodnocení zabezpečení

Vydání přístupového tokenu

Azure API Management

Příklad Google OAuth

Příklad Google OAuth

Azure API Management

Autorizace pomocí klíče API v Azure Functions

  • Autentizace není pro autorizaci vždy nutná
  • HTTP endpointy lze zabezpečit klíči API
  • Dlouhý řetězec znaků
  • V Azure Functions se výchozí klíč generuje automaticky
  • Klíč musí být součástí požadavku
  • Klient musí klíč znát
  • Klient nemusí prokazovat svou identitu

Nastavení klíče API v Azure

Azure API Management

Různé rozsahy klíčů API

Rozsahy klíčů API v Azure Function

  • Různé rozsahy pro různé typy klíčů
  • Klíč na úrovni funkce uděluje přístup ke konkrétní funkci
    • Jako fyzický klíč otvírající konkrétní dveře
  • Klíč na úrovni hostitele
    • Uděluje přístup ke všem funkcím v aplikaci
    • jako hlavní klíč otvírající jakékoli dveře v budově
Azure API Management

Autentizace v API Management

  • APIM lze propojit s poskytovatelem autentizace
  • Jedním z nich je Entra ID
    • Dříve známé jako Active Directory
  • Integrace s OAuth je bezpečnější než klíče API
    • Výrazně složitější

Povolení integrace Entra ID v APIM

Azure API Management

Zásady autorizace v API Management

 

Ověření JWT v APIM

Autorizace je v API Management implementována prostřednictvím zásad

  • Zásady definují pravidla přístupu

  • Omezení endpointů na základě rolí

  • Zajišťují, že API volají pouze oprávnění klienti

Azure API Management

Pojďme procvičovat!

Azure API Management

Preparing Video For Download...