Аутентификация конечного пользователя с помощью JWT в Istio выдает «ошибку восходящего подключения»

#security #kubernetes #jwt #istio

#Безопасность #kubernetes #jwt #istio

Вопрос:

Я пытаюсь настроить аутентификацию конечного пользователя с помощью JWT в Istio, как описано здесь:https://istio.io/help/ops/security/end-user-auth /

Вот шаги для воспроизведения:

  1. Настройте Istio локально:https://github.com/nheidloff/cloud-native-starter/blob/master/LocalEnvironment.md
  2. Настройте HTTPS, примерные службы и вход:https://github.com/nheidloff/cloud-native-starter/blob/master/istio/IstioIngressHTTPS.md
  3. kubectl apply -fhttps://github.com/nheidloff/cloud-native-starter/blob/master/istio/access.yaml

Я создал небольшое приложение, чтобы получить токен JWT для пользователя. Я проверил, что токен действителен через https://jwt.io /.

Когда я вызываю следующие URL-адреса, я получаю ту же ошибку:

 curl -k https://web-api.local:31390/web-api/v1/getmultiple
curl -k https://web-api.local:31390/web-api/v1/getmultiple --header 'Authorization: Bearer eyJhbGciOiJIU.........wOeF_k'
  

Код состояния HTTP: 503
ошибка восходящего подключения или отключение / сброс перед заголовками

Я не вижу никаких записей, связанных с этими запросами, в журналах istio-proxy. Я предполагаю, что это означает, что что-то идет не так еще до того, как запрос поступает на прокси.

 kubectl logs web-api-v1-545f655f67-fhppt istio-proxy
  

Я пробовал Istio 1.0.6 и 1.1.1.

У меня закончились идеи, что еще попробовать. Любая помощь очень ценится! Спасибо!

Ответ №1:

Я нашел проблему. Хитрость заключалась в удалении mtls из моего yaml. Когда я читал документацию Istio, это звучало так, как будто это было обязательным условием.

Комментарии:

1. Я написал об этом в блоге: heidloff.net/article / …

2. какие компоненты yaml?