本页面包含针对各种 IAM 允许政策搜索用例的示例查询。本页面上的一些示例使用了 grep
和 sed
等命令,这些命令可在 Cloud Shell 和类似 Unix 的操作系统中找到。
列出 IAM 允许政策并设置输出格式
gcloud
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--flatten="policy.bindings[].members[]" \
--format="table(resource, policy.bindings.role, policy.bindings.members)"
请提供以下值:
SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
其他标志:
您可以添加
--query
以获取更具体的资源搜索结果。您可以添加
--asset-types
以获取更具体的资源类型。如果您不想设置结果的格式,可以移除
--flatten
和--format
。您可以使用
csv
(而非table
)以 CSV 格式输出结果。您可以添加
--limit
以仅获取部分搜索结果。如果没有此标志,Cloud Asset Inventory 会自动对所有搜索结果进行分页。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"pageSize": PAGE_SIZE
}' \
https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
其他参数:
您可以向正文添加
query
键,以获取更具体的资源搜索结果。您可以向正文添加
assetTypes
键以获取更具体的资源。
列出具有 IAM 允许政策且政策名称中包含“example”的资源
gcloud
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="resource:example"
请提供以下值:
SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"query": "resource:example"
}' \
https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
请提供以下值:
SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出针对组织中的项目、文件夹或组织资源设置的 IAM 允许政策
gcloud
gcloud asset search-all-iam-policies \
--scope=organizations/ORGANIZATION_ID \
--asset-types=cloudresourcemanager.*
请提供以下值:
ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
您可以将 --asset-types
标志更改为 cloudresourcemanager.googleapis.com/Project
,将搜索范围更改为仅项目资源;或将 cloudresourcemanager.googleapis.com/Folder
标志更改为文件夹资源。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetTypes": "cloudresourcemanager.*"
}' \
https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:searchAllIamPolicies
请提供以下值:
ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
您可以将 assetTypes
值更改为 cloudresourcemanager.googleapis.com/Project
,将搜索范围更改为仅项目资源,或将 cloudresourcemanager.googleapis.com/Folder
更改为文件夹资源。
列出项目、文件夹或组织的查看者
此调用会从直接针对项目设置的 IAM 允许政策返回查看者,但并不用于搜索从项目父级资源继承的允许政策。
gcloud
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="roles:roles/viewer" \
--asset-types=cloudresourcemanager.* \
--flatten="policy.bindings[].members[]" \
--format="table(policy.bindings.members)"
请提供以下值:
SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetTypes": "cloudresourcemanager.*",
"pageSize": PAGE_SIZE,
"query": "roles:roles/viewer"
}' \
https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出用户具有 Owner 角色的项目
此调用会返回其直接 IAM 允许政策指定用户和所有者角色的项目,但不适用于搜索从项目父级资源继承的允许政策。
gcloud
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="policy:(roles/owner USER_EMAIL_ADDRESS)" \
--asset-types=cloudresourcemanager.googleapis.com/Project \
--format="table(resource)"
请提供以下值:
SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
USER_EMAIL_ADDRESS
:您要查找的 Google Cloud 帐号的电子邮件地址。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetTypes": "cloudresourcemanager.googleapis.com/Project",
"pageSize": PAGE_SIZE,
"query": "policy:(roles/owner USER_EMAIL_ADDRESS)"
}' \
https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。USER_EMAIL_ADDRESS
:您要查找的 Google Cloud 帐号的电子邮件地址。SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出用户在项目中拥有的角色
此调用会返回 IAM 允许政策中直接针对项目设置的角色,但并不适用于搜索从项目父级资源继承的允许政策。
gcloud
gcloud asset search-all-iam-policies \
--scope=projects/PROJECT_ID \
--query="policy:USER_EMAIL_ADDRESS" \
--asset-types=cloudresourcemanager.googleapis.com/Project \
--flatten="policy.bindings[]" \
--format="table(policy.bindings.role)"
请提供以下值:
PROJECT_ID
:用户有权访问的项目的 ID。USER_EMAIL_ADDRESS
:您要查询其角色的用户的电子邮件地址。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetTypes": "cloudresourcemanager.googleapis.com/Project",
"pageSize": PAGE_SIZE,
"query": "policy:USER_EMAIL_ADDRESS"
}' \
https://cloudasset.googleapis.com/v1/projects/PROJECT_ID:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。USER_EMAIL_ADDRESS
:您要查询其角色的用户的电子邮件地址。PROJECT_ID
:用户有权访问的项目的 ID。
列出用户对项目拥有的权限
此调用会返回通过针对项目直接设置的 IAM 允许政策获取的用户权限,但不适用于搜索从项目父级资源继承的允许政策。
gcloud
gcloud asset search-all-iam-policies \
--scope=projects/PROJECT_ID \
--query="policy:USER_EMAIL_ADDRESS policy.role.permissions:\"\"" \
--asset-types=cloudresourcemanager.* \
--format="default(explanation.matchedPermissions)"
请提供以下值:
PROJECT_ID
:用户有权访问的项目的 ID。USER_EMAIL_ADDRESS
:您要查询其权限的用户的电子邮件地址。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetTypes": "cloudresourcemanager.*",
"pageSize": PAGE_SIZE,
"query": "policy:USER_EMAIL_ADDRESS policy.role.permissions:\"\""
}' \
https://cloudasset.googleapis.com/v1/projects/PROJECT_ID:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。USER_EMAIL_ADDRESS
:您要查询其权限的用户的电子邮件地址。PROJECT_ID
:用户有权访问的项目的 ID。
列出可以访问 Cloud Storage 存储桶的用户
gcloud
gcloud asset search-all-iam-policies \
--scope=projects/PROJECT_ID \
--query="policy.role.permissions:storage.buckets" \
--asset-types=cloudresourcemanager.* \
--flatten="policy.bindings[].members[]" \
--format="table(policy.bindings.members)"
请提供以下值:
PROJECT_ID
:用户有权访问的项目的 ID。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetTypes": "cloudresourcemanager.*",
"pageSize": PAGE_SIZE,
"query": "policy.role.permissions:storage.buckets"
}' \
https://cloudasset.googleapis.com/v1/projects/PROJECT_ID:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。PROJECT_ID
:用户有权访问的项目的 ID。
列出具有所有者角色的服务账号,以检测有风险的允许政策设置
gcloud
gcloud asset search-all-iam-policies \
--scope=organizations/ORGANIZATION_ID \
--query="policy:(roles/owner serviceAccount)" \
--flatten="policy.bindings[].members[]" \
--format="table(resource.segment(3):label=RESOURCE_TYPE, resource.basename():label=RESOURCE, policy.bindings.members)" |
grep serviceAccount
请提供以下值:
ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-s \
-d '{
"pageSize": PAGE_SIZE,
"query": "policy:(roles/owner serviceAccount)"
}' \
https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:searchAllIamPolicies |
sed 's/^\s*//' | grep serviceAccount
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出 Gmail 用户可访问的资源
gcloud
gcloud asset search-all-iam-policies \
--scope=organizations/ORGANIZATION_ID \
--query="policy:gmail.com" \
--flatten="policy.bindings[].members[]" \
--format="csv(resource, policy.bindings.role, policy.bindings.members)" |
grep @gmail.com
请提供以下值:
ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-s \
-d '{
"pageSize": PAGE_SIZE,
"query": "policy:gmail.com"
}' \
https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:searchAllIamPolicies |
sed 's/^\s*//' | grep @gmail.com
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出具有向整个网域授予的角色的资源
gcloud
gcloud asset search-all-iam-policies \
--scope=organizations/ORGANIZATION_ID \
--query="policy:\"domain:DOMAIN_NAME\"" \
--flatten="policy.bindings[]" \
--format="table(resource, policy.bindings.role)"
请提供以下值:
ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
DOMAIN_NAME
:与您的组织关联的域名。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-s \
-d '{
"pageSize": PAGE_SIZE,
"query": "policy:\"domain:DOMAIN_NAME\""
}' \
https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。DOMAIN_NAME
:与您的组织关联的域名。ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出具有向公众授予角色的资源
gcloud
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="memberTypes:(allUsers OR allAuthenticatedUsers)" \
--format="table(resource)"
请提供以下值:
SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-s \
-d '{
"pageSize": PAGE_SIZE,
"query": "memberTypes:(allUsers OR allAuthenticatedUsers)"
}' \
https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies |
sed 's/^\s*//' | grep \"resource\":
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。SCOPE
:范围可以是项目、文件夹或组织。允许使用的值包括:
projects/PROJECT_ID
projects/PROJECT_NUMBER
如何查找 Google Cloud 项目编号
控制台
如需查找 Google Cloud 项目编号,请完成以下步骤:
-
前往 Google Cloud 控制台中的信息中心页面。
- 点击菜单栏中的切换器框。
- 从请选择:框中选择您的组织,然后搜索项目名称。
- 点击项目名称以切换到该项目。项目编号会显示在项目信息卡片中。
gcloud CLI
您可以使用以下命令检索 Google Cloud 项目编号:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
如何查找 Google Cloud 文件夹 ID
控制台
如需查找 Google Cloud 文件夹 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 搜索您的文件夹名称。文件夹 ID 会显示在文件夹名称旁边。
gcloud CLI
您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
其中,TOP_LEVEL_FOLDER_NAME 可以是完整的字符串匹配,也可以是部分字符串匹配。移除
--format
选项可查看有关所找到文件夹的更多信息。要获取其他文件夹中的文件夹的 ID,请列出子文件夹:
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
列出可以更改项目、文件夹或组织的 IAM 允许政策的用户/群组
gcloud
gcloud asset search-all-iam-policies \
--scope=organizations/ORGANIZATION_ID \
--query="policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)" \
--format="json(resource, policy.bindings, explanation.matchedPermissions)"
请提供以下值:
ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-s \
-d '{
"pageSize": PAGE_SIZE,
"query": "policy.role.permissions:(resourcemanager.organizations.setIamPolicy OR resourcemanager.folders.setIamPolicy OR resourcemanager.projects.setIamPolicy)"
}' \
https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_ID:searchAllIamPolicies
请提供以下值:
PAGE_SIZE
:可选。每页返回的结果数。最大值是 2000。如果值设为0
或负值,将选择相应的默认值。系统会返回nextPageToken
以检索后续结果。ORGANIZATION_ID
:您要列出其允许政策的组织的 ID。如何查找 Google Cloud 组织 ID
控制台
如需查找 Google Cloud 组织 ID,请完成以下步骤:
-
转到 Google Cloud 控制台。
- 点击菜单栏中的切换器框。
- 点击请选择:复选框,然后选择您的组织。
- 点击全部标签页。组织 ID 显示在组织名称旁边。
gcloud CLI
您可以使用以下命令检索 Google Cloud 组织 ID:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-