Есть сервисы ServiceA и ServiceB, развернутые в одном пространстве имен. Для проверки подлинности запроса включен istio. Любые вызовы службы должны иметь заголовок Authrization с действительным токеном jwt. Он проверяется с помощью RequestAuthenication вместе с AuthorizationPolicy установлен. Он работает должным образом, и я могу совершать http-вызовы с действующим токеном аутентификации. Теперь ServiceA нужно поговорить с ServiceB. Я использовал имя службы serviceb..<namespace-name>.svc.cluster.local
. Вызов передается в ServiceB, но не выполняется с HTTP 403. Ожидается заголовок токена аутентификации. Как я могу разрешить вызовы между службами в одном пространстве имен без токена аутентификации? Я пытаюсь найти пример для настройки AuthorizationPolicy , так что он разрешает вызовы в том же пространстве имен, что и доверенная служба, без токена аутентификации. Пожалуйста, дайте мне знать, возможно ли это или есть альтернативный способ.
Все мои поды, работающие под службами, имеют весеннюю загрузку и используют RestTemplate для вызова между службами.
Ниже приведена используемая политика аутентификации istio.
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: service-auth-policy
namespace: namespace-dev
spec:
rules:
- from:
- source:
requestPrincipals: ["*"]