私は、Google Cloud API Gateway を使用してさまざまなエンドポイントをさまざまなサービスにルーティングする大規模な API を構築中です。サーバーレスの Cloud Functions もあれば、Kubernetes クラスタ内の Rails アプリによって提供されるものもあります。
クライアントからの認証されていないアクセスを必要とする情報エンドポイントの選択があります。ここでは、情報はめったに変更されません (数か月に 1 回程度)。私は、これらのエンドポイントの内容を Google Cloud Storage に (誰でも読めないバケットに) 書き込んでから、API Gateway 構成が特定のエンドポイントをそれらに向けられるようにしたいと考えていました (誰でも読めるバケットでは対応できません)。このプロジェクトのセキュリティ基準)。
API ゲートウェイ用のカスタム サービス アカウントを作成し、関連するバケットのStorage Object Viewerロールを付与しました。
しかし、そのサービス アカウントを使用して API 構成を作成し、Postman でエンドポイントを要求した後、期待した JSON 出力を取得する代わりに、Google サインイン ページの HTML が表示されます。
私の OpenAPI 構成のエンドポイント定義:
paths:
/products:
get:
x-google-backend:
address: https://storage.cloud.google.com/<BUCKET_NAME>/products.json
summary: List of products in JSON format
operationId: listProductsJson
produces:
- application/json
responses:
"200":
description: a product list
schema:
type: array
items:
$ref: '#/definitions/Product'
そして、これは郵便配達員の応答です:
このセットアップを機能させる方法、またはここで何が起こっているかをデバッグする方法はありますか? Cloud Functions と JWT のaud
価値に関して同様の問題を抱えている人を見てきましたが、彼らにとってうまくいった方法に従っても、Cloud Storage には何の影響もないようです。
どんな助けでも大歓迎です!(私は GCloud の世界の初心者なので、この種のほとんど静的なエンドポイントの代替実装があれば、それもクールです。)