本页面介绍如何使用适用于 BigQuery 的 Security Command Center 导出功能将新的和更新后的发现结果流式传输到 BigQuery 数据集。现有发现结果不会更新到 BigQuery,除非对其进行更新。
BigQuery 是 Google Cloud 的全代管式 PB 级经济实惠的分析数据仓库,可让您近乎实时地分析大量数据。您可以使用 BigQuery 对新发现和更新后的发现结果运行查询,过滤数据以查找所需内容,并生成自定义报告。如需详细了解 BigQuery,请参阅 BigQuery 文档。
概览
启用此功能后,写入到 Security Command Center 的新发现结果将近乎实时地导出到 BigQuery 表。然后,您可以将这些数据集成到现有工作流中并创建自定义分析。您可以在组织、文件夹和项目级层启用此功能,以根据您的需要导出发现结果。
此功能是将 Security Command Center 发现结果导出到 BigQuery 的推荐方法,因为它是全代管式的,不需要执行手动操作或编写自定义代码。
数据集结构
此功能会将每个新发现结果及其后续更新添加为 findings
表中的新行,该表按 source_id
、finding_id
和 event_time
聚簇。
发现结果更新后,此功能会创建具有相同 source_id
和 finding_id
值但具有不同 event_time
值的多个发现结果记录。通过此数据集结构,您可以查看每个发现结果的状态随时间的变化。
请注意,您的数据集中可能存在重复条目。如需对其进行解析,您可以使用 DISTINCT
子句,如第一个示例查询所示。
每个数据集包含一个 findings
表,其中包含以下字段:
字段 | 说明 |
---|---|
source_id |
Security Command Center 分配给 发现结果来源的唯一标识符。 例如,来自 Cloud Anomaly Detection 来源的所有发现结果都具有相同的 source_id 值。 示例: |
finding_id | 表示发现结果的唯一标识符。该标识符在组织来源范围内是唯一的。它由字母数字构成,并且少于或等于 32 个字符。 |
event_time |
事件发生的时间或发现结果的更新时间。例如,如果发现结果表明防火墙打开,则 示例: |
finding |
被提取到 Security Command Center 以进行展示、通知、分析、政策测试和实施的评估数据(如安全、风险、运行状况或隐私)记录。例如,App Engine 应用中的跨站脚本攻击 (XSS) 漏洞是一个发现结果。
如需详细了解嵌套字段,请参阅
|
资源 |
与此发现结果关联的 Google Cloud 资源的相关信息。
如需详细了解嵌套字段,请参阅
|
费用
您需要支付与此功能相关的 BigQuery 费用。如需了解详情,请参阅 BigQuery 价格。
准备工作
您必须先完成以下步骤,然后才能启用此功能。
设置权限
如需完成本指南,您必须拥有以下 Identity and Access Management (IAM) 角色:
在要从中导出发现结果的组织、文件夹或项目中,拥有以下角色之一:
- Security Center BigQuery Exports Editor (
roles/securitycenter.bigQueryExportsEditor
)。 - Security Center Admin (
roles/securitycenter.admin
)。
如需详细了解 Security Command Center 角色,请参阅访问权限控制。
- Security Center BigQuery Exports Editor (
在 BigQuery 数据集中,BigQuery Data Owner (
roles/bigquery.dataOwner
)。
创建 BigQuery 数据集
创建 BigQuery 数据集。如需了解详情,请参阅创建数据集。
规划数据驻留
如果为 Security Command Center 启用了数据驻留,则用于定义将数据流式导出到 BigQuery 的配置(BigQueryExport
资源)将受数据驻留控制,并存储在您选择的 Security Command Center 位置中。
如需将 Security Command Center 位置中的发现结果导出到 BigQuery,您必须在与发现结果相同的 Security Command Center 位置中配置 BigQuery 导出。
由于 BigQuery 导出中使用的过滤器可能会包含受居住地控制的数据,因此请务必先指定正确的位置,然后再创建过滤器。Security Command Center 不会限制您在哪个位置创建导出内容。
BigQuery Export 仅存储在其创建的位置,无法在其他位置查看或修改。
创建 BigQuery Export 后,您无法更改其位置。如需更改位置,您需要删除 BigQuery Export 文件,然后在新位置重新创建该文件。
如需使用 API 调用检索 BigQuery 导出内容,您需要在 bigQueryExport
的完整资源名称中指定位置。例如:
GET https://securitycenter.googleapis.com/v2/organizations/123/locations/eu/bigQueryExports/my-export-01
同样,如需使用 gcloud CLI 检索 BigQuery 导出内容,您需要使用 --location
标志指定位置。例如:
gcloud scc bqexports get myBigQueryExport --organization=123 \
--location=us
将发现结果从 Security Command Center 导出到 BigQuery
如需导出发现结果,请先启用 Security Command Center API。
启用 Security Command Center API
要启用 Security Command Center API,请执行以下操作:
转到 Google Cloud 控制台中的“API 库”页面。
选择要启用 Security Command Center API 的项目。
在搜索框中,输入
Security Command Center
,然后点击搜索结果中的 Security Command Center。在随即显示的 API 页面上,点击启用。
您的项目已启用 Security Command Center API。接下来,您将使用 gcloud CLI 创建到 BigQuery 的新导出配置。
在 VPC Service Controls 中授予边界访问权限
如果您使用 VPC Service Controls,并且 BigQuery 数据集属于服务边界内的项目,则必须授予对项目的访问权限,以便导出发现结果。
如需授予对项目的访问权限,请为导出发现结果的主账号和项目创建入站和出站规则。这些规则允许访问受保护的资源,并可让 BigQuery 验证用户是否具有对 BigQuery 数据集的 setIamPolicy
权限。
设置到 BigQuery 的新导出之前的准备工作
转到 Google Cloud 控制台中的 VPC Service Controls 页面。
如有必要,请选择您的组织。
点击要更改的服务边界的名称。
如需查找您需要修改的服务边界,您可以查看日志中是否存在显示
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
违规行为的条目。在这些条目中,检查servicePerimeterName
字段:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
。点击修改边界。
在导航菜单中,点击入站流量政策。
如需为用户或服务账号配置入站流量规则,请使用以下参数:
- API 客户端的 FROM 特性:
- 在身份菜单中,选择选定的身份。
- 在来源菜单中,选择所有来源。
- 点击选择,然后输入用于调用 Security Command Center API 的主账号。
- Google Cloud 服务/资源的 TO 属性:
- 在项目菜单中,选择所选项目。
- 点击选择,然后输入 BigQuery 数据集所属的项目。
- 在服务菜单中,选择选定的服务,然后选择 BigQuery API。
- 在方法菜单中,选择所有操作。
- API 客户端的 FROM 特性:
点击保存。
在导航菜单中,点击出站流量政策。
点击添加规则 (Add Rule)。
如需为用户或服务账号配置出站流量规则,请输入以下参数:
- API 客户端的 FROM 特性:
- 在身份菜单中,选择选定的身份。
- 点击选择,然后输入用于调用 Security Command Center API 的主账号。
- Google Cloud 服务/资源的 TO 属性:
- 在项目菜单中,选择所有项目。
- 在服务菜单中,选择选定的服务,然后选择 BigQuery API。
- 在方法菜单中,选择所有操作。
- API 客户端的 FROM 特性:
点击保存。
设置到 BigQuery 的新导出
在此步骤中,您将创建一个导出配置,以将发现结果导出到 BigQuery 实例。您可以在项目、文件夹或组织级层创建导出配置。例如,如果您要将发现结果从项目导出到 BigQuery 数据集,则可以在项目级层创建导出配置,以仅导出与该项目相关的发现结果。(可选)您可以指定过滤条件,以便仅导出特定发现结果。
请务必在适当的级层创建导出配置。例如,如果您在项目 B 中创建导出配置,但从项目 A 中导出发现结果,并且定义了 resource.project_display_name: project-a-id
等过滤条件,则该配置不会导出任何发现结果。
您最多可以为组织创建 500 项到 BigQuery 的导出配置。您可以将同一数据集用于多项导出配置。如果您使用同一数据集,则系统会对同一发现结果表执行所有更新。
创建第一个导出配置时,系统会自动为您创建服务账号。必须使用此服务账号才能在数据集中创建或更新发现结果表,以及将发现结果导出到表中。该账号格式为 service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
,并且在 BigQuery 数据集级层被授予 BigQuery Data Editor (roles/bigquery.dataEditor
) 角色。
在 Google Cloud 控制台中,某些 BigQueryExport
资源可能带有旧版标签,这表示它们是使用 v1 Security Command Center API 创建的。您可以使用 Google Cloud 控制台、gcloud CLI、v1 Security Command Center API 或 Security Command Center 的 v1 客户端库管理这些 BigQueryExport
资源。
如需使用 gcloud CLI 管理这些 BigQueryExport
资源,您在运行 gcloud CLI 命令时不得指定位置。
gcloud
转到 Google Cloud 控制台。
选择启用了 Security Command Center API 的项目。
点击激活 Cloud Shell。
如需创建新的导出配置,请运行以下命令:
gcloud scc bqexports create BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
替换以下内容:
- 将
BIGQUERY_EXPORT
替换为此导出配置的名称。 - 将
DATASET_NAME
替换为 BigQuery 数据集的名称,例如projects/PROJECT_ID/datasets/DATASET_ID
。 - 将
FOLDER_ID
、ORGANIZATION_ID
或PROJECT_ID
替换为您的文件夹、组织或项目的名称。您必须设置其中一个选项。对于文件夹和组织,该名称是文件夹 ID 或组织 ID。对于项目,该名称是项目编号或项目 ID。 LOCATION
:如果数据驻留处于启用状态,则为创建导出配置的 Security Command Center 位置;如果数据驻留处于停用状态,则使用值global
。- 将
DESCRIPTION
替换为直观易懂的导出配置说明。此变量为可选项。 - 将
FILTER
替换为用于定义要导出的发现结果的表达式。例如,如果要过滤 XSS_SCRIPTING 类别,请输入"category=\"XSS_SCRIPTING\"
。此变量为可选项。
- 将
Java
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅 为本地开发环境设置身份验证。
Python
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅 为本地开发环境设置身份验证。
创建导出配置后,您应该会在大约 15 分钟内在 BigQuery 数据集中看到发现结果。创建 BigQuery 表后,与过滤条件和范围匹配的所有新发现结果和更新后的发现结果都将近乎实时地显示在该表中。
如需查看您的发现结果,请参阅查看发现结果。
为到 BigQuery 的新导出创建入站规则
如果您使用 VPC Service Controls,并且 BigQuery 数据集属于服务边界内的项目,则必须为到 BigQuery 的新导出创建入站规则。
重新打开设置到 BigQuery 的新导出中的服务边界。
点击入站流量政策。
点击添加规则 (Add Rule)。
如需为导出配置设置入站规则,请输入以下参数:
- API 客户端的 FROM 特性:
- 在来源下拉菜单中,选择所有来源。
- 在身份下拉菜单中,选择选定的身份。
- 点击选择,然后输入 BigQuery Export 配置服务账号的名称:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- GCP 服务/资源的 TO 特性:
- 在项目下拉菜单中,选择选定的项目。
- 点击选择,然后选择 BigQuery 数据集所属的项目。
- 在服务下拉菜单中,选择选定的服务,然后选择 BigQuery API。
- 在方法下拉菜单中,选择所有操作。
- API 客户端的 FROM 特性:
在导航菜单中,点击保存。
选定的项目、用户和服务账号现在可以访问受保护的资源并导出发现结果。
如果您已按照本指南中的所有步骤操作,并且导出正常工作,您现在可以删除以下内容:
- 主账号的入站规则
- 主账号的出站规则
这些规则仅在配置导出配置时才需要。但是,为了让导出配置继续正常工作,您必须保留之前创建的入站规则,该规则允许 Security Command Center 将发现结果导出到服务边界后面的 BigQuery 数据集。
查看导出配置的详细信息
gcloud
转到 Google Cloud 控制台。
选择启用了 Security Command Center API 的项目。
点击激活 Cloud Shell。
如需验证导出配置的详细信息,请运行以下命令:
gcloud scc bqexports get BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
替换以下内容:
- 将
BIGQUERY_EXPORT
替换为此导出配置的名称。 - 将
FOLDER_ID
、ORGANIZATION_ID
或PROJECT_ID
替换为您的文件夹、组织或项目的名称。您必须设置其中一个选项。对于文件夹和组织,该名称是文件夹 ID 或组织 ID。对于项目,该名称是项目编号或项目 ID。 LOCATION
:如果数据驻留处于启用状态,则为创建导出配置的 Security Command Center 位置;如果数据驻留处于停用状态,则使用值global
。例如,如需从组织 ID 设置为
123
的组织中获取名为my-bq-export
的导出配置,请运行以下命令:gcloud scc bqexports get my-bq-export \ --organization=123 \ --location=global
- 将
更新导出配置
如有必要,您可以修改现有导出配置的过滤条件、数据集和说明。您无法更改导出配置的名称。
gcloud
转到 Google Cloud 控制台。
选择启用了 Security Command Center API 的项目。
点击激活 Cloud Shell。
如需更新导出配置,请运行以下命令:
gcloud scc bqexports update BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
替换以下内容:
- 将
BIGQUERY_EXPORT
替换为您要更新的导出配置的名称。 - 将
DATASET_NAME
替换为 BigQuery 数据集的名称,例如projects/PROJECT_ID/datasets/DATASET_ID
。 - 将
FOLDER_ID
、ORGANIZATION_ID
或PROJECT_ID
替换为您的文件夹、组织或项目的名称。您必须设置其中一个选项。对于文件夹和组织,该名称是文件夹 ID 或组织 ID。对于项目,该名称是项目编号或项目 ID。 LOCATION
:如果数据驻留已启用,则为更新导出配置的 Security Command Center 位置;如果未启用数据驻留,请使用值global
。- 将
DESCRIPTION
替换为直观易懂的导出配置说明。此变量为可选项。 - 将
FILTER
替换为用于定义要导出的发现结果的表达式。例如,如果要过滤 XSS_SCRIPTING 类别,请输入"category=\"XSS_SCRIPTING\"
。此变量为可选项。
- 将
查看所有导出配置
您可以查看组织、文件夹或项目中的所有导出配置。
gcloud
转到 Google Cloud 控制台。
选择启用了 Security Command Center API 的项目。
点击激活 Cloud Shell。
如需列出导出配置,请运行以下命令:
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
替换以下内容:
将
FOLDER_ID
、ORGANIZATION_ID
或PROJECT_ID
替换为您的文件夹、组织或项目的名称。您必须设置其中一个选项。对于文件夹和组织,该名称是文件夹 ID 或组织 ID。对于项目,该名称是项目编号或项目 ID。如果您指定了组织 ID,该列表会包含该组织中定义的所有导出配置,包括在文件夹和项目级层定义的配置。如果您指定了文件夹 ID,该列表会包含在文件夹级层以及在该文件夹内的项目中定义的所有导出配置。如果您指定了项目编号或项目 ID,该列表仅包含该项目的所有导出配置。
LOCATION
:如果数据驻留已启用,则为列出导出配置的 Security Command Center 位置;如果未启用数据驻留,请使用值global
。将
LIMIT
替换为您要查看的导出配置的数量。此变量为可选项。将
PAGE_SIZE
替换为页面大小值。此变量为可选项。
Java
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅 为本地开发环境设置身份验证。
Python
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅 为本地开发环境设置身份验证。
删除导出配置
如果您不再需要导出配置,可以将其删除。
gcloud
转到 Google Cloud 控制台。
选择启用了 Security Command Center API 的项目。
点击激活 Cloud Shell。
如需删除导出配置,请运行以下命令:
gcloud scc bqexports delete BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
替换以下内容:
- 将
BIGQUERY_EXPORT
替换为您要删除的导出配置的名称。 - 将
FOLDER_ID
、ORGANIZATION_ID
或PROJECT_ID
替换为您的文件夹、组织或项目的名称。您必须设置其中一个选项。对于文件夹和组织,该名称是文件夹 ID 或组织 ID。对于项目,该名称是项目编号或项目 ID。 LOCATION
:如果数据驻留处于启用状态,则为要删除导出配置的 Security Command Center 位置;如果数据驻留处于停用状态,则使用值global
。例如,如需从组织 ID 设置为
123
的组织中删除名为my-bq-export
的导出配置,请运行以下命令:gcloud scc bqexports delete my-bq-export \ --organization=123 \ --location=global
- 将
Java
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅 为本地开发环境设置身份验证。
Python
如需向 Security Command Center 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅 为本地开发环境设置身份验证。
删除导出配置后,您可以从 Looker 数据洞察中移除数据。如需了解详情,请参阅移除、删除和恢复数据源。
在 BigQuery 中查看发现结果
创建导出配置后,系统会将新的发现结果导出到您指定的项目中的 BigQuery 数据集。
如需在 BigQuery 中查看发现结果,请执行以下操作:
转到 BigQuery 中的项目。
选择一个项目。
在探索器窗格中,展开项目的节点。
展开您的数据集。
点击发现结果表。
在打开的标签页上,点击预览。此时会显示一组数据示例。
实用的查询
本部分提供了用于分析发现结果数据的示例查询。在以下示例中,将 DATASET
替换为分配给数据集的名称,将 PROJECT_ID
替换为数据集的项目名称。
如需排查遇到的任何错误,请参阅错误消息。
每天创建和更新的新发现结果的数量
SELECT
FORMAT_DATETIME("%Y-%m-%d", event_time) AS date,
count(DISTINCT finding_id)
FROM `PROJECT_ID.DATASET.findings`
GROUP BY date
ORDER BY date DESC
每个发现结果的最新发现结果记录
SELECT
* EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
)
WHERE row = 1
按时间排序的当前活跃发现结果
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
ORDER BY event_time DESC
项目中的当前发现结果
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
WHERE resource.project_display_name = 'PROJECT'
将 PROJECT
替换为项目名称。
文件夹中的当前发现结果
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
CROSS JOIN UNNEST(resource.folders) AS folder
WHERE folder.resource_folder_display_name = 'FOLDER'
将 FOLDER
替换为文件夹名称。
扫描程序 Logging Scanner
的当前发现结果
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
CROSS JOIN UNNEST(finding.source_properties) AS source_property
WHERE source_property.key = "ScannerName"
AND source_property.value = "LOGGING_SCANNER"
类型为 Persistence: IAM Anomalous Grant
的当前活跃发现结果
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
AND finding.category = "Persistence: IAM Anomalous Grant"
将给定类型的活跃发现结果与 Cloud Audit Logs 关联
此示例查询会显示授权者在异常 IAM 授权操作之前和之后的时段内所执行的管理员活动操作序列,以便使用 Cloud Audit Logs 中的 Event Threat Detection 功能来调查异常 IAM 授权的发现结果。以下查询将发现结果时间戳之前 1 小时到之后 1 小时的管理员活动日志进行关联。
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT
finding_id,
ANY_VALUE(event_time) as event_time,
ANY_VALUE(finding.access.principal_email) as grantor,
JSON_VALUE_ARRAY(ANY_VALUE(finding.source_properties_json), '$.properties.sensitiveRoleGrant.members') as grantees,
ARRAY_AGG(
STRUCT(
timestamp,
IF(timestamp < event_time, 'before', 'after') as timeline,
protopayload_auditlog.methodName,
protopayload_auditlog.resourceName,
protopayload_auditlog.serviceName
)
ORDER BY timestamp ASC
) AS recent_activity
FROM (
SELECT
f.*,
a.*,
FROM latestFindings AS f
LEFT JOIN `PROJECT_ID.DATASET.cloudaudit_googleapis_com_activity` AS a
ON a.protopayload_auditlog.authenticationInfo.principalEmail = f.finding.access.principal_email
WHERE f.finding.state = "ACTIVE"
AND f.finding.category = "Persistence: IAM Anomalous Grant"
AND a.timestamp >= TIMESTAMP_SUB(f.event_time, INTERVAL 1 HOUR)
AND a.timestamp <= TIMESTAMP_ADD(f.event_time, INTERVAL 1 HOUR)
)
GROUP BY
finding_id
ORDER BY
event_time DESC
输出类似于以下内容:
在 Looker 数据洞察中创建图表
利用 Looker Studio,您可以创建交互式报告和信息中心。
一般来说,通过 Looker 数据洞察访问 BigQuery 时会产生 BigQuery 使用费。如需了解详情,请参阅使用 Looker 数据洞察直观呈现 BigQuery 数据。
如需创建按严重性和类别直观呈现发现结果数据的图表,请执行以下操作:
- 打开 Looker 数据洞察并登录。
- 如果出现提示,请提供其他信息并设置其他偏好设置。阅读服务条款,如果满意,则继续。
- 点击空白报告。
- 在连接到数据标签页上,点击 BigQuery 卡。
- 如果出现提示,请授权 Looker Studio 访问 BigQuery 项目。
连接到您的发现结果数据:
- 在项目部分,为数据集选择该项目。或者,在我的项目标签页中,输入您的项目 ID 以进行搜索。
- 对于数据集,点击数据集的名称。
- 对于表格,点击发现结果。
- 点击添加。
- 在对话框中,点击添加到报告。
添加报告后,点击添加图表。
点击堆叠柱形图,然后点击要放置的区域。
在图表 > 条形图窗格的数据标签页上,设置以下字段:
- 在维度字段中,选择 finding.severity。
- 在细分维度字段中,选择 finding.category。
报告已更新,以显示按严重程度和类别拆分的结果的多个列。
后续步骤
了解如何在 BigQuery 中运行查询。