首页 > 解决方案 > Cloud Run on Anthos 上的 Istio 授权?

问题描述

我在 Cloud Run on Anthos 上部署了一个烧瓶应用程序。端点如下所示:http://example.<IP>.xip.io在 service name 下military-govt-id。它已成功部署在 GKE 集群上。现在我想添加 Istio 身份验证。问题是,当我尝试使用具有正确角色绑定的服务帐户访问应用程序时,它会给我一个未经授权的访问错误。我已按照此处的文档 [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

标签: flaskgoogle-cloud-platformistiogoogle-cloud-rungoogle-anthos

解决方案


推荐阅读