flask - 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
解决方案
推荐阅读
- java - ModelMapper - 无法将 org.hibernate.collection.internal.PersistentBag 转换为 java.util.ArrayList
- google-apps-script - 修改 Google Apps 脚本全局变量
- android - 找不到构建工具修订版 30.0.1
- angular - variable.scss 从数据库中获取动态值 - Ionic 5
- python - numpy 点积的向量化抛出值错误
- angularjs - 使用 Angular 从 Firestore 中删除数据
- google-apps-script - 在 Google 表格中计算生日
- firebase - 自动计算与存储在 Firebase Firestore Flutter 中的地理坐标数据的距离
- excel - 更改图表对象属性时出现运行时错误
- firebase-cloud-messaging - 如何在 ejabberd 上使用 FCM 连接和发送推送通知?