Google 云服务帐户具有翻译 API 访问权限,但未分配任何角色

Google Cloud Service Account has Translate API access without any roles assigned

我创建了一个与 Cloud Translate API 一起使用的服务帐户(来自我的应用程序),并注意到即使我没有为它分配任何角色,我也可以拨打电话!!!

我已经通过 gcloud projects get-iam-policy MYPROJECTID 验证 () 并且我使用的服务帐户没有关联的角色....

我认为服务帐户至少需要 "Cloud Translation API User" 角色才能工作....

  1. 如何限制服务帐户只能使用翻译API
  2. 如果这不可能,这是否意味着项目中的任何服务帐户都可以访问某些 API?

谢谢 Z

Translate API v2 未与 Cloud IAM 集成,但 the V3 is and that's why there are Cloud Translation roles(也适用于 Cloud AutoML Translation 服务)。

关于问题 1:对于 non-IAM-integrated 服务,限制授权的唯一方法是通过 OAuth 范围。因此,对于 Translation API v2,您不能将服务帐户限制为仅使用此 API,除非 Translate 是项目中唯一的 API-enabled。

关于问题 2:API 未与 Cloud IAM 集成的服务只能使用服务帐户访问,即使它没有任何角色(因为没有与该服务关联的 Cloud IAM 角色)还没有)。