Spring-boot, работающий под прокси-сервером istio sidecar, вызывает ошибку HTTP 403

Есть сервисы 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: ["*"]

person Senthil    schedule 12.12.2020    source источник
comment
Ниже используется политика аутентификации istio. (Я пробовал использовать формат кода, но ниже он заключен в строки) `apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: service-auth-policy namespace: namkespace-dev spec : rules: - from: - source: requestPrincipals: [*] `   -  person Senthil    schedule 12.12.2020
comment
Было бы лучше включить этот код в свой вопрос, а не как комментарий.   -  person user140547    schedule 12.12.2020
comment
@ user140547 Я хочу отредактировать и добавить в вопрос. Я не мог найти способ отредактировать его и поэтому поместил это в комментарий.   -  person Senthil    schedule 13.12.2020
comment
Что ж, внизу вашего вопроса должна быть ссылка для редактирования   -  person user140547    schedule 13.12.2020
comment
@ user140547 спасибо, что указали на это. Я пытался найти способ где-то редактировать и читать, редактировать вопрос / ответ зависит от истории профиля пользователя. Я неправильно понял и не увидел кнопку редактирования внизу. Я добавил комментарий к вопросу.   -  person Senthil    schedule 13.12.2020


Ответы (1)


Я изменил исходную политику авторизации с

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: service-auth-policy
  namespace: namespace-dev
spec:
  rules:
  - from:
      - source:
          requestPrincipals: ["*"]

включая пространство имен, как показано ниже

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: catalog-auth-policy
  namespace: namespace-dev
spec:
  rules:
  - from:
      - source:
          requestPrincipals: ["*"]
      - source:
          namespaces: ["namespace-dev"]

и это сработало, как ожидалось.

person Senthil    schedule 12.12.2020