SQL 資料探索與分類

適用於:SQL Server

資料探索與分類新增了多項功能,包括探索分類、為資料庫內的敏感性資料加上標籤並予以報告。 您可以透過 T-SQL 或使用 SQL Server Management Studio (SSMS)進行操作。 探索和分類最敏感的資料 (商務、財務、醫療等等) 可以扮演組織資訊保護成長的關鍵角色。 它可以作為下列的基礎結構:

  • 協助符合資料隱私權標準。
  • 針對包含高敏感性資料的資料庫/資料行,監視其存取途徑。

注意

資料探索與分類受到 SQL Server 2012 和更新版本的支援,且可搭配 SSMS 17.5 或更新版本使用。 如需了解 Azure SQL 資料庫,請參閱 <Azure SQL 資料庫的資料探索與分類>。

概觀

資料探索與分類會形成適用於 SQL Database、SQL 受控執行個體和 Azure Synapse Analytics 的新資訊保護典範,目標不僅是保護資料庫,還要保護資料。 目前支援下列功能:

  • 探索與建議:分類引擎會掃描您的資料庫,並識別包含可能是敏感性資料的資料行。 它接著可讓您輕鬆地檢閱並套用適當的分類建議,以及手動分類資料行。
  • 標記 - 在資料行上可以持續標示敏感度分類標籤。
  • 可見度:您可以在詳細報表中檢視資料庫分類狀態,並將此報表列印或匯出,用於合規性和稽核用途。

探索、分類敏感資料行以及加上標籤

下節所描述的步驟是有關探索、分類和標示包含您資料庫中敏感性資料的資料行,以及檢視資料庫的目前分類狀態,並匯出報表。

分類包含兩個中繼資料屬性:

  • 標籤 - 主分類屬性,用來定義資料行中所儲存資料的敏感度等級。
  • 資訊類型:為資料行中儲存的資料類型提高細微性。

分類 SQL Server 資料庫:

  1. 在 SQL Server Management Studio (SSMS) 中,連線至 SQL Server。

  2. 在 SSMS 物件總管中,點選想要分類的資料庫,然後選擇 [工作] > [資料探索與分類] > [將資料分類...]。

    顯示 [SSMS 物件總管] 的螢幕擷取畫面,其中已選取 [工作] > [資料探索與分類] > [將資料分類...]。

  3. 分類引擎會掃描您資料庫中是否有資料行 (僅根據資料行名稱) 包含潛在敏感度資料,並提供建議的資料行分類清單:

    • 若要檢視建議的資料行分類清單,請點選頂端的建議通知方塊或視窗底部的建議面板:

      顯示通知的螢幕擷取畫面,其中指出我們找到 39 個資料行含有分類建議,按一下這裡即可檢視。

      顯示通知的螢幕擷取畫面,其指出有 39 個資料行含有分類建議 (按一下以檢視)。

    • 檢閱建議清單:

      • 若要接受特定資料行的建議,請核取相關資料列左側資料行中的核取方塊。 您也可以核取建議資料表標頭中的核取方塊,以將「所有建議」標記為已接受。

      • 您也可以使用下拉式方塊變更建議的「資訊類型」和「敏感度標籤」。

      顯示建議清單的螢幕擷取畫面。

    • 若要套用選取的建議,請點選 [儲存選取的建議] 按鈕。

      [接受選取的建議] 按鈕的螢幕擷取畫面。

注意

使用 Microsoft Purview 資訊保護原則模式時,會停用執行自動資料探索並提供敏感性資料行建議的建議引擎。

  1. 若要顯示分類的資料行,請在下拉式清單中選取適當的結構描述和對應的資料表,然後點選 [載入資料行]。

    SSMS 資料分類載入分類資料行的螢幕擷取畫面。

  2. 您也可以手動分類資料行作為 (以及) 建議分類的替代方法:

    • 在視窗頂端的功能表中點選 [新增分類]。

      顯示頂端功能表的螢幕擷取畫面,其中已標註 [新增分類] 選項。

    • 在開啟的內容視窗中,依據您想要分類的資料行輸入名稱、資訊類型和敏感度標籤。 系統會根據主要頁面中的項目選取結構描述和資料表。

      顯示 [新增分類] 內容視窗的螢幕擷取畫面。

    • 如果您想要在單次嘗試中為特定資料表的所有未分類資料行新增分類,請在 [新增分類] 頁面的 [資料行] 下拉式清單中選取 [所有未分類]。

      選取所有未分類資料行的 SSMS 資料分類螢幕擷取畫面

  3. 若要完成分類,並使用新的分類中繼資料替資料庫資料行永久加上標籤 (標記),請點選視窗上方功能表中的 [儲存] 按鈕。

    顯示頂端功能表的螢幕擷取畫面,其中已標註 [儲存] 選項。

  4. 若要產生含有資料庫分類狀態完整摘要的報表,請點選視窗上方功能表中的 [檢視報表]。 (您也可以使用 SSMS 產生報表:選取您想要產生報表的資料庫,然後依序選擇 [工作] > [資料探索與分類] > [產生報表...])

    顯示頂端功能表的螢幕擷取畫面,其中已標註 [檢視報表] 選項。

    顯示 [SQL 資料分類報表] 的螢幕擷取畫面。

使用 Microsoft Purview 資訊保護原則將資料庫分類

注意

Microsoft 資訊保護 (縮寫為 MIP) 已重新命名為 Microsoft Purview 資訊保護。 MIP 和 Microsoft Purview 資訊保護這兩個詞彙在本文檔中經常互換使用,但指的是相同的概念。

Microsoft Purview 資訊保護標籤,可讓使用者透過簡單且統一的方式將 SQL Server中的敏感性資料分類。 MIP 敏感度標籤在 Microsoft 365 合規性中心 [更名為 Microsoft Purview 合規性入口網站] 中建立和管理。 若要了解如何在 Microsoft Purview 合規性入口網站建立及發佈 MIP 敏感度標籤,請參閱<Microsoft 資訊保護敏感度標籤>一文。

您現在可以使用 SSMS 為來源 (SQL Server) 中含有 Microsoft Purview 資訊保護標籤的資料分類。Power BI、Office 和其他 Microsoft 產品也會使用這些標籤。 這些敏感度標籤會套用至資料庫的資料行層級,SQL 資訊保護原則也一樣。

連接至支援資料來源中標有敏感度標籤資料的 Power BI 資料集或報表,可以自動繼承這些標籤,因此資料移轉至 Power BI 以及匯出至下游應用程式後,依然會維持已分類的狀態。 SSMS 的 MIP 可用性能協助您實現端對端全企業分類解決方案。

設定 Microsoft Purview 資訊保護原則的步驟

  1. 在 SQL Server Management Studio (SSMS) 中,連線至 SQL Server。

  2. 在 SSMS 物件總管中,點選想要分類的資料庫,然後選擇 [工作] > [資料探索與分類] > [設定 Microsoft 資訊保護原則]

    在 SSMS 中設定Microsoft 資訊保護原則的螢幕擷取畫面

  3. 用於為 Microsoft 365 設定 Microsoft 資訊保護原則的驗證視窗會隨即顯示。 選取 [登入],然後輸入或選取有效的使用者登入資訊,向您的 Microsoft 365 租用戶進行驗證。

    為設定 Microsoft 資訊保護原則而進行驗證的螢幕擷取畫面

  4. 如果驗證成功,您會看到狀態為成功的快顯視窗。

    在 SSMS 中成功設定Microsoft 資訊保護原則的螢幕擷取畫面

  5. 選用:如果您想登入任何 Microsoft 主權雲端以便向 Microsoft 365 進行驗證,請依序前往 SSMS > [工具] > [選項] > [Azure 服務] > [Azure 雲端],然後將 [名稱] 變更為相關的Microsoft 主權雲端。

    在 SSMS 中選取 Azure 雲端類型的螢幕擷取畫面

  6. 在 SSMS 物件總管的視窗中,以滑鼠右鍵按一下您想要分類的資料庫,然後選擇 [工作] > [資料探索與分類] > [將資料分類]。 您現在可以使用 Microsoft 365 租用戶中定義的 MIP 敏感度標籤新增分類,並使用這些標籤分類 SQL Server 中的資料行。

    在 SSMS 中選擇 Microsoft 資訊保護原則敏感度標籤

    在 Microsoft 資訊保護原則模式中,自動資料探索和建議會停用, 因為此功能目前只能在 SQL 資訊保護原則模式中使用。

若要將資訊保護原則重設為預設值或 SQL 資訊保護,請前往 SSMS 物件總管,以滑鼠右鍵按一下資料庫,然後依序選擇 [工作] > [資料探索與分類] > [將資訊保護原則重設為預設值]。 這項操作會套用預設值或 SQL 資訊保護原則,而且您可以使用 SQL 敏感度標籤來分類資料,而不是 MIP 標籤。

在 SSMS 中重設資訊保護原則的螢幕擷取畫面

若要透過自訂 JSON 檔案啟用資訊保護原則,請移至 SSMS 物件總管,以滑鼠右鍵按一下資料庫,然後依序選擇 [工作] > [資料探索與分類] > [設定資訊保護原則檔案]。

注意

警告圖示代表資料行先前使用的分類資訊保護原則與目前選取的原則模式不同。 舉例來說,如果您目前處於 Microsoft 資訊保護模式,而其中一個資料行先前分類時使用的是 SQL 資訊保護原則或者自訂原則檔案中的資訊保護原則,您就會看到該資料行的警告圖示。 您可以決定將資料行的分類變更為目前原則模式中任何可用的敏感度標籤,或是繼續維持原狀。 原則不相符的資料分類警告螢幕擷取畫面

使用 SSMS 管理資訊保護原則

您可以使用 SSMS 18.4 或更新版本管理資訊保護原則:

  1. 在 SQL Server Management Studio (SSMS) 中,連線至 SQL Server。

  2. 在 SSMS 物件總管中點選其中一個資料庫,然後選擇 [工作] > [資料探索與分類]。

    您可以使用下列功能表選項管理資訊保護原則:

  • 設定 Microsoft 資訊保護原則:將資訊保護原則設定為 Microsoft Purview 資訊保護原則。

  • 設定資訊保護原則檔案:使用所選 JSON 檔案中定義的 SQL 資訊保護原則 (請參閱資訊保護原則檔案)。

  • 匯出資訊保護原則:將資訊保護原則匯出為 JSON 檔案。

  • 重設資訊保護原則:將資訊保護原則重設為預設 SQL 資訊保護原則。

重要

資訊保護原則檔案不會儲存在 SQL Server 中。 SSMS 會使用預設資訊保護原則。 如果自訂的資訊保護原則失敗,SSMS 便無法使用預設原則。 資料分類失敗。 若要解決此問題,請按一下 [重設資訊保護原則] 以使用預設原則,然後重新啟用資料分類。

存取分類中繼資料

SQL Server 2019 引進 sys.sensitivity_classifications 系統目錄檢視。 此檢視會傳回資訊類型和敏感度標籤。

在 SQL Server 2019 執行個體上,查詢 sys.sensitivity_classifications 以檢閱所有分類資料行,以及其對應的分類。 例如:

SELECT 
    schema_name(O.schema_id) AS schema_name,
    O.NAME AS table_name,
    C.NAME AS column_name,
    information_type,
	label,
	rank,
	rank_desc
FROM sys.sensitivity_classifications sc
    JOIN sys.objects O
    ON  sc.major_id = O.object_id
	JOIN sys.columns C 
    ON  sc.major_id = C.object_id  AND sc.minor_id = C.column_id

在 SQL Server 2019 之前,資訊類型和敏感度標籤的分類中繼資料位於下列擴充屬性中:

  • sys_information_type_name
  • sys_sensitivity_label_name

針對 SQL Server 2017 及較舊版本的執行個體,下列範例會傳回所有分類資料行,以及其對應的分類:

SELECT
    schema_name(O.schema_id) AS schema_name,
    O.NAME AS table_name,
    C.NAME AS column_name,
    information_type,
    sensitivity_label 
FROM
    (
        SELECT
            IT.major_id,
            IT.minor_id,
            IT.information_type,
            L.sensitivity_label 
        FROM
        (
            SELECT
                major_id,
                minor_id,
                value AS information_type 
            FROM sys.extended_properties 
            WHERE NAME = 'sys_information_type_name'
        ) IT 
        FULL OUTER JOIN
        (
            SELECT
                major_id,
                minor_id,
                value AS sensitivity_label 
            FROM sys.extended_properties 
            WHERE NAME = 'sys_sensitivity_label_name'
        ) L 
        ON IT.major_id = L.major_id AND IT.minor_id = L.minor_id
    ) EP
    JOIN sys.objects O
    ON  EP.major_id = O.object_id 
    JOIN sys.columns C 
    ON  EP.major_id = C.object_id AND EP.minor_id = C.column_id

權限

在 SQL Server 2019 執行個體上檢視分類需要檢視所有敏感度分類權限。 如需相關資訊,請參閱 Metadata Visibility Configuration

針對 SQL Server 2019 之前的版本,可以使用擴充屬性目錄檢視 sys.extended_properties 存取中繼資料。

管理分類需要「改變所有敏感度分類」權限。 ALTER ANY SENSITIVITY CLASSIFICATION 是由資料庫權限 ALTER,或由伺服器權限 CONTROL SERVER 所隱含。

管理分類

您可以使用 T-SQL 新增或移除資料行分類,以及擷取整個資料庫的所有分類。

下一步

如需了解 Azure SQL 資料庫,請參閱 <Azure SQL 資料庫的資料探索與分類>。

請考慮套用資料行層級安全性機制來保護敏感資料行: