管理和导出数据分析

本页介绍了如何列出、描述、关闭、恢复和导出数据分析。

所需的角色和权限

如需获得管理和导出数据分析所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含管理和导出数据分析所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

必须拥有以下权限才能管理和导出分析洞见:

  • recommender.computeFirewallInsights.list
  • recommender.computeFirewallInsights.update

您也可以使用自定义角色或其他预定义角色来获取这些权限。

列出针对一个项目的数据分析

如需列出项目的数据分析,请执行以下操作:

gcloud

使用 gcloud recommender insights list 命令

gcloud recommender insights list \
    --project=PROJECT_ID \
    --location=global \
    --insight-type=google.compute.firewall.Insight \
    --filter=EXPRESSION \
    --limit=LIMIT \
    --page-size=PAGE_SIZE \
    --sort-by=SORT_BY \
    --format=json

PROJECT_ID 替换为您要列出其数据分析的项目 ID。

location 标志始终使用名为 global 的位置。insight-type 标志始终使用名为 google.compute.firewall.Insight 的数据分析类型。除非您使用 JSON 格式化输出,否则命令输出将以表格形式显示。

以下字段是可选的:

  • EXPRESSION:将此布尔过滤条件应用于您要列出的每个资源。

    如果表达式的计算结果为 True,则系统会列出相应项。如需了解详情以及过滤条件表达式的示例,请运行 $ gcloud topic filters 或查看 gcloud topic filters 文档

  • LIMIT:要列出的资源数上限;列出的默认资源数量不受限制

  • PAGE_SIZE:每页列出的资源数上限

    默认页大小由服务确定,否则不进行分页。可以在 FILTERLIMIT 之前或之后应用分页。

  • SORT_BY:对资源排序所依据的以英文逗号分隔的字段键名称列表

    默认顺序是升序。如需指定降序,请在相应字段前面加上 ~(波浪号)。

API

projects.locations.insightTypes.insights 方法发出 GET 请求:

GET https://recommender.googleapis.com/v1/{parent=projects/*/locations/global/insightTypes/*}/insights

以下示例展示了此命令的示例响应:

insights {
"name": "projects/{project_number}/locations/global/insightTypes/google.compute.firewall.Insight/insights/{insight-id}"
"description": "Firewall projects/{project_id}/global/firewalls/{shadowed_firewall_name} is shadowed by projects/{project_id}/global/firewalls/{shadowing_firewall_name}."
"content": {
  "shadowingFirewalls": [
    "//compute.googleapis.com/projects/{project_id}/global/firewalls/{shadowing_firewall_name1}"
  ]
},
"lastRefreshTime": "2020-04-01T19:16:43Z",
"observationPeriod": "0s",
"stateInfo" {
 "state": "ACTIVE"
}
"category": "SECURITY"
"targetResources":[
 "//compute.googleapis.com/projects/{project_id}/global/firewalls/{shadowed_firewall_name}"
 ],
"insightSubtype": "SHADOWED_RULE"
}

描述数据分析

如需详细说明项目中特定防火墙规则的相关信息,请执行以下操作:

gcloud

使用 gcloud recommender insights describe 命令

gcloud recommender insights describe INSIGHT_ID \
    --project=PROJECT_NAME \
    --location=global \
    --insight-type=google.compute.firewall.Insight

请替换以下内容:

  • INSIGHT_ID:要描述的数据分析 ID
  • PROJECT_NAME:您要列出其数据分析的项目的名称

location 标志始终使用名为 global 的位置。insight-type 标志始终使用名为 google.compute.firewall.Insight 的数据分析类型。

API

projects.locations.insightTypes.insights 方法发出 GET 请求:

GET
https://recommender.googleapis.com/v1/{name=projects/*/locations/global/insightTypes/*/insights/*}
{
 "name": projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE_ID/insights/INSIGHT_ID,
}

请替换以下内容:

  • PROJECT_ID:项目 ID
  • LOCATION:始终使用名为 global 的位置
  • INSIGHT_TYPE_ID:始终使用值 google.compute.firewall.Insight
  • INSIGHT_ID:数据分析的 ID

将数据分析标记为已忽略

如果所有数据分析都没有意义,或者如果您出于任何其他原因想要隐藏它,则可以忽略它。忽略数据分析后,除非您将其恢复,否则 Google Cloud 控制台将不再向您或其他用户显示该数据分析。

如需将数据分析标记为“已忽略”,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 找到相应的卡片,然后点击查看完整列表

  3. 选择要忽略的规则,然后点击忽略

恢复已忽略的数据分析

如果您忽略了后来认为相关的数据分析,您或其他用户可以恢复它并使其在 Google Cloud 控制台中可见。

如需恢复已关闭的数据分析,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 点击忽略历史记录。在响应中,Google Cloud 控制台会显示已忽略的数据分析页面。

  3. 选择要恢复的数据分析,然后点击恢复

导出数据分析

如果需要,您可以使用 CSV 或 JSON 格式导出被覆盖的规则数据分析和过于宽松的规则数据分析。Deny rules with hits 信息无法导出,因为它基于防火墙 Stackdriver 指标,而非数据分析。

出于以下原因,您可能需要导出数据分析:

  • 您需要将数据导入另一系统。
  • 您希望离线访问数据。
  • 您打算停用防火墙数据分析,但希望保留对以前生成的数据分析的访问权限。

如需导出数据分析,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,进入防火墙数据分析页面。

    转到“防火墙数据分析”

  2. 点击另存为

  3. 按照提示选择数据分析格式并下载。

您还可以将数据分析导出到 BigQuery。将数据分析导出到 BigQuery 后,您可以查看组织的分析数据的每日快照。如需了解详情,请参阅将建议导出到 BigQuery

后续步骤