我们正在将现有的API移植到Cloud Run,并希望利用内置的IAM身份验证功能。这意味着生成签名的JWT用作授权承载令牌。适用于iOS,Android和Web的documentation that describes how to do this。但是,尚不清楚在用户本地计算机上运行CLI的最佳方法是什么。
我们过去所做的是使用Google用户的本地凭据通过API进行授权(使用默认应用程序凭据),但我不清楚如何从Go中生成适当的access_id
。只有服务帐户类型才有可能这样做。不是授权用户类型。我能够获得有效的access_id
的唯一方法是使用gcloud命令。
gcloud config config-helper --format json
除了使用上述命令外,是否还有一种更合适的方法可以在CLI中生成用户凭证以使用Cloud Run托管服务进行授权?
答案 0 :(得分:0)
Cloud Run使用Oauth 2.0(OIDC)身份令牌进行授权。用户帐户和服务帐户均支持此功能。在authorization: bearer token
标头中使用OAuth访问令牌的位置,请使用身份令牌。
要进行实验,您可以使用以下命令生成身份令牌:
gcloud auth print-identity-token
使用Cloud Run,您需要为身份令牌指定audience
值。下面的链接中提供了详细信息。
还有一些其他链接可帮助您入门:
我在Cloud Run Identity上写的文章:
Google Cloud – Go – Identity Based Access Control
Google Cloud Run文档: