本页面介绍如何创建、管理和运行已保存的政策分析器查询。您可以为一个资产创建最多 200 个已保存的查询。此限制不包括其子项已保存的查询。例如,如果您的组织下有 10 个项目,每个项目最多可以有 200 个已保存的查询,并且该组织最多可以有 200 个已保存的查询。
准备工作
-
Enable the Cloud Asset API.
所需的角色
如需获得创建和管理已保存查询所需的权限,请让管理员向您授予要将查询保存到的项目、文件夹或组织的 Cloud Asset Owner (roles/cloudasset.owner
) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含创建和管理已保存查询所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需创建和管理已保存的查询,需要具备以下权限:
-
cloudasset.savedqueries.create
-
cloudasset.savedqueries.delete
-
cloudasset.savedqueries.get
-
cloudasset.savedqueries.list
-
cloudasset.savedqueries.update
创建已保存的查询
如需在父级项目、文件夹或组织中创建已保存的政策分析器查询,请使用 gcloud asset saved-queries create
命令。
在使用下面的命令数据之前,请先进行以下替换:
-
SCOPE_RESOURCE_TYPE_PLURAL
:您要将搜索范围限定为的资源类型(复数形式)。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。使用值projects
、folders
或organizations
。 -
SCOPE_RESOURCE_ID
:您要将搜索范围限定为的 Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。 -
FULL_RESOURCE_NAME
:可选。要分析其访问权限的资源的完整资源名称。如需完整的资源名称格式列表,请参阅资源名称格式。 PRINCIPAL
:可选。 您要分析其访问权限的主账号,格式为PRINCIPAL_TYPE:ID
,例如user:my-user@example.com
。如需查看主账号类型的完整列表,请参阅主账号标识符。PERMISSION_1
、PERMISSION_2
...PERMISSION_N
:可选。您要检查的权限,例如compute.instances.get
。如果您列出了多个权限,政策分析器会检查列出的任何权限。-
QUERY_ID
:要为已保存的查询使用的 ID,该 ID 在指定的父级资源(项目、文件夹或组织)中必须是唯一的。您可以在查询 ID 中使用字母、数字和连字符。 -
RESOURCE_TYPE
:要为其保存查询的资源类型。 使用值project
、folder
或organization
。 -
RESOURCE_ID
:您要为其保存查询的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 可以是字母数字或数字。文件夹和组织 ID 是数字。 -
LABEL_KEY
和LABEL_VALUE
:可选。 要附加到查询的键值对的逗号分隔列表,可用于搜索和列表操作。每个已保存的查询最多可包含 10 个标签。 DESCRIPTION
:可选。用于描述查询的字符串。
将以下内容保存在名为 request.json
的文件中:
{ "IamPolicyAnalysisQuery": { "scope": "SCOPE_RESOURCE_TYPE_PLURAL /SCOPE_RESOURCE_ID ", "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME " }, "identitySelector": { "identity": "PRINCIPAL " }, "accessSelector": { "permissions": [ "PERMISSION_1 ", "PERMISSION_2 ", "PERMISSION_N " ] } } }
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud asset saved-queries create \QUERY_ID \ --RESOURCE_TYPE =RESOURCE_ID \ --query-file-path=request.json \ --labels="LABEL_KEY =LABEL_VALUE " \ --description="DESCRIPTION "
Windows (PowerShell)
gcloud asset saved-queries create `QUERY_ID ` --RESOURCE_TYPE =RESOURCE_ID ` --query-file-path=request.json ` --labels="LABEL_KEY =LABEL_VALUE " ` --description="DESCRIPTION "
Windows (cmd.exe)
gcloud asset saved-queries create ^QUERY_ID ^ --RESOURCE_TYPE =RESOURCE_ID ^ --query-file-path=request.json ^ --labels="LABEL_KEY =LABEL_VALUE " ^ --description="DESCRIPTION "
响应包含已保存的查询。例如,可能如下所示:
content: iamPolicyAnalysisQuery: resourceSelector: fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project identitySelector: identity: user:my-user@example.com scope: projects/scope-project createTime: '2022-04-18T22:47:25.640783Z' description: A query checking what permissions my-user@example.com has on my-project labels: user: my-user lastUpdateTime: '2022-04-18T22:47:25.640783Z' name: projects/12345678901/savedQueries/my-query
如需在父级项目、文件夹或组织中创建已保存的政策分析器查询,请使用 Cloud Asset Inventory API 的 savedQueries.create
方法。
在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:要为其保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_ID
:您要为其保存查询的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 可以是字母数字或数字。文件夹和组织 ID 是数字。 -
QUERY_ID
:要为已保存的查询使用的 ID,该 ID 在指定的父级资源(项目、文件夹或组织)中必须是唯一的。您可以在查询 ID 中使用字母、数字和连字符。 -
SCOPE_RESOURCE_TYPE
:您要将搜索范围限定为哪种资源的类型。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。使用值projects
、folders
或organizations
。 -
SCOPE_RESOURCE_ID
:您要将搜索范围限定为的 Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。 -
FULL_RESOURCE_NAME
:可选。要分析其访问权限的资源的完整资源名称。如需完整的资源名称格式列表,请参阅资源名称格式。 PRINCIPAL
:可选。 您要分析其访问权限的主账号,格式为PRINCIPAL_TYPE:ID
,例如user:my-user@example.com
。如需查看主账号类型的完整列表,请参阅主账号标识符。PERMISSION_1
、PERMISSION_2
...PERMISSION_N
:可选。您要检查的权限,例如compute.instances.get
。如果您列出了多个权限,政策分析器会检查列出的任何权限。-
LABEL_KEY
和LABEL_VALUE
:可选。 要附加到查询的键值对,可用于搜索和列表操作。每个已保存的查询最多可包含 10 个标签。 DESCRIPTION
:可选。用于描述查询的字符串。
HTTP 方法和网址:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_ID /savedQueries?savedQueryId=QUERY_ID
请求 JSON 正文:
{ "content": { "iamPolicyAnalysisQuery": { "scope": "SCOPE_RESOURCE_TYPE /SCOPE_RESOURCE_ID ", "resourceSelector": { "fullResourceName": "FULL_RESOURCE_NAME " }, "identitySelector": { "identity": "PRINCIPAL " }, "accessSelector": { "permissions": [ "PERMISSION_1 ", "PERMISSION_2 ", "PERMISSION_N " ] } } }, "labels": { "LABEL_KEY ": "LABEL_VALUE " }, "description": "DESCRIPTION " }
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_ID /savedQueries?savedQueryId=QUERY_ID "
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_ID /savedQueries?savedQueryId=QUERY_ID " | Select-Object -Expand Content
APIs Explorer(浏览器)
复制请求正文并打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
响应包含已保存的查询。例如,可能如下所示:
{ "name": "projects/12345678901/savedQueries/my-query", "description": "A query checking what permissions my-user@example.com has on my-project", "createTime": "2022-04-18T22:47:25.640783Z", "lastUpdateTime": "2022-04-18T22:47:25.640783Z", "labels": { "user": "my-user" }, "content": { "iamPolicyAnalysisQuery": { "scope": "projects/scope-project", "resourceSelector": { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" }, "identitySelector": { "identity": "user:my-user@example.com" } } } }
运行已保存的查询
如需运行已保存的分析查询,请使用 gcloud asset analyze-iam-policy
命令。
在使用下面的命令数据之前,请先进行以下替换:
-
SCOPE_RESOURCE_TYPE
:您要将搜索范围限定为哪种资源的类型。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。使用值project
、folder
或organization
。 -
SCOPE_RESOURCE_ID
:您要将搜索范围限定为的 Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。 -
RESOURCE_TYPE_PLURAL
:保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_NUM_ID
:保存查询的 Google Cloud 项目、文件夹或组织的数字 ID。您无法使用字母数字项目 ID 来标识项目,必须使用项目编号。 QUERY_ID
:您要使用的已保存查询的 ID。
执行 gcloud asset analyze-iam-policy 命令:
Linux、macOS 或 Cloud Shell
gcloud asset analyze-iam-policy \ --SCOPE_RESOURCE_TYPE =SCOPE_RESOURCE_ID \ --saved-analysis-query=RESOURCE_TYPE_PLURAL /RESOURCE_NUM_ID /savedQueries/QUERY_ID
Windows (PowerShell)
gcloud asset analyze-iam-policy ` --SCOPE_RESOURCE_TYPE =SCOPE_RESOURCE_ID ` --saved-analysis-query=RESOURCE_TYPE_PLURAL /RESOURCE_NUM_ID /savedQueries/QUERY_ID
Windows (cmd.exe)
gcloud asset analyze-iam-policy ^ --SCOPE_RESOURCE_TYPE =SCOPE_RESOURCE_ID ^ --saved-analysis-query=RESOURCE_TYPE_PLURAL /RESOURCE_NUM_ID /savedQueries/QUERY_ID
响应包含对指定资源运行已保存查询的结果。如需查看查询结果示例,请参阅分析 IAM 政策。
如需运行已保存的分析查询,请使用 Cloud Asset Inventory API 的 analyzeIamPolicy
方法。
在使用任何请求数据之前,请先进行以下替换:
-
SCOPE_RESOURCE_TYPE
:您要将搜索范围限定为哪种资源的类型。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。使用值projects
、folders
或organizations
。 -
SCOPE_RESOURCE_ID
:您要将搜索范围限定为的 Google Cloud 项目、文件夹或组织的 ID。系统只会分析附加到此资源及其后代资源的 IAM 允许政策。项目 ID 是字母数字字符串,例如my-project
。文件夹和组织 ID 是数字,例如123456789012
。 -
RESOURCE_TYPE
:保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_NUM_ID
:保存查询的 Google Cloud 项目、文件夹或组织的数字 ID。您无法使用字母数字项目 ID 来标识项目,必须使用项目编号。 QUERY_ID
:您要使用的已保存查询的 ID。
HTTP 方法和网址:
POST https://cloudasset.googleapis.com/v1/SCOPE_RESOURCE_TYPE /SCOPE_RESOURCE_ID :analyzeIamPolicy
请求 JSON 正文:
{ "savedAnalysisQuery": "RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID " }
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-HTTP-Method-Override: GET" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudasset.googleapis.com/v1/SCOPE_RESOURCE_TYPE /SCOPE_RESOURCE_ID :analyzeIamPolicy"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "X-HTTP-Method-Override" = "GET" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudasset.googleapis.com/v1/SCOPE_RESOURCE_TYPE /SCOPE_RESOURCE_ID :analyzeIamPolicy" | Select-Object -Expand Content
APIs Explorer(浏览器)
复制请求正文并打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
响应包含对指定资源运行已保存查询的结果。如需查看查询结果示例,请参阅分析 IAM 政策。
获取已保存的查询
如需获取已保存的政策分析器查询,请使用 gcloud asset saved-queries get
命令。
在使用下面的命令数据之前,请先进行以下替换:
-
QUERY_ID
:您要获取的已保存查询的 ID。 -
RESOURCE_TYPE
:保存查询的资源类型。 使用值project
、folder
或organization
。 -
RESOURCE_ID
:保存查询的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 可以是字母数字或纯数字。文件夹和组织 ID 是数字。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud asset saved-queries describeQUERY_ID --RESOURCE_TYPE =RESOURCE_NUM_ID
Windows (PowerShell)
gcloud asset saved-queries describeQUERY_ID --RESOURCE_TYPE =RESOURCE_NUM_ID
Windows (cmd.exe)
gcloud asset saved-queries describeQUERY_ID --RESOURCE_TYPE =RESOURCE_NUM_ID
响应包含已保存的查询。例如,可能如下所示:
content: iamPolicyAnalysisQuery: resourceSelector: fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project identitySelector: identity: user:my-user@example.com scope: projects/scope-project createTime: 2022-04-18T22:47:25.640783Z description: A query checking what permissions my-user@example.com has on my-project labels: user: my-user lastUpdateTime: 2022-04-18T22:47:25.640783Z name: projects/12345678901/savedQueries/my-query
如需获取已保存的 Policy Analyzer 查询,请使用 Cloud Asset Inventory API 的 savedQueries.get
方法。
在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_NUM_ID
:保存查询的 Google Cloud 项目、文件夹或组织的数字 ID。您无法使用字母数字项目 ID 来标识项目,必须使用项目编号。 -
QUERY_ID
:您要获取的已保存查询的 ID。
HTTP 方法和网址:
GET https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-HTTP-Method-Override: GET" \
"https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID "
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "X-HTTP-Method-Override" = "GET" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID " | Select-Object -Expand Content
APIs Explorer(浏览器)
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
响应包含已保存的查询。例如,可能如下所示:
{ "name": "projects/12345678901/savedQueries/my-query", "description": "A query checking what permissions my-user@example.com has on my-project", "createTime": "2022-04-18T22:47:25.640783Z", "lastUpdateTime": "2022-04-18T22:47:25.640783Z", "labels": { "user": "my-user" }, "content": { "iamPolicyAnalysisQuery": { "scope": "projects/scope-project", "resourceSelector": { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" }, "identitySelector": { "identity": "user:my-user@example.com" } } } }
列出已保存的查询
如需列出项目、文件夹或组织中的所有已保存的政策分析器查询,请使用 gcloud asset saved-queries list
命令。
在使用下面的命令数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:保存查询的资源类型。 使用值project
、folder
或organization
。 -
RESOURCE_ID
:您要为其列出已保存查询的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 可以是字母数字或数字。文件夹和组织 ID 是数字。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud asset saved-queries list --RESOURCE_TYPE =RESOURCE_ID
Windows (PowerShell)
gcloud asset saved-queries list --RESOURCE_TYPE =RESOURCE_ID
Windows (cmd.exe)
gcloud asset saved-queries list --RESOURCE_TYPE =RESOURCE_ID
响应包含项目、文件夹或组织的所有已保存的政策分析器查询。 例如,可能如下所示:
savedQueries: - content: iamPolicyAnalysisQuery: resourceSelector: fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project identitySelector: identity: user:my-user@example.com scope: projects/scope-project createTime: '2022-04-15T21:17:33.777212Z' description: A query checking what permissions my-user@example.com has on my-project labels: missing-info: permissions lastUpdateTime: '2022-04-15T21:17:33.777212Z' name: projects/12345678901/savedQueries/query-1 - content: iamPolicyAnalysisQuery: accessSelector: permissions: - iam.roles.get - iam.roles.list identitySelector: identity: user:my-user@example.com scope: projects/scope-project createTime: '2022-04-18T22:47:25.640783Z' description: A query checking what resources my-user@example.com has permission to view roles on labels: missing-info: resource lastUpdateTime: '2022-04-18T22:47:25.640783Z' name: projects/12345678901/savedQueries/query-2
如需列出项目、文件夹或组织中所有已保存的政策分析器查询,请使用 Cloud Asset Inventory API 的 savedQueries.list
方法。
在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_ID
:您要为其列出已保存查询的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 可以是字母数字或数字。文件夹和组织 ID 是数字。
HTTP 方法和网址:
GET https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_ID /savedQueries
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-HTTP-Method-Override: GET" \
"https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_ID /savedQueries"
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "X-HTTP-Method-Override" = "GET" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_ID /savedQueries" | Select-Object -Expand Content
APIs Explorer(浏览器)
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
响应包含项目、文件夹或组织的所有已保存的政策分析器查询。 例如,可能如下所示:
{ "savedQueries": [ { "name": "projects/12345678901/savedQueries/query-1", "description": "A query checking what permissions my-user@example.com has on my-project", "createTime": "2022-04-15T21:17:33.777212Z", "lastUpdateTime": "2022-04-15T21:17:33.777212Z", "labels": { "missing-info": "permission" }, "content": { "iamPolicyAnalysisQuery": { "scope": "projects/scope-project", "resourceSelector": { "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project" }, "identitySelector": { "identity": "user:my-user@example.com" } } } }, { "name": "projects/12345678901/savedQueries/query-2", "description": "A query checking what resources my-user@example.com has permission to view roles on", "createTime": "2022-04-18T22:47:25.640783Z", "lastUpdateTime": "2022-04-18T22:47:25.640783Z", "labels": { "missing-info": "resource" }, "content": { "iamPolicyAnalysisQuery": { "scope": "projects/scope-project", "accessSelector": { "permissions": [ "iam.roles.get", "iam.roles.list" ] }, "identitySelector": { "identity": "user:my-user@example.com" } } } } ] }
更新已保存的查询
如需更新已保存的政策分析器查询,请使用 gcloud asset saved-queries update
命令。
在使用下面的命令数据之前,请先进行以下替换:
UPDATED_QUERY
:可选。您要保存的更新后的政策分析器查询。如需了解如何设置查询格式,请参阅创建已保存的查询。-
RESOURCE_TYPE
:保存查询的资源类型。 使用值project
、folder
或organization
。 -
QUERY_ID
:您要修改的已保存查询的 ID。 -
RESOURCE_ID
:保存查询的 Google Cloud 项目、文件夹或组织的 ID。项目 ID 可以是字母数字或纯数字。文件夹和组织 ID 是数字。 -
UPDATED_LABELS
:可选。您要附加到已保存的查询的更新后的标签。您还可以使用--remove-labels="KEY_1,KEY_2"
标志移除标签,或使用--clear-labels
标志清除所有标签。 UPDATED_DESCRIPTION
:可选。已保存的查询的更新版说明。
将以下内容保存在名为 request.json
的文件中:
{ "IamPolicyAnalysisQuery": {UPDATED_QUERY } }
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud asset saved-queries update \QUERY_ID \ --RESOURCE_TYPE =RESOURCE_ID \ --query-file-path=request.json \ --update-labels="UPDATED_LABELS " \ --description="DESCRIPTION "
Windows (PowerShell)
gcloud asset saved-queries update `QUERY_ID ` --RESOURCE_TYPE =RESOURCE_ID ` --query-file-path=request.json ` --update-labels="UPDATED_LABELS " ` --description="DESCRIPTION "
Windows (cmd.exe)
gcloud asset saved-queries update ^QUERY_ID ^ --RESOURCE_TYPE =RESOURCE_ID ^ --query-file-path=request.json ^ --update-labels="UPDATED_LABELS " ^ --description="DESCRIPTION "
响应中包含更新后的查询。
如需更新已保存的 Policy Analyzer 查询,请使用 Cloud Asset Inventory API 的 savedQueries.patch
方法。
在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_NUM_ID
:保存查询的 Google Cloud 项目、文件夹或组织的数字 ID。您无法使用字母数字项目 ID 来标识项目,必须使用项目编号。 -
QUERY_ID
:您要修改的已保存查询的 ID。 -
UPDATED_FIELDS
:要更新的字段的英文逗号分隔列表。例如,如果您要更新内容、标签和说明字段,则应使用值content,labels,description
。 UPDATED_QUERY
:可选。您要保存的更新后的政策分析器查询。如需了解如何设置查询格式,请参阅创建已保存的查询。-
UPDATED_LABELS
:可选。您要附加到已保存的查询的更新后的标签。 UPDATED_DESCRIPTION
:可选。已保存的查询的更新版说明。
HTTP 方法和网址:
POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID ?update_mask=UPDATED_FIELDS
请求 JSON 正文:
{ "content": { "iamPolicyAnalysisQuery": {UPDATED_QUERY }, "labels": {UPDATED_LABELS }, "description": "UPDATED_DESCRIPTION " }
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-HTTP-Method-Override: GET" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID ?update_mask=UPDATED_FIELDS "
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "X-HTTP-Method-Override" = "GET" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID ?update_mask=UPDATED_FIELDS " | Select-Object -Expand Content
APIs Explorer(浏览器)
复制请求正文并打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 将请求正文粘贴到此工具中,填写任何其他必填字段,然后点击执行。
响应中包含更新后的查询。
删除已保存的查询
如需删除已保存的政策分析器查询,请使用 gcloud asset saved-queries delete
命令。
在使用下面的命令数据之前,请先进行以下替换:
-
QUERY_ID
:您要删除的已保存查询的 ID。 -
RESOURCE_TYPE
:保存查询的资源类型。 使用值project
、folder
或organization
。 -
RESOURCE_NUM_ID
:保存查询的 Google Cloud 项目、文件夹或组织的数字 ID。您无法使用字母数字项目 ID 来标识项目,必须使用项目编号。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud asset saved-queries delete \QUERY_ID \ --RESOURCE_TYPE =RESOURCE_NUM_ID
Windows (PowerShell)
gcloud asset saved-queries delete `QUERY_ID ` --RESOURCE_TYPE =RESOURCE_NUM_ID
Windows (cmd.exe)
gcloud asset saved-queries delete ^QUERY_ID ^ --RESOURCE_TYPE =RESOURCE_NUM_ID
如需删除已保存的 Policy Analyzer 查询,请使用 Cloud Asset Inventory API 的 savedQueries.delete
方法。
在使用任何请求数据之前,请先进行以下替换:
-
RESOURCE_TYPE
:保存查询的资源类型。 使用值projects
、folders
或organizations
。 -
RESOURCE_NUM_ID
:保存查询的 Google Cloud 项目、文件夹或组织的数字 ID。您无法使用字母数字项目 ID 来标识项目,必须使用项目编号。 -
QUERY_ID
:您要删除的已保存查询的 ID。
HTTP 方法和网址:
DELETE https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-HTTP-Method-Override: GET" \
"https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID "
PowerShell (Windows)
执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "X-HTTP-Method-Override" = "GET" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://cloudasset.googleapis.com/v1/RESOURCE_TYPE /RESOURCE_NUM_ID /savedQueries/QUERY_ID " | Select-Object -Expand Content
APIs Explorer(浏览器)
打开方法参考页面。APIs Explorer 面板会在页面右侧打开。您可以与此工具进行交互以发送请求。 填写所有必填字段,然后点击执行。
如果成功删除查询,API 会返回一个空响应。