Alauda Service Mesh поддерживает настройку защищённого взаимодействия между сервисами с использованием взаимной Transport Layer Security (mTLS) — протокола, обеспечивающего взаимную аутентификацию между клиентами и серверами сервисов.
В Alauda Service Mesh настройки mTLS можно конфигурировать с помощью ресурса Istio
.
Режим STRICT
mTLS настраивается с помощью ресурсов PeerAuthentication
и DestinationRule
.
Изучите следующие ресурсы и концепции Istio
для правильной настройки mTLS:
PeerAuthentication
Определяет режим mTLS, принимаемый sidecar-прокси.
PERMISSIVE
: Принимает как незашифрованный, так и mTLS-трафик.STRICT
: Принимается только mTLS-трафик.DestinationRule
Определяет режим TLS, используемый для трафика, отправляемого sidecar-прокси.
DISABLE
: Отправляет незашифрованный трафик.SIMPLE
, MUTUAL
, ISTIO_MUTUAL
: Отправляет трафик с использованием TLS.Auto mTLS
Автоматически включает mTLS для межсетевого взаимодействия независимо от режима PeerAuthentication
. Эта функция контролируется полем enableAutoMtls
в конфигурации mesh и включена по умолчанию.
Auto mTLS работает на уровне прокси и не требует изменений в коде приложения.
По умолчанию PeerAuthentication
установлен в режим PERMISSIVE
, что позволяет sidecar в Service Mesh принимать как незашифрованный, так и mTLS-зашифрованный трафик.
Вы можете применить строгий режим mTLS ко всем рабочим нагрузкам в конкретном namespace, создав политику PeerAuthentication
.
Пример политики PeerAuthentication
для namespace
<namespace>
, к которому применяется режим STRICT
mTLS.Вы можете включить mTLS для всех целевых хостов в <namespace>
, создав ресурс DestinationRule
с режимом MUTUAL
или ISTIO_MUTUAL
, если auto mTLS
отключён и PeerAuthentication
установлен в режим STRICT
.
Пример политики DestinationRule
для namespace
Вы можете применить строгий режим mTLS на уровне всего кластера, создав политику PeerAuthentication
в namespace управляющей плоскости (например, istio-system
). Namespace должен совпадать со значением поля spec.namespace
в ресурсе Istio
.
Пример политики PeerAuthentication
для всего mesh
Кроме того, создайте ресурс DestinationRule
для отключения mTLS при взаимодействии с API-сервером, так как у него нет sidecar. Аналогичные конфигурации DestinationRule
применяйте для других сервисов без sidecar.
Пример политики DestinationRule
для всего mesh
Консоль Kiali предоставляет несколько способов проверить, включено ли шифрование mTLS для ваших приложений, сервисов и рабочих нагрузок.