我想知道我当前项目在 GCP 中的组织 ID。
gcloud projects describe PROJECT_ID
将显示 parent
,它可以是组织,但如果父级是 folder
,则不会显示组织 ID。
我可以使用
gcloud resource-manager folders describe FOLDER_ID
递归文件夹的父层次结构,但这很麻烦。如果我没有组织级别的权限也是不可能的。
但我确实可以访问组织 ID:
gcloud organizations list
显示了多个组织,但没有显示它们到项目的映射。
我怎样才能实现这个目标?
在 Cloud shell 中使用以下 gcloud 命令。
gcloud projects get-ancestors {projectId}
这应该给出如下输出。
ID TYPE
Your-project-ID project
123456789012 folder
567890123456 organization
如果我们阅读here,我们会发现您的组织是当前项目祖先树的根。
我们还发现有一个 API 可以调用来检索给定项目向上的祖先链。这意味着我们可以使用该 API 检索您项目的组织 ID。
API 已记录在此处。
它具有以下高级 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 UI 解决方案。 (与提取项目 ID 的方式相同)