Delen via


mTLS gebruiken in Azure Container Apps

Mutual Transport Layer Security (mTLS) is een uitbreiding van het standaard TLS-protocol dat wederzijdse verificatie tussen client en server biedt. Azure Container Apps biedt ondersteuning voor het uitvoeren van mTLS-toepassingen voor een betere beveiliging in uw toepassingen.

In Azure Container Apps worden alle binnenkomende aanvragen via Envoy doorgegeven voordat ze worden doorgestuurd naar de doelcontainer-app. Wanneer u mTLS gebruikt, wisselt de client certificaten uit met Envoy. Elk van deze certificaten wordt in de header X-Forwarded-Client-Cert geplaatst, die vervolgens naar de toepassing wordt verzonden.

Als u een mTLS-toepassing wilt bouwen in Azure Container Apps, moet u het volgende doen:

  1. Configureer Azure Container Apps om clientcertificaten van peers te vereisen.
  2. Certificaten extraheren X.509 uit aanvragen.

In dit artikel wordt beschreven hoe u peer mTLS-handshakecertificaten kunt verwerken door het X.509 certificaat van de client te extraheren.

Clientcertificaten vereisen

Gebruik de volgende stappen om uw container-app te configureren om clientcertificaten te vereisen:

  1. Open uw container-app in Azure Portal.
  2. Selecteer Inkomend verkeer onder Instellingen.
  3. Selecteer de ingeschakeld optie.
  4. Selecteer HTTP voor inkomend type.
  5. Selecteer Vereisen in de modus Clientcertificaat.
  6. Selecteer Opslaan om de wijzigingen toe te passen.

Zie Clientcertificaatverificatie configureren in Azure Container Apps voor meer informatie over het configureren van clientcertificaatverificatie in Azure Container Apps.

X.509-certificaten extraheren

Als u certificaten uit de X-Forwarded-Client-Cert header wilt extraheren, parseert X.509 u de headerwaarde in uw toepassingscode. Deze header bevat de clientcertificaatgegevens wanneer mTLS is ingeschakeld. De certificaten worden geleverd in een door puntkomma's gescheiden lijstindeling, waaronder de hash, het certificaat en de keten.

Dit is de procedure die u wilt volgen om het certificaat in uw toepassing te extraheren en te parseren:

  1. Haal de X-Forwarded-Client-Cert header op uit de binnenkomende aanvraag.
  2. Parseert de headerwaarde om de certificaatdetails te extraheren.
  3. Plaats de geparseerde certificaten op het standaardcertificaatkenmerk voor verdere validatie of gebruik.

Zodra deze zijn geparseerd, kunt u certificaten valideren en gebruiken op basis van de behoeften van uw toepassing.

Opmerking

In Java-toepassingen kunt u het reactieve X.509-verificatiefilter gebruiken om de gebruikersgegevens van certificaten toe te wijzen aan de beveiligingscontext. Zie de mTLS-servertoepassing in Azure Container Apps voor een volledig voorbeeld van een Java-toepassing met mTLS in Azure Container Apps.