Säker åtkomst till API Management utvecklarportal
GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium | Premium v2
API Management har en helt anpassningsbar, fristående, hanterad utvecklarportal som kan användas externt (eller internt) så att utvecklaranvändare kan identifiera och interagera med API:er som publicerats via API Management. Utvecklarportalen har flera alternativ för att underlätta säker registrering och inloggning för användare.
Kommentar
Som standard möjliggör utvecklarportalen anonym åtkomst. Det innebär att vem som helst kan visa portalen och innehållet, till exempel API:er utan att logga in, även om funktioner som att använda testkonsolen är begränsade. Du kan aktivera en inställning som kräver att användare loggar in för att visa utvecklarportalen. I Azure Portal går du till den vänstra menyn i DIN API Management-instans och går till Utvecklarportalen och väljer Identitetsinställningar>. Under Anonyma användare väljer du (aktivera) Omdirigera anonyma användare till inloggningssidan.
Autentiseringsalternativ
Externa användare – Det bästa alternativet när utvecklarportalen används externt är att aktivera åtkomstkontroll från företag till konsument via Azure Active Directory B2C (Azure AD B2C).
- Azure AD B2C ger möjlighet att använda inbyggda Azure AD B2C-konton: användare registrerar sig för Azure AD B2C och använder den identiteten för att få åtkomst till utvecklarportalen.
- Azure AD B2C är också användbart om du vill att användarna ska få åtkomst till utvecklarportalen med befintliga sociala medier eller federerade organisationskonton.
- Azure AD B2C innehåller många funktioner för att förbättra slutanvändarens registrerings- och inloggningsupplevelse, inklusive villkorlig åtkomst och MFA.
Anvisningar för att aktivera Azure AD B2C-autentisering i utvecklarportalen finns i Auktorisera utvecklarkonton med hjälp av Azure Active Directory B2C i Azure API Management.
Interna användare – Det bästa alternativet när utvecklarportalen används internt är att utnyttja företagets Microsoft Entra-ID. Microsoft Entra ID ger en smidig enkel inloggning (SSO) för företagsanvändare som behöver komma åt och identifiera API:er via utvecklarportalen.
Anvisningar för att aktivera Microsoft Entra-autentisering i utvecklarportalen finns i Auktorisera utvecklarkonton med hjälp av Microsoft Entra-ID i Azure API Management.
Grundläggande autentisering – Ett standardalternativ är att använda det inbyggda användarnamnet och lösenordsprovidern för utvecklarportalen, vilket gör att utvecklare kan registrera sig direkt i API Management och logga in med hjälp av API Management-användarkonton. Användarregistrering via det här alternativet skyddas av en CAPTCHA-tjänst.
Testkonsol för utvecklarportalen
Förutom att tillhandahålla konfiguration för utvecklaranvändare att registrera sig för åtkomst och inloggning, innehåller utvecklarportalen en testkonsol där utvecklarna kan skicka testbegäranden via API Management till serverdels-API:erna. Den här testanläggningen finns också för bidragande användare av API Management som hanterar tjänsten med hjälp av Azure Portal.
Om API:et som exponeras via Azure API Management skyddas med OAuth 2.0 , dvs. ett anropande program (innehavare) måste hämta och skicka en giltig åtkomsttoken, kan du konfigurera API Management för att generera en giltig token för en Azure Portal- eller utvecklarportalens testkonsolanvändare. Mer information finns i Auktorisera testkonsolen för utvecklarportalen genom att konfigurera användarauktorisering för OAuth 2.0.
Så här aktiverar du testkonsolen för att hämta en giltig OAuth 2.0-token för API-testning:
Lägg till en OAuth 2.0-användarauktoriseringsserver i din instans. Du kan använda valfri OAuth 2.0-provider, inklusive Microsoft Entra-ID, Azure AD B2C eller en identitetsprovider från tredje part.
Konfigurera sedan API:et med inställningar för den auktoriseringsservern. I portalen konfigurerar du OAuth 2.0-auktorisering på API:ets inställningssida >Säkerhetsanvändarauktorisering.>
Den här OAuth 2.0-konfigurationen för API-testning är oberoende av den konfiguration som krävs för användaråtkomst till utvecklarportalen. Identitetsprovidern och användaren kan dock vara desamma. Ett intranätprogram kan till exempel kräva användaråtkomst till utvecklarportalen med hjälp av enkel inloggning med företagets identitet. Samma företagsidentitet kan hämta en token via testkonsolen för den serverdelstjänst som anropas med samma användarkontext.
Scenarier
Olika autentiserings- och auktoriseringsalternativ gäller för olika scenarier. I följande avsnitt beskrivs konfigurationer på hög nivå för tre exempelscenarier. Fler steg krävs för att skydda och konfigurera API:er som exponeras via API Management. Scenarierna fokuserar dock avsiktligt på de minsta konfigurationer som rekommenderas i varje fall för att tillhandahålla nödvändig autentisering och auktorisering.
Scenario 1 – API och program för intranät
- En API Management-deltagare och serverdels-API-utvecklare vill publicera ett API som skyddas av OAuth 2.0.
- API:et används av skrivbordsprogram vars användare loggar in med enkel inloggning via Microsoft Entra-ID.
- Utvecklare av skrivbordsprogram måste också identifiera och testa API:erna via API Management-utvecklarportalen.
Nyckelkonfigurationer:
Konfiguration | Referens |
---|---|
Auktorisera utvecklaranvändare av API Management-utvecklarportalen med hjälp av deras företagsidentiteter och Microsoft Entra-ID. | Auktorisera utvecklarkonton med hjälp av Microsoft Entra ID i Azure API Management |
Konfigurera testkonsolen i utvecklarportalen för att hämta en giltig OAuth 2.0-token för skrivbordsapputvecklare för att använda serverdels-API:et. Samma konfiguration kan användas för testkonsolen i Azure Portal, som är tillgänglig för API Management-deltagare och serverdelsutvecklare. Token kan användas i kombination med en API Management-prenumerationsnyckel. |
Auktorisera testkonsolen för utvecklarportalen genom att konfigurera OAuth 2.0-användarauktorisering Prenumerationer i Azure API Management |
Verifiera OAuth 2.0-token och anspråk när ett API anropas via API Management med en åtkomsttoken. | Verifiera JWT-principen |
Gå ett steg längre med det här scenariot genom att flytta API Management till nätverksperimetern och kontrollera ingress via en omvänd proxy. En referensarkitektur finns i Skydda API:er med Application Gateway och API Management.
Scenario 2 – Externt API, partnerprogram
- En API Management-deltagare och serverdels-API-utvecklare vill genomföra ett snabbt koncepttest för att exponera ett äldre API via Azure API Management. API:et via API Management kommer att vara externt (Internet) mot.
- API:et använder klientcertifikatautentisering och kommer att användas av en ny offentlig app (SPA) som utvecklas offshore av en partner.
- SPA använder OAuth 2.0 med OpenID Connect (OIDC).
- Programutvecklare får åtkomst till API:et i en testmiljö via utvecklarportalen med hjälp av en slutpunkt för testserverdelen för att påskynda utvecklingen av klientdelen.
Nyckelkonfigurationer:
Konfiguration | Referens |
---|---|
Konfigurera klientdelsutvecklarens åtkomst till utvecklarportalen med standardautentiseringen för användarnamn och lösenord. Utvecklare kan också bjudas in till utvecklarportalen. |
Konfigurera användare av utvecklarportalen att autentisera med användarnamn och lösenord Hantera användarkonton i Azure API Management |
Verifiera OAuth 2.0-token och anspråk när SPA anropar API Management med en åtkomsttoken. I det här fallet är målgruppen API Management. | Verifiera JWT-principen |
Konfigurera API Management för att använda klientcertifikatautentisering till serverdelen. | Skydda serverdelstjänster med klientcertifikatautentisering i Azure API Management |
Gå ett steg längre med det här scenariot genom att använda utvecklarportalen med Microsoft Entra-auktorisering och Microsoft Entra B2B-samarbete så att leveranspartnerna kan samarbeta närmare. Överväg att delegera åtkomst till API Management via RBAC i en utvecklings- eller testmiljö och aktivera enkel inloggning i utvecklarportalen med sina egna företagsautentiseringsuppgifter.
Scenario 3 – Externt API, SaaS, öppet för allmänheten
En API Management-deltagare och serverdels-API-utvecklare skriver flera nya API:er som kommer att vara tillgängliga för communityutvecklare.
API:erna kommer att vara offentligt tillgängliga, med fullständig funktionalitet som skyddas bakom en betalvägg och skyddas med OAuth 2.0. När du har köpt en licens får utvecklaren sina egna klientautentiseringsuppgifter och en prenumerationsnyckel som är giltig för produktionsanvändning.
Externa communityutvecklare identifierar API:erna med hjälp av utvecklarportalen. Utvecklare registrerar sig och loggar in på utvecklarportalen med sina konton på sociala medier.
Intresserade användare av utvecklarportalen med en testprenumerationsnyckel kan utforska API-funktionerna i en testkontext utan att behöva köpa en licens. Testkonsolen för utvecklarportalen representerar det anropande programmet och genererar en standardåtkomsttoken till serverdels-API:et.
Varning
Extra försiktighet krävs när du använder ett flöde för klientautentiseringsuppgifter med testkonsolen för utvecklarportalen. Se säkerhetsöverväganden.
Nyckelkonfigurationer:
Konfiguration | Referens |
---|---|
Konfigurera produkter i Azure API Management för att representera kombinationerna av API:er som exponeras för communityutvecklare. Konfigurera prenumerationer så att utvecklare kan använda API:erna. |
Självstudier: Skapa och publicera en produkt Prenumerationer i Azure API Management |
Konfigurera åtkomst för communityutvecklare till utvecklarportalen med Hjälp av Azure AD B2C. Azure AD B2C kan sedan konfigureras för att fungera med en eller flera underordnade identitetsprovidrar för sociala medier. | Så här auktoriserar du utvecklarkonton med Azure Active Directory B2C i Azure API Management |
Konfigurera testkonsolen i utvecklarportalen för att hämta en giltig OAuth 2.0-token till serverdels-API:et med hjälp av autentiseringsuppgifterna för klienten. | Auktorisera testkonsolen för utvecklarportalen genom att konfigurera OAuth 2.0-användarauktorisering Justera konfigurationsstegen som visas i den här artikeln för att använda flödet för beviljande av klientautentiseringsuppgifter i stället för auktoriseringskodens beviljandeflöde. |
Gå ett steg längre genom att delegera användarregistrering eller produktprenumeration och utöka processen med din egen logik.
Nästa steg
- Läs mer om autentisering och auktorisering i Microsofts identitetsplattform.
- Lär dig hur du minimerar OWASP API-säkerhetshot med hjälp av API Management.