Size: a a a

2020 September 04

4

4c74356b41 in Istio_ru
или истио может валидировать oauth токены
источник

ID

Ivan Drygin in Istio_ru
4c74356b41
oauth2-proxy на ингресе
спасиб, гляну
источник

4

4c74356b41 in Istio_ru
у меня так было:
apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
 name: ingressgateway
 namespace: istio-system
spec:
 targets:
 - name: istio-ingressgateway
 peers:
 - mtls: {}
 origins:
 - jwt:
     audiences:
     - "fd71d6b1-5728-4f8a-b38a-4ae4f89851e2"
     issuer: "issuer"
     jwksUri: "url"
     jwtParams:
     - id_token
     jwtHeaders:
     - Authorization
     trigger_rules:
     - excluded_paths:
       - exact: /favicon.ico
       - prefix: /login
       - prefix: /static
       - prefix: /stub
       - prefix: /api
 principalBinding: USE_ORIGIN
источник
2020 September 09

4

4c74356b41 in Istio_ru
источник
2020 September 16

AK

Andrey 🦉 Kovalchuk... in Istio_ru
День добрый!

Стлкнулся с проблемой при работе с Authorization Policy, если кто-то знает возможные причины, буду крайне признателен.

Вот манифест Authorization Policy,:
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
 name: some-policy
 namespace: staging
spec:
 {}


DENY все в пространстве staging. Системные поды истио находятся в istio-system. В staging основные поды, доступ к которым пробую закрыть.

kubectl apply манифест, все создано/сконфигурировано, но запросы на поды спокойно идут.

Подскажите, может я что-то забываю или не так делаю? Почему запросы на поды из stating пространства продолжают спокойно идти?

Трафик по https идет.
источник

ID

Ivan Drygin in Istio_ru
Andrey 🦉 Kovalchuk
День добрый!

Стлкнулся с проблемой при работе с Authorization Policy, если кто-то знает возможные причины, буду крайне признателен.

Вот манифест Authorization Policy,:
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
 name: some-policy
 namespace: staging
spec:
 {}


DENY все в пространстве staging. Системные поды истио находятся в istio-system. В staging основные поды, доступ к которым пробую закрыть.

kubectl apply манифест, все создано/сконфигурировано, но запросы на поды спокойно идут.

Подскажите, может я что-то забываю или не так делаю? Почему запросы на поды из stating пространства продолжают спокойно идти?

Трафик по https идет.
попробуйте вот так
action: DENY
rules:
 - from:
     - source:
         notRequestPrincipals: ["*"]
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
Ivan Drygin
попробуйте вот так
action: DENY
rules:
 - from:
     - source:
         notRequestPrincipals: ["*"]
Спасибо. Но я нашел свою проблему вот прям только что!

У меня istio-ingressgateway находится в пространстве отличном от того пространства где лежит приложение (и объявлен virtualservice).

Я ошибочно предположил, что и Authorization Policy необходимо объявить рядом с virtualservice. А он должен быть объявлен в одном неймспейсе с istio-ingressgateway.

Изменил неймспейс и все заработало. Теперь остается ковыряться с селекторами, что как-то выцеплять поды из другого неймспейса.
источник

ID

Ivan Drygin in Istio_ru
Andrey 🦉 Kovalchuk
Спасибо. Но я нашел свою проблему вот прям только что!

У меня istio-ingressgateway находится в пространстве отличном от того пространства где лежит приложение (и объявлен virtualservice).

Я ошибочно предположил, что и Authorization Policy необходимо объявить рядом с virtualservice. А он должен быть объявлен в одном неймспейсе с istio-ingressgateway.

Изменил неймспейс и все заработало. Теперь остается ковыряться с селекторами, что как-то выцеплять поды из другого неймспейса.
у меня istio-ingressgateway в ns istio-system, а сам сервис вместе с gateway/vitrualservice/policy ставится хелмом в другой ns  и вроде ок все, а селекторы обьявлены в helpers.tpl
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
Т.е. ресурс Authorization Policy лежит не в пространстве istio-system?
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
А, это я, кажется, криво сообщение первое написал
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
речь об Authorization Policy
источник

ID

Ivan Drygin in Istio_ru
Andrey 🦉 Kovalchuk
Т.е. ресурс Authorization Policy лежит не в пространстве istio-system?
верно, он лежит в пространстве сервиса, а не в istio
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
А, нет, там же манифест…

так, вернемся.
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
Ivan Drygin
верно, он лежит в пространстве сервиса, а не в istio
Хм… тогда попробую Ваш совет, вернув обратно политику к сервису в неймспейс
источник

ID

Ivan Drygin in Istio_ru
Andrey 🦉 Kovalchuk
Хм… тогда попробую Ваш совет, вернув обратно политику к сервису в неймспейс
да, посмотрите верные ли у него селекторы
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
Без селекторов сможет выбрать все поды?
источник

ID

Ivan Drygin in Istio_ru
тут не подскажу, стоит доку поизучать
источник

ID

Ivan Drygin in Istio_ru
Andrey 🦉 Kovalchuk
Без селекторов сможет выбрать все поды?
https://istio.io/latest/docs/reference/config/security/authorization-policy/#AuthorizationPolicy вот пример где должен запретить ко всем подам
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
Ivan Drygin
https://istio.io/latest/docs/reference/config/security/authorization-policy/#AuthorizationPolicy вот пример где должен запретить ко всем подам
Я с ним и заходил.
источник

AK

Andrey 🦉 Kovalchuk... in Istio_ru
Ivan Drygin
попробуйте вот так
action: DENY
rules:
 - from:
     - source:
         notRequestPrincipals: ["*"]
Попробовал. Ничего не вышло =(
источник