Verificatie en autorisatie implementeren in Azure Container Apps
Azure Container Apps biedt ingebouwde verificatie- en autorisatiefuncties om uw externe container-app met inkomend verkeer te beveiligen met minimale of geen code. Met de ingebouwde verificatiefunctie voor Container Apps kunt u tijd en moeite besparen door kant-en-klare verificatie met federatieve id-providers te bieden, zodat u zich kunt richten op de rest van uw toepassing.
- Azure Container Apps biedt toegang tot verschillende ingebouwde verificatieproviders.
- De ingebouwde verificatiefuncties vereisen geen specifieke taal, SDK, beveiligingsexpertise of zelfs code die u moet schrijven.
Deze functie mag alleen worden gebruikt met HTTPS. Zorg ervoor dat allowInsecure
de toegangsbeheerobjectconfiguratie van uw container-app is uitgeschakeld. U kunt uw container-app configureren voor verificatie met of zonder de toegang tot uw site-inhoud en API's te beperken.
- Als u app-toegang alleen wilt beperken tot geverifieerde gebruikers, stelt u de instelling Toegang beperken in op Verificatie vereisen.
- Als u de toegang wilt verifiëren maar niet wilt beperken, stelt u de instelling Toegang beperken in op Niet-geverifieerde toegang toestaan.
Id-providers
Container Apps maakt gebruik van federatieve identiteit, waarbij een externe id-provider de gebruikersidentiteiten en verificatiestroom voor u beheert. De volgende id-providers zijn standaard beschikbaar:
Provider | Aanmeldingseindpunt | Instructies |
---|---|---|
Microsoft Identity-platform | /.auth/login/aad |
Microsoft Identity-platform |
/.auth/login/facebook |
||
GitHub | /.auth/login/github |
GitHub |
/.auth/login/google |
||
X | /.auth/login/twitter |
X |
Elke OpenID Connect-provider | /.auth/login/<providerName> |
OpenID Connect |
Wanneer u een van deze providers gebruikt, is het aanmeldingseindpunt beschikbaar voor gebruikersverificatie en verificatietokenvalidatie van de provider. U kunt uw gebruikers een willekeurig aantal van deze provideropties bieden.
Functiearchitectuur
Het middlewareonderdeel verificatie en autorisatie is een functie van het platform dat wordt uitgevoerd als sidecarcontainer op elke replica in uw toepassing. Wanneer deze functie is ingeschakeld, wordt elke binnenkomende HTTP-aanvraag door de beveiligingslaag doorgegeven voordat deze wordt verwerkt door uw toepassing.
De platform-middleware verwerkt verschillende dingen voor uw app:
- Verifieert gebruikers en clients met de opgegeven id-providers
- Beheert de geverifieerde sessie
- Injecteert identiteitsgegevens in HTTP-aanvraagheaders
De verificatie- en autorisatiemodule wordt uitgevoerd in een afzonderlijke container, geïsoleerd van uw toepassingscode. Omdat de beveiligingscontainer niet in het proces wordt uitgevoerd, is er geen directe integratie met specifieke taalframeworks mogelijk. Relevante informatie die uw app nodig heeft, wordt echter verstrekt in aanvraagheaders.
Verificatiestroom
De verificatiestroom is voor alle providers hetzelfde, maar is afhankelijk van of u zich wilt aanmelden met de SDK van de provider:
Zonder provider-SDK (servergestuurde stroom of serverstroom): de toepassing delegeert federatieve aanmelding bij Container Apps. Delegering is meestal het geval bij browser-apps, die de aanmeldingspagina van de provider aan de gebruiker presenteert.
Met provider-SDK (clientgestuurde stroom of clientstroom): de toepassing meldt gebruikers handmatig aan bij de provider en verzendt vervolgens het verificatietoken naar Container Apps voor validatie. Deze benadering is gebruikelijk voor browserloze apps die de aanmeldingspagina van de provider niet aan de gebruiker presenteren. Een voorbeeld hiervan is een systeemeigen mobiele app waarmee gebruikers zich aanmelden met behulp van de SDK van de provider.