Sdílet prostřednictvím


Konfigurace ověřování klientských certifikátů v Azure Container Apps

Azure Container Apps podporuje ověřování klientských certifikátů (označované také jako vzájemné tls nebo mTLS), které umožňuje přístup k vaší aplikaci kontejneru prostřednictvím obousměrného ověřování. V tomto článku se dozvíte, jak nakonfigurovat autorizaci klientských certifikátů ve službě Azure Container Apps.

Při použití klientských certifikátů se certifikáty TLS vyměňují mezi klientem a vaší aplikací kontejneru za účelem ověření identity a šifrování provozu. Klientské certifikáty se často používají v modelech zabezpečení nulové důvěryhodnosti k autorizaci přístupu klientů v rámci organizace.

Například můžete chtít vyžadovat klientský certifikát pro aplikaci typu kontejner, která spravuje citlivá data.

Container Apps přijímá klientské certifikáty ve formátu PKCS12, když je důvěryhodná certifikační autorita (CA) vydá nebo když jsou podepsané svým držitelem.

Konfigurace autorizace klientského certifikátu

Pokud chcete nakonfigurovat podporu klientských certifikátů, nastavte clientCertificateMode vlastnost v šabloně aplikace kontejneru.

Vlastnost lze nastavit na jednu z následujících hodnot:

  • require: Klientský certifikát se vyžaduje pro všechny požadavky na aplikaci kontejneru.
  • accept: Klientský certifikát je volitelný. Pokud není zadaný klientský certifikát, žádost se stále přijme.
  • ignore: Klientský certifikát se ignoruje.

Příchozí přenos dat předá klientský certifikát do aplikace kontejneru, pokud require je nebo accept je nastaven.

Následující příklad šablony ARM nakonfiguruje příchozí přenos dat tak, aby vyžadoval klientský certifikát pro všechny požadavky na aplikaci kontejneru.

{
  "properties": {
    "configuration": {
      "ingress": {
        "clientCertificateMode": "require"
      }
    }
  }
}

Poznámka:

Přímo u clientCertificateMode vlastnosti příchozího přenosu dat můžete nastavit. Není k dispozici jako explicitní možnost v rozhraní příkazového řádku, ale aplikaci můžete opravit pomocí Azure CLI.

Než spustíte následující příkazy, nezapomeňte zástupné symboly nahradit <> vlastními hodnotami.

Získejte ID Azure Resource Manageru (ARM) vaší aplikace kontejneru:

APP_ID=$(az containerapp show \
  --name <APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --query id \
  --output tsv)

Opravte clientCertificateMode vlastnost aplikace:

az rest \
  --method patch \
  --url "https://management.azure.com/$APP_ID?api-version=<API_VERSION>" \
  --body '{
    "properties": {
      "configuration": {
        "ingress": {
          "clientCertificateMode": "require"
        }
      }
    }
  }'

Poznámka:

Nezapomeňte použít platnou a stabilní verzi rozhraní API, která tuto funkci podporuje. Například nahraďte <API_VERSION> v příkazu verzí 2025-01-01 nebo jinou podporovanou verzí.

Režim klientského certifikátu a formát hlavičky

Hodnota pro clientCertificateMode službu Container Apps se liší podle toho, co potřebujete, aby služba Container Apps mohla spravovat váš certifikát:

  • Když require je nastaveno, klient musí poskytnout certifikát.
  • Při accept nastavení je certifikát volitelný. Pokud klient poskytne certifikát, předá ho aplikaci v X-Forwarded-Client-Cert hlavičce jako seznam oddělený středníkem.

Příklad X-Forwarded-Client-Cert hodnoty záhlaví

Následující příklad představuje ukázkovou hodnotu hlavičky X-Forwarded-Client-Cert , kterou může vaše aplikace obdržet:

Hash=<HASH_VALUE>;Cert="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";Chain="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";

Rozpis polí záhlaví

Obor Popis Způsob použití
Hash Kryptografický otisk SHA-256 klientského certifikátu. Kryptografický otisk použijte k identifikaci nebo ověření klientského certifikátu.
Cert Klientský certifikát s kódováním Base64 ve formátu PEM (jeden certifikát). Parsujte certifikát a zkontrolujte metadata, jako je subjekt a vystavitel.
Chain Jeden nebo více zprostředkujících certifikátů s kódováním PEM Při vytváření úplného řetězu důvěryhodnosti pro ověření zadejte zprostředkující certifikáty.

Další kroky