Проблема политики авторизации при соблюдении требований безопасности Istio 1.5 - PullRequest
1 голос
/ 27 марта 2020

Я пытался настроить политику авторизации, следуя Istio 1.5 Security,

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: require-jwt
  namespace: foo
spec:
  selector:
    matchLabels:
      app: httpbin 
  action: ALLOW
  rules:
  - from:
    - source:
       requestPrincipals: ["testing@secure.istio.io/testing@secure.istio.io"] 

Но когда я применяю эту политику для своего сервиса, я получаю «RBA C: доступ запрещен»

Пожалуйста, найдите журналы прокси посланника ниже,

[Envoy (Epoch 0)] [2020-03-27 14:40:31.225][24][debug][rbac] [external/envoy/source/extensions/filters/http/rbac/rbac_filter.cc:68] checking request: remoteAddress: 10.1.0.65:57780, localAddress: 10.1.0.64:9080, ssl: uriSanPeerCertificate: spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account, subjectPeerCertificate: , 

headers: ‘:authority’, ‘localhost’
    ‘:path’, ‘/productpage’
    ‘:method’, ‘GET’
    ‘content-type’, ‘application/json’
    **‘authorization’, ‘Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkRIRmJwb0lVcXJZOHQyenBBMnFYZkNtcjVWTzVaRXI0UnpIVV8tZW52dlEiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjM1MzczOTExMDQsImdyb3VwcyI6WyJncm91cDEiLCJncm91cDIiXSwiaWF0IjoxNTM3MzkxMTA0LCJpc3MiOiJ0ZXN0aW5nQHNlY3VyZS5pc3Rpby5pbyIsInNjb3BlIjpbInNjb3BlMSIsInNjb3BlMiJdLCJzdWIiOiJ0ZXN0aW5nQHNlY3VyZS5pc3Rpby5pbyJ9.EdJnEZSH6X8hcyEii7c8H5lnhgjB5dwo07M5oheC8Xz8mOllyg–AHCFWHybM48reunF–oGaG6IXVngCEpVF0_P5DwsUoBgpPmK1JOaKN6_pe9sh0ZwTtdgK_RP01PuI7kUdbOTlkuUi2AO-qUyOm7Art2POzo36DLQlUXv8Ad7NBOqfQaKjE9ndaPWT7aexUsBHxmgiGbz1SyLH879f7uHYPbPKlpHU6P9S-DaKnGLaEchnoKnov7ajhrEhGXAQRukhDPKUHO9L30oPIr5IJllEQfHYtt6IZvlNUGeLUcif3wpry1R5tBXRicx2sXMQ7LyuDremDbcNy_iE76Upg’**
    ‘user-agent’, ‘PostmanRuntime/7.22.0’
    ‘accept’, ‘/’
    ‘cache-control’, ‘no-cache’
    ‘postman-token’, ‘f06a794e-1bd7-4c03-ad78-1638a309b71a’
    ‘accept-encoding’, ‘gzip, deflate, br’
    ‘content-length’, ‘4868’
    ‘x-forwarded-for’, ‘192.168.65.3’
    ‘x-forwarded-proto’, ‘http’
    ‘x-request-id’, ‘012804b1-67ca-942d-9636-40478e932e75’
    ‘x-b3-traceid’, ‘f8f9e4f94847aec5ce7dec347a5bfa5d’
    ‘x-b3-spanid’, ‘ce7dec347a5bfa5d’
    ‘x-b3-sampled’, ‘1’
    ‘x-envoy-internal’, ‘true’
    ‘x-forwarded-client-cert’, ‘By=spiffe://cluster.local/ns/default/sa/bookinfo-productpage;Hash=5e82efecebbaf212aae6359cec7cbc0b6aa281ddeaf3e7adb280c503a5c04a5f;Subject="";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account’
    , dynamicMetadata: filter_metadata {
    key: “istio_authn”
    value {
    fields {
    key: “request.auth.principal”
    value {
    string_value: “cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account”
    }
    }
    fields {
    key: “source.namespace”
    value {
    string_value: “istio-system”
    }
    }
    fields {
    key: “source.principal”
    value {
    string_value: “cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account”
    }
    }
    fields {
    key: “source.user”
    value {
    string_value: “cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account”
    }
    }
    }
    }

**[Envoy (Epoch 0)] [2020-03-27 14:40:31.225][24][debug][rbac] [external/envoy/source/extensions/filters/http/rbac/rbac_filter.cc:111] enforced denied**
[2020-03-27T14:40:31.224Z] “GET /productpage HTTP/1.1” 403 - “-” “-” 0 19 1 - “192.168.65.3” “PostmanRuntime/7.22.0” “012804b1-67ca-942d-9636-40478e932e75” “localhost” “-” - - 10.1.0.64:9080 192.168.65.3:0 outbound_.9080_._.productpage.default.svc.cluster.local -

Пожалуйста, помогите мне решить эту проблему. Заранее спасибо

1 Ответ

0 голосов
/ 31 марта 2020

Попробуйте обновить istio до v 1.5.1.

В соответствии с документацией istio исправлена ​​ошибка, которая затрагивала используемую вами политику аутентификации security.istio.io/v1beta1:

Исправлено Обнаружение OpenID не работает с политикой проверки подлинности бета-запроса ( Выпуск 21954 )

Чтобы выполнить обновление istio, просмотрите istio upgrade страница документации.

Надеюсь, это поможет.

...