Konfigurace OpenID Connect v Azure API Management (APIM) zahrnuje několik osvědčených postupů k zajištění bezpečného a efektivního ověřování a oprávnění pro vaše API. Zde je několik klíčových úvah:
1. Vytvořte aplikaci Azure AD:
- Zaregistrujte aplikaci v Azure Active Directory (AAD) a reprezentujte vaše API. Tato aplikace bude použita k konfiguraci OpenID Connect v APIM [3].
- Ujistěte se, že aplikace je označena jako multi-nájemce, pokud ji plánujete použít s portálem vývojáře [3].
2. Nakonfigurujte autorizaci OpenID Connect:
- V portálu Azure přejděte do instance APIM a přidejte nový autorizační server OpenID Connect v části „OpenID Connect“ [1] [3].
-Poskytněte URL koncového bodu URL metadat OpenID Connect pro nájemce Azure Ad, obvykle ve formě `https://login.microsoftonline.com/;
- Zadejte ID klienta a klienta tajemství aplikace Azure AD, kterou jste vytvořili [1] [3].
3. nakonfigurujte přesměrování URI:
- V aplikaci Azure AD přidejte přesměrovací URIS pro autorizační kód i implicitní toky grantů. Tyto URI jsou obvykle poskytovány APIM během nastavení OpenID Connect [1] [3].
4. Povolte OpenID Connect pro vaše API:
- V APIM vyberte API, které chcete chránit, a přejít na jeho nastavení. V rámci zabezpečení vyberte OAuth 2.0 a vyberte autorizační server OpenID Connect, který jste nakonfigurovali [1].
5. Ověřte tokeny JWT:
- Pomocí zásady „Validate-JWT“ v APIM ověřte tokeny JWT zaslané v záhlaví autorizace. Tato politika kontroluje tvrzení publika tokenu, aby zajistilo, že odpovídá ID klientské aplikace vaší backend [5] [8].
- Zvažte použití pojmenovaných hodnot nebo klíčového trezoru Azure k bezpečně ukládání citlivých informací, jako je URL OpenID Connect URL, publikum a emitenta [6].
6. Testování a monitorování:
- Vyzkoušejte své API pomocí Portálu APIM Developer Portal, abyste zajistili, že ověřování OpenID Connect funguje správně [3].
- Sledujte toky provozu a autentizace API a identifikujte jakékoli problémy nebo zranitelnosti zabezpečení [7].
Dodržováním těchto osvědčených postupů můžete své API zabezpečit pomocí OpenID Connect v Azure APIM.
Citace:
[1] https://www.cloudfronts.com/uncategorized/securing-an-api-using-open-id-connect-from-aapim-part-2-configure-setup-and-anable-open-id-conect-in-the-developer-console/
[2] https://stackoverflow.com/questions/77698997/configure-azure-apim-application-with-oauth-2-0-will-secure-api-with-jwt-t
[3] https://winterdom.com/2017/11/11/openid-connect-api-management
[4] https://www.liatrio.com/resources/blog/azure-api-management-okta-integration
[5] https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad
[6] https://stackoverflow.com/questions/72716297/can-the-openid-config-url-audience-sissuer-value-in-the-azure-apim-policies-be/72716409
[7] https://techcommunity.microsoft.com/discussions/azure/api-management-service-secure-configuration-for-standard-v2-sku/4336449
[8] https://learn.microsoft.com/en-us/azure/api-management/authentication-authorization-overview