Авторизация Istio в облаке Запускать на Anthos? - PullRequest
3 голосов
/ 23 апреля 2020

У меня есть приложение flask, развернутое в Cloud Run на Anthos. Конечная точка выглядит следующим образом: http://example.<IP>.xip.io под именем службы military-govt-id. Он был успешно развернут в кластере GKE. Теперь я хочу добавить Istio Authentication. Проблема в том, что когда я пытаюсь получить доступ к приложению с учетной записью службы с надлежащей привязкой роли, это вызывает ошибку неавторизованного доступа. Я ознакомился с документацией здесь [1] и просмотрел примеры здесь [2], а также обратился за помощью в службу поддержки Google Cloud. Мы выделили проблему, и кажется, что файл authenticationpolicy.yaml написан неправильно, но они и я не знаем, какие поля являются неправильными. Может ли кто-нибудь помочь с этим? Мы пробовали много разных комбинаций, и все они выдают одну и ту же ошибку неавторизованного доступа при вызове API.

файл yaml

apiVersion: authentication.istio.io/v1alpha1
kind: Policy
metadata:
  name: default
  namespace: api
spec:
  origins:
  - jwt:
      issuer: "https://securetoken.google.com"
      audiences:
      - "military-govt-id"
      jwksUri: "https://www.googleapis.com/oauth2/v3/certs"
      jwt_headers:
      - "x-goog-iap-jwt-assertion"
  principalBinding: USE_ORIGIN

[1] https://cloud.google.com/solutions/authorizing-access-to-cloud-run-on-gke-services-using-istio
[2] https://archive.istio.io/v1.2/docs/reference/config/istio.authentication.v1alpha1/#Jwt

...