Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Container Apps obsługuje uwierzytelnianie certyfikatów klienta (nazywane również wzajemnym protokołem TLS lub mTLS), które umożliwia dostęp do aplikacji kontenera za pośrednictwem uwierzytelniania dwukierunkowego. W tym artykule pokazano, jak skonfigurować autoryzację certyfikatu klienta w usłudze Azure Container Apps.
Gdy certyfikaty klienta są używane, certyfikaty TLS są wymieniane między klientem a aplikacją kontenera w celu uwierzytelniania tożsamości i szyfrowania ruchu. Certyfikaty klienta są często używane w modelach zabezpieczeń "zero zaufania", aby autoryzować dostęp klienta w organizacji.
Możesz na przykład wymagać certyfikatu klienta dla aplikacji kontenera, która zarządza poufnymi danymi.
Usługa Container Apps akceptuje certyfikaty klienta w formacie PKCS12, gdy są wystawiane przez zaufany urząd certyfikacji albo gdy są podpisane samodzielnie.
Konfigurowanie autoryzacji certyfikatu klienta
Aby skonfigurować obsługę certyfikatów klienta, ustaw clientCertificateMode
właściwość w szablonie aplikacji kontenera.
Właściwość można ustawić na jedną z następujących wartości:
-
require
: Certyfikat klienta jest wymagany dla wszystkich żądań do aplikacji kontenera. -
accept
: certyfikat klienta jest opcjonalny. Jeśli certyfikat klienta nie zostanie podany, żądanie jest nadal akceptowane. -
ignore
: Certyfikat klienta jest ignorowany.
Ruch przychodzący przekazuje certyfikat klienta do aplikacji kontenera, jeśli require
został ustawiony.accept
Poniższy przykładowy szablon usługi ARM konfiguruje ruch przychodzący, aby wymagać certyfikatu klienta dla wszystkich żądań do aplikacji kontenera.
{
"properties": {
"configuration": {
"ingress": {
"clientCertificateMode": "require"
}
}
}
}
Uwaga / Notatka
Można ustawić bezpośrednio clientCertificateMode
we właściwości ingress. Nie jest dostępna jako jawna opcja w interfejsie wiersza polecenia, ale możesz zastosować poprawkę aplikacji przy użyciu interfejsu wiersza polecenia platformy Azure.
Przed uruchomieniem następujących poleceń pamiętaj, aby zastąpić symbole zastępcze otoczone <>
własnymi wartościami.
Pobierz identyfikator usługi Azure Resource Manager (ARM) aplikacji kontenera:
APP_ID=$(az containerapp show \
--name <APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--query id \
--output tsv)
Załataj właściwość clientCertificateMode
w aplikacji:
az rest \
--method patch \
--url "https://management.azure.com/$APP_ID?api-version=<API_VERSION>" \
--body '{
"properties": {
"configuration": {
"ingress": {
"clientCertificateMode": "require"
}
}
}
}'
Uwaga / Notatka
Pamiętaj, aby użyć prawidłowej i stabilnej wersji interfejsu API, która obsługuje tę funkcję. Na przykład zastąp <API_VERSION> w poleceniu 2025-01-01 lub inną obsługiwaną wersją.
Tryb certyfikatu klienta i format nagłówka
Wartość dla clientCertificateMode
różni się w zależności od tego, co należy podać, aby aplikacja Container Apps mogła zarządzać certyfikatem.
- Po
require
ustawieniu klient musi podać certyfikat. - Po
accept
ustawieniu certyfikat jest opcjonalny. Jeśli klient udostępnia certyfikat, przekazuje go do aplikacji w nagłówkuX-Forwarded-Client-Cert
jako listę rozdzielaną średnikami.
Przykładowa X-Forwarded-Client-Cert
wartość nagłówka
Poniższy przykład to przykładowa wartość nagłówka X-Forwarded-Client-Cert
, który może otrzymać Aplikacja:
Hash=<HASH_VALUE>;Cert="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";Chain="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";
Podział pól nagłówka
(No changes needed) | Opis | Jak stosować |
---|---|---|
Hash |
Odcisk palca SHA-256 certyfikatu klienta. | Użyj odcisku palca, aby zidentyfikować lub zweryfikować certyfikat klienta. |
Cert |
Certyfikat klienta zakodowany w formacie base64 w formacie PEM (pojedynczy certyfikat). | Przeanalizuj certyfikat, aby sprawdzić metadane, takie jak podmiot i wystawca. |
Chain |
Co najmniej jeden certyfikat pośredniczący zakodowany za pomocą standardu PEM. | Podaj certyfikaty pośrednie podczas tworzenia pełnego łańcucha zaufania na potrzeby walidacji. |