Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Взаимная безопасность уровня транспорта (mTLS) — это расширение стандартного протокола TLS, обеспечивающего взаимную проверку подлинности между клиентом и сервером. Приложения контейнеров Azure поддерживают запуск приложений с поддержкой MTLS, чтобы обеспечить повышенную безопасность в приложениях.
В приложениях контейнеров Azure все входящие запросы передаются через Envoy перед перенаправлением в целевое приложение контейнера. При использовании MTLS клиент обменивается сертификатами с Envoy. Каждый из этих сертификатов помещается в заголовок X-Forwarded-Client-Cert , который затем отправляется в приложение.
Чтобы создать приложение mTLS в приложениях контейнеров Azure, необходимо выполнить следующие действия.
- Настройте приложения контейнеров Azure, чтобы требовать сертификаты клиента от одноранговых узлов.
- Извлечение
X.509сертификатов из запросов.
В этой статье описывается, как обрабатывать сертификаты рукопожатия peer mTLS путем извлечения сертификата X.509 у клиента.
Требовать сертификаты клиента
Выполните следующие действия, чтобы настроить приложение-контейнер для требования сертификатов клиента:
- На портале Azure откройте приложение контейнера.
- В меню слева выберите Сеть>Вход.
- В разделе "Включение входящего трафика" для приложений, которым требуется конечная точка HTTP или TCP, включите входящий трафик.
- Для типа входящего трафика выберите 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.