Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Взаимная безопасность уровня транспорта (mTLS) — это расширение стандартного протокола TLS, обеспечивающего взаимную проверку подлинности между клиентом и сервером. Приложения контейнеров Azure поддерживают запуск приложений с поддержкой MTLS, чтобы обеспечить повышенную безопасность в приложениях.
В приложениях контейнеров Azure все входящие запросы передаются через Envoy перед перенаправлением в целевое приложение контейнера. При использовании MTLS клиент обменивается сертификатами с Envoy. Каждый из этих сертификатов помещается в заголовок X-Forwarded-Client-Cert , который затем отправляется в приложение.
Чтобы создать приложение mTLS в приложениях контейнеров Azure, необходимо выполнить следующие действия.
- Настройте приложения контейнеров Azure, чтобы требовать сертификаты клиента от одноранговых узлов.
- Извлечение
X.509
сертификатов из запросов.
В этой статье описывается, как обрабатывать сертификаты подтверждения одноранговых подключений mTLS путем извлечения X.509
сертификата из клиента.
Требовать сертификаты клиента
Выполните следующие действия, чтобы настроить приложение-контейнер для требования сертификатов клиента:
- Откройте приложение контейнера в портал Azure.
- В разделе "Параметры" выберите "Входящий трафик".
- Установите флажок Enabled (Включено).
- Для типа входящего трафика выберите HTTP.
- В разделе "Режим сертификата клиента" выберите "Требовать".
- Выберите Сохранить, чтобы применить изменения.
Дополнительные сведения о настройке проверки подлинности сертификата клиента в azure Container Apps см. в статье "Настройка проверки подлинности сертификата клиента" в приложениях контейнеров Azure.
Извлечение сертификатов X.509
Чтобы извлечь сертификаты из заголовка, выполните синтаксический X.509
анализ значения заголовка X-Forwarded-Client-Cert
в коде приложения. Этот заголовок содержит сведения о сертификате клиента при включении mTLS. Сертификаты предоставляются в формате списка с запятой, который включает хэш, сертификат и цепочку.
Ниже приведена процедура, которую вы хотите выполнить для извлечения и анализа сертификата в приложении:
-
X-Forwarded-Client-Cert
Получите заголовок из входящего запроса. - Анализ значения заголовка для извлечения сведений о сертификате.
- Поместите проанализированные сертификаты в стандартный атрибут сертификата для дальнейшей проверки или использования.
После синтаксического анализа можно проверить сертификаты и использовать их в соответствии с потребностями приложения.
Пример
В приложениях Java можно использовать фильтр проверки подлинности Reactive X.509 для сопоставления сведений о пользователе из сертификатов с контекстом безопасности. Полный пример приложения Java с mTLS в приложениях контейнеров Azure см. в статье mTLS Server Application on Azure Container Apps.