Adatbesorolási rendszer táblareferenciája

Ez a lap az adatbesorolási eredmények táblázatsémáját ismerteti, és minta lekérdezéseket tartalmaz. A tábla oszlopszinten tárolja a bizalmas adatosztályok észlelését a metaadattárban lévő engedélyezett katalógusokban.

Táblázat elérési útja: system.data_classification.results

Important

Ne alkalmazzon táblázatszintű sorszűrőt vagy oszlopmaszkot (közvetlenül a táblán ALTER TABLE ... SET ROW FILTER konfigurálva ezzel vagy ALTER TABLE ... ALTER COLUMN ... SET MASK) a system.data_classification.results táblára. Az adatbesorolás kezeli a táblába történő írásokat, és egy táblaszintű sorszűrő vagy oszlopmaszk zavarja a rendszert, és sikertelen lesz a vizsgálat.

Ez a korlátozás csak táblázatszintű sorszűrőkre és oszlopmaszkokra vonatkozik. Az ABAC-szabályzatok nincsenek hatással a vizsgálatokra, és nincsenek letiltva.

Adatbesorolási eredmények táblaséma

Az adatbesorolási eredmények rendszertáblája a következő sémát használja:

Oszlop név Adattípus Description Example
latest_detected_time timestamp Az oszlop legutóbbi beolvasásának időpontja. 2025-06-27T12:34
first_detected_time timestamp Az oszlop észlelésének első rögzítési időpontja. 2025-06-27T12:34
catalog_id karakterlánc A katalógus azonosítója. 3f1a7d6e-9c59-...
table_id karakterlánc A tábla azonosítója. 3f1a7d6e-9c59-...
catalog_name karakterlánc Katalógus neve. main_catalog
schema_name karakterlánc Séma neve. public
table_name karakterlánc Tábla neve. sales_data
column_name karakterlánc Oszlop neve. customer_email
data_type karakterlánc Az oszlop adattípusa. Az összetett típusok teljes szerkezetdefiníciókat tartalmaznak. struct<name:string, age:int>
class_tag karakterlánc Az észlelt entitás címkéje, valamint címkekulcs és opcionális érték. class.us_ssn vagy pii: confidential
samples array<string> Legfeljebb öt olyan mintaérték, amely megfelelt az észlelésnek. ["a@b.com", ...]
confidence karakterlánc Az észlelés megbízhatósága. Vagy HIGH vagy LOW HIGH
frequency float A minta egyező sorainak arányának becslése. 0 és 1 között. 0.87

Példakérdések

A futtatás előtt cserélje le a paraméterértékeket a saját értékére.

Egy táblához tartozó összes észlelés lekérése

SELECT *
FROM system.data_classification.results
WHERE
  catalog_name = "c"
  AND schema_name = "s"
  AND table_name = "t";

Az összes nagy megbízhatósági észlelés lekérése

SELECT *
FROM system.data_classification.results
WHERE
  catalog_name = "c"
  AND schema_name = "s"
  AND table_name = "t"
  AND confidence = "HIGH";

Adott besorolás által érintett táblák számának lekérése

SELECT
  class_tag,
  COUNT(DISTINCT catalog_name, schema_name, table_name) AS num_tables
FROM
  system.data_classification.results
WHERE
  class_tag IS NOT NULL
GROUP BY class_tag;

Azon felhasználók számának lekérése, akik bizalmas adatokat tartalmazó táblákat kérdeztek le az elmúlt 30 napban

WITH table_accesses AS (
  SELECT
    IFNULL(
      request_params.full_name_arg,
      CONCAT(request_params.catalog_name, '.', request_params.schema_name, '.', request_params.name)
    ) AS table_full_name,
    COUNT(DISTINCT user_identity.email) AS num_users
  FROM
    system.access.audit
  WHERE
    action_name IN ("createTable", "getTable", "updateTable", "deleteTable")
    AND (
      -- For performance, limit the blast radius of the audit log query to only the current catalog
      request_params.catalog_name = :catalog_name OR
      request_params.full_name_arg LIKE :catalog_name || '%'
    )
    AND event_time >= DATE_SUB(current_date(), 30)
  GROUP BY table_full_name
),
sensitive_tables AS (
  SELECT
    DISTINCT CONCAT(catalog_name, '.', schema_name, '.', table_name) AS table_full_name
  FROM
    system.data_classification.results
  WHERE class_tag IS NOT NULL
)

SELECT
  st.table_full_name,
  ta.num_users
FROM
  sensitive_tables st
  JOIN table_accesses ta
  ON st.table_full_name = ta.table_full_name