如何在 Google Cloud Platform 中获取当前项目的组织 ID?

How do I get the organization ID of my current project in Google Cloud Platform?

我想知道我当前项目在 GCP 中的组织 ID。

gcloud projects describe PROJECT_ID 将显示 parent 可以是组织,但如果父级是 folder,则不会显示组织 ID。

我可以使用 gcloud resource-manager folders describe FOLDER_ID 递归文件夹的父层次结构,但这很麻烦。我没有组织级权限也是不行的。

但我确实可以访问组织 ID:gcloud organizations list 显示了几个组织,但不是它们与项目的映射。

我怎样才能做到这一点?

如果我们阅读 here,我们会发现您的组织是您当前项目的祖先树的根。

我们还发现有一个 API 可以调用它来从给定项目向上检索祖先链。这意味着我们可以使用 API.

检索您项目的组织 ID

API 已记录 here

它具有高级 REST 格式:

POST https://cloudresourcemanager.googleapis.com/v1/projects/{projectId}:getAncestry

一个可能的命令可能是:

curl -X POST -H "Authorization: Bearer \"$(gcloud auth application-default print-access-token)\"" \
          -H "Content-Type: application/json; charset=utf-8" \
             https://cloudresourcemanager.googleapis.com/v1/projects/<MY_PROJECT>:getAncestry