Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ž
requireje nastaveno, klient musí poskytnout certifikát. - Při
acceptnastavení je certifikát volitelný. Pokud klient poskytne certifikát, předá ho aplikaci vX-Forwarded-Client-Certhlavič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. |