Zabezpečení rozhraní API pomocí předplatných

Dokončeno

Když publikujete rozhraní API prostřednictvím služby API Management, je snadné a běžné zabezpečit přístup k těmto rozhraním API pomocí klíčů předplatného. Vývojáři, kteří potřebují využívat publikovaná rozhraní API, musí při volání těchto rozhraní API zahrnout platný klíč předplatného v požadavcích HTTP. Brána SLUŽBY API Management odmítne volání bez klíče předplatného a volání se nepřesměrují do back-endových služeb.

K získání klíče předplatného pro přístup k rozhraním API se vyžaduje předplatné. Předplatné je v podstatě pojmenovaný kontejner pro dvojici klíčů předplatného. Vývojáři, kteří potřebují využívat publikovaná rozhraní API, můžou získat předplatná. A nepotřebují schválení od vydavatelů rozhraní API. Vydavatelé rozhraní API můžou také vytvářet předplatná přímo pro uživatele rozhraní API.

Poznámka:

API Management také podporuje další mechanismy zabezpečení přístupu k rozhraním API, včetně OAuth2.0, klientských certifikátů a výpisu povolených IP adres.

Předplatná a klíče

Klíč předplatného je jedinečný automaticky vygenerovaný klíč, který lze předat prostřednictvím hlaviček požadavku klienta nebo jako parametr řetězce dotazu. Klíč přímo souvisí s předplatným, které se dá vymezit na různé oblasti. Předplatná poskytují podrobnou kontrolu nad oprávněními a zásadami.

Tři hlavní obory předplatného jsou:

Obor Detaily
Všechna rozhraní API Platí pro každé rozhraní API přístupné z brány
Jedno rozhraní API Tento obor platí pro jedno importované rozhraní API a všechny jeho koncové body
Produkt Produkt je kolekce jednoho nebo více rozhraní API, kterou konfigurujete ve službě API Management. Rozhraní API můžete přiřadit více produktům. Produkty můžou mít různá pravidla přístupu, kvóty využití a podmínky použití.

Aplikace, které volají chráněné rozhraní API, musí v každém požadavku obsahovat klíč.

Tyto klíče předplatného můžete kdykoli znovu vygenerovat, například když máte podezření, že byl klíč sdílen s neoprávněnými uživateli.

Obrázek znázorňující obrazovku Předplatná

Každé předplatné má dva klíče, primární a sekundární. Když máte dva klíče, můžete klíč snadněji vygenerovat znovu. Pokud například chcete změnit primární klíč a vyhnout se tak výpadku, použijte ve svých aplikacích sekundární klíč.

Při volání rozhraní API v produktech s povolenými předplatnými musí klienti zadat klíč. Vývojáři můžou klíč získat odesláním žádosti o předplatné. Pokud žádost schválíte, musíte jim klíč předplatného odeslat bezpečným způsobem, třeba v zašifrované zprávě. Tento krok je základní součástí pracovního postupu služby API Management.

Volání rozhraní API s klíčem předplatného

Aplikace musí zahrnovat platný klíč ve všech požadavcích HTTP při volání do koncových bodů rozhraní API, které jsou chráněny předplatným. Klíče lze předávat v hlavičce žádosti nebo jako řetězec dotazu v adrese URL.

Výchozí název hlavičky je Ocp-Apim-Subscription-Key a výchozí řetězec dotazu je subscription-key.

K otestování volání rozhraní API můžete použít vývojářský portál nebo nástroje příkazového řádku, jako například curl. Tady je příklad požadavku GET s použitím vývojářského portálu zobrazující hlavičku klíče předplatného:

Volání rozhraní API z vývojářského portálu

Tady je postup, jak můžete předat klíč v hlavičce žádosti pomocí nástroje curl:

curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path

Tady je příklad příkazu curl, který předá klíč v adrese URL jako řetězec dotazu:

curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>

Pokud klíč není předán v hlavičce nebo jako řetězec dotazu v adrese URL, získáte odpověď 401 Přístup odepřen z brány rozhraní API.