Korzystanie z mTLS w usłudze Azure Container Apps

Mutual Transport Layer Security (mTLS) to rozszerzenie standardowego protokołu TLS, który zapewnia wzajemne uwierzytelnianie między klientem a serwerem. Usługa Azure Container Apps obsługuje uruchamianie aplikacji z obsługą biblioteki mTLS w celu zapewnienia zwiększonych zabezpieczeń w aplikacjach.

W usłudze Azure Container Apps wszystkie przychodzące żądania przechodzą przez aplikację Envoy przed skierowaniem do docelowej aplikacji kontenera. Gdy używasz mTLS, klient wymienia certyfikaty z Envoy. Każdy z tych certyfikatów jest umieszczany w nagłówku X-Forwarded-Client-Cert , który następnie jest wysyłany do aplikacji.

Aby utworzyć aplikację mTLS w usłudze Azure Container Apps, musisz:

  • Skonfiguruj usługę Azure Container Apps tak, aby wymagała certyfikatów klienta od elementów równorzędnych.
  • Wyodrębnij X.509 certyfikaty z żądań.

W tym artykule opisano sposób obsługi certyfikatów uzgadniania komunikacji równorzędnej mTLS przez wyodrębnienie X.509 certyfikatu z klienta.

Wymaganie certyfikatów klienta

Wykonaj następujące kroki, aby skonfigurować aplikację kontenera w celu wymagania certyfikatów klienta:

  1. W portalu Azure otwórz aplikację kontenera.
  2. W menu po lewej stronie wybierz pozycję Sieci>Ruch przychodzący.
  3. W obszarze Włącz ruch przychodzący dla aplikacji, które wymagają punktu końcowego HTTP lub TCP, włącz ruch przychodzący.
  4. W polu Typ ruchu przychodzącego wybierz pozycję HTTP.
  5. W obszarze Tryb certyfikatu klienta wybierz pozycję Wymagaj.
  6. Wybierz Zapisz, aby zastosować zmiany.

Aby uzyskać więcej informacji na temat konfigurowania uwierzytelniania certyfikatu klienta w usłudze Azure Container Apps, zobacz Konfigurowanie uwierzytelniania certyfikatu klienta w usłudze Azure Container Apps.

Wyodrębnić certyfikaty X.509

Aby wyodrębnić certyfikaty X.509 z nagłówka X-Forwarded-Client-Cert, przeparsuj wartość nagłówka w kodzie aplikacji. Ten nagłówek zawiera informacje o certyfikacie klienta, gdy mTLS jest włączone. Certyfikaty są udostępniane w formacie listy rozdzielanej średnikami, który zawiera skrót, certyfikat i łańcuch.

Poniżej przedstawiono procedurę, którą chcesz wykonać, aby wyodrębnić i przeanalizować certyfikat w aplikacji:

  1. Pobierz nagłówek X-Forwarded-Client-Cert z żądania przychodzącego.
  2. Przeanalizuj wartość nagłówka, aby wyodrębnić szczegóły certyfikatu.
  3. Umieść przeanalizowane certyfikaty do standardowego atrybutu certyfikatu w celu dalszej weryfikacji lub użycia.

Po przeanalizowaniu można zweryfikować certyfikaty i używać ich zgodnie z potrzebami aplikacji.

Przykład

W aplikacjach Java można użyć filtru reaktywnego uwierzytelniania X.509, aby odwzorować dane użytkownika z certyfikatów do kontekstu zabezpieczeń. Pełny przykład aplikacji Java z biblioteką mTLS w usłudze Azure Container Apps można znaleźć w temacie mTLS Server Application on Azure Container Apps (Aplikacja serwera mTLS w usłudze Azure Container Apps).