Sdílet prostřednictvím


Použití mTLS v Azure Container Apps

Mutual Transport Layer Security (mTLS) je rozšíření standardního protokolu TLS, který poskytuje vzájemné ověřování mezi klientem a serverem. Azure Container Apps podporuje spouštění aplikací s podporou mTLS, které zajišťují vyšší zabezpečení vašich aplikací.

V Azure Container Apps se všechny příchozí požadavky před směrováním do cílové aplikace kontejneru předvedou přes envo. Když používáte mTLS, klient vyměňuje certifikáty se službou Envoy. Každý z těchto certifikátů se umístí do hlavičky X-Forwarded-Client-Cert , která se pak odešle do aplikace.

Pokud chcete vytvořit aplikaci mTLS v Azure Container Apps, musíte:

  1. Nakonfigurujte Azure Container Apps tak, aby vyžadovaly klientské certifikáty od partnerských vztahů.
  2. Extrahujte X.509 certifikáty z požadavků.

Tento článek popisuje, jak zpracovávat certifikáty handshake peer mTLS extrahováním X.509 certifikátu z klienta.

Vyžadování klientských certifikátů

Pomocí následujících kroků nakonfigurujte aplikaci kontejneru tak, aby vyžadovala klientské certifikáty:

  1. Otevřete aplikaci kontejneru na webu Azure Portal.
  2. V části Nastavení vyberte Příchozí přenos dat.
  3. Vyberte možnost Povoleno.
  4. Jako typ příchozího přenosu dat vyberte HTTP.
  5. V části Režim klientského certifikátu vyberte Vyžadovat.
  6. Výběrem možnosti Uložit se změny uplatní.

Další informace o konfiguraci ověřování klientských certifikátů v Azure Container Apps najdete v tématu Konfigurace ověřování klientských certifikátů v Azure Container Apps.

Extrahování certifikátů X.509

Pokud chcete extrahovat X.509 certifikáty z X-Forwarded-Client-Cert hlavičky, parsujte hodnotu hlavičky v kódu aplikace. Tato hlavička obsahuje informace o klientském certifikátu, pokud je povolená služba mTLS. Certifikáty jsou poskytovány ve formátu seznamu odděleného středníkem, který zahrnuje hodnotu hash, certifikát a řetěz.

Tady je postup, podle kterého chcete extrahovat a parsovat certifikát v aplikaci:

  1. Načtěte hlavičku X-Forwarded-Client-Cert z příchozího požadavku.
  2. Parsujte hodnotu hlavičky a extrahujte podrobnosti o certifikátu.
  3. Za účelem dalšího ověření nebo použití vložte analyzované certifikáty do standardního atributu certifikátu.

Po parsování můžete ověřit certifikáty a používat je podle potřeb vaší aplikace.

Příklad

V aplikacích v Javě můžete pomocí filtru ověřování Reactive X.509 namapovat informace o uživateli z certifikátů na kontext zabezpečení. Úplný příklad aplikace v Javě s mTLS v Azure Container Apps najdete v tématu Aplikace serveru mTLS v Azure Container Apps.