У меня есть приложение 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