#security #kubernetes #jwt #istio
#Безопасность #kubernetes #jwt #istio
Вопрос:
Я пытаюсь настроить аутентификацию конечного пользователя с помощью JWT в Istio, как описано здесь:https://istio.io/help/ops/security/end-user-auth /
Вот шаги для воспроизведения:
- Настройте Istio локально:https://github.com/nheidloff/cloud-native-starter/blob/master/LocalEnvironment.md
- Настройте HTTPS, примерные службы и вход:https://github.com/nheidloff/cloud-native-starter/blob/master/istio/IstioIngressHTTPS.md
- 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?