我在 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