允许使用 GCP API(例如 Drive、Sheets 等)的角色是什么?

Tai*_*chi 3 google-sheets google-drive-api google-cloud-platform google-iam google-workspace

我想使用 Python3 中的 Drive & Sheets API。我试图在 GCP 控制台中创建一个服务帐户,但它说You already have credentials that are suitable for this purpose,没有告诉我 GCP 的什么角色使它适合。

现在我想查找角色并将其添加到我最喜欢的服务帐户。我不想创建一个新的,也不想使用已经合适的。

允许使用 Google API 的角色的名称是什么?

GCP 控制台

Daz*_*kin 8

我认为这在 Google 的文档中令人困惑且解释不充分,但 IAM 和 OAuth 范围主要是(现在)互补技术。我认为 IAM 可以改进或提供更细化的、特定于帐户的|凭据范围

范围首先出现,IAM 出现在后面。

IAM - 实际上是 Cloud IAM - 仅适用于 Google Cloud Platform (GCP) 服务。

OAuth 范围适用于所有Google 的 API(包括 GCP 的 API)。

https://developers.google.com/identity/protocols/googlescopes

就您而言,云端硬盘和表格是 G Suite 的一部分,包含在 Cloud IAM 中。因此,您无需将 IAM 角色分配给适用于这些服务的服务帐户。

对于 GCP 服务,习惯上(虽然看似多余)同时使用 IAM 和作用域。

通常你会看到https://www.googleapis.com/auth/cloud-platform用作一个包罗万象的|默认范围。

更新:回想起来,我应该为此添加一个限定符,OAuth 范围对于服务帐户来说实际上是多余的。在最终用户委派权限的基于人类|用户的 OAuth 流的情况下,范围仍然相关,因为它们总结了最终用户在授予代码之前要审查的权限。

  • @DazWilkin 等等,所以没有 IAM 角色可以授予服务帐户对 Google Drive 和 Sheets API 的访问权限?这太令人抓狂了! (2认同)