如何在 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
我想知道我当前项目在 GCP 中的组织 ID。
gcloud projects describe PROJECT_ID
将显示 parent
可以是组织,但如果父级是 folder
,则不会显示组织 ID。
我可以使用 gcloud resource-manager folders describe FOLDER_ID
递归文件夹的父层次结构,但这很麻烦。我没有组织级权限也是不行的。
但我确实可以访问组织 ID:gcloud organizations list
显示了几个组织,但不是它们与项目的映射。
我怎样才能做到这一点?
如果我们阅读 here,我们会发现您的组织是您当前项目的祖先树的根。
我们还发现有一个 API 可以调用它来从给定项目向上检索祖先链。这意味着我们可以使用 API.
检索您项目的组织 IDAPI 已记录 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