本页面包含适用于各种 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
键,以获取更具体的 资源。
使用“example”列出具有 IAM 允许政策的资源在政策名称中
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。
列出具有 Owner 角色的服务账号,以检测有风险的允许政策设置
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))"
-