对于托管在 GCP 中的 API,我计划借助具有私钥和 API 网关的服务帐户来验证消费服务(来自外部 gcp 环境)。
对于一个服务帐户 ( ),一切正常service-account-1
,即:
paths:
/hello:
get:
#...
security:
- service_account-1: []
securityDefinitions:
service_account-1:
authorizationUrl: ""
flow: "implicit"
type: "oauth2"
x-google-issuer: "{service-account-1}@{project-id}.iam.gserviceaccount.com"
x-google-jwks_uri: "https://www.googleapis.com/robot/v1/metadata/x509/{service-account-1}@{project-id}.iam.gserviceaccount.com"
x-google-audiences: "{project-id}"
但是,我如何描述它以便项目中的任何服务帐户都可以访问?
编辑:我想避免每次创建新服务帐户并需要允许访问时更新 API 网关上的 openapi 配置。
更新:我最终使用 Identity-Aware Proxy 来保护 API,只允许授权的服务帐户。