Istio: поддержка аутентификации по URL в аутентификации конечного пользователя - PullRequest
0 голосов
/ 11 января 2019

Я собираюсь сделать 3-хногой голос на istio + kubernetes. Я не нашел способа направить неаутентифицированные запросы в прокси-службу аутентификации, которая выполняет аутентификацию и перенаправляет трафик обратно в целевую службу. Я сделал это с помощью nginx входного контроллера kubernetes, используя следующие аннотации -

nginx.ingress.kubernetes.io/auth-url //Auth url that requests will be forwarded to
nginx.ingress.kubernetes.io/auth-signin //Sign in page the request is routed to when the above returns 401

Я не нашел эквивалентных в Истио. Я проверил документацию и там написано, что он поддерживает пользовательскую аутентификацию в дополнение к jwt, однако я не нашел такой поддержки.

1 Ответ

0 голосов
/ 16 января 2019

Отвечая на мой собственный вопрос. На данный момент я понял, что единственный способ сделать это - через EnvoyFilter на istio. Это позволяет нам написать собственный lua фильтр для маршрутизации неаутентифицированных запросов к oauth-прокси, который может выполнять 3-х сторонний oauth-поток.

Поток управления запросами

клиент -> входной шлюз -> istio-proxy sidecar -> фильтр посланника -> цель

Фильтр способен выполнять http-вызовы и манипулировать заголовками, что соответствует этому требованию.

Edit: Подробности об этом здесь .

...