SQL データの検出と分類SQL Data Discovery and Classification

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

データの検出と分類では、データベース内の機密データの 検出分類ラベル付けレポート作成 を行うための新しいツールが導入されました。このツールは SQL Server Management Studio (SSMS) に組み込まれています。Data Discovery & Classification introduces a new tool built into SQL Server Management Studio (SSMS) for discovering, classifying, labeling & reporting the sensitive data in your databases. 最も機密性の高いデータ (ビジネス、財務、医療など) の検出と分類は、組織の情報保護の達成において極めて重要な役割を果たすことができます。Discovering and classifying your most sensitive data (business, financial, healthcare, etc.) can play a pivotal role in your organizational information protection stature. 次のような場合にインフラストラクチャとして使用できます。It can serve as infrastructure for:

  • データのプライバシー基準を満たせるようにする。Helping meet data privacy standards.
  • 機密性の高いデータを含むデータベースまたは列へのアクセスを監視する。Monitoring access to databases/columns containing highly sensitive data.

注意

データの検出と分類は、SQL Server 2012 以降でサポートされ、SSMS 17.5 以降で使用できますData Discovery & Classification is supported for SQL Server 2012 and later, and can be used with SSMS 17.5 or later. Azure SQL Database については、「Azure SQL Database のデータの検出と分類」を参照してください。For Azure SQL Database, see Azure SQL Database Data Discovery & Classification.

概要Overview

データの検出と分類には一連のサービスが導入され、データベースだけでなく、データの保護を目的とした新しい SQL Information Protection パラダイムが形成されます。Data Discovery & Classification introduces a set of services, forming a new SQL Information Protection paradigm aimed at protecting the data, not just the database:

  • 検出および推奨事項 - 分類エンジンはデータベースをスキャンし、機密データが含まれる可能性のある列を識別します。Discovery & recommendations - The classification engine scans your database and identifies columns containing potentially sensitive data. 適切な分類の推奨事項を確認して適用するだけでなく、手動で列を分類するための簡単な方法が提供されます。It then provides you an easy way to review and apply the appropriate classification recommendations, as well as to manually classify columns.
  • ラベル付け - 列で永続的に機密分類ラベルにタグを付けることができます。Labeling - Sensitivity classification labels can be persistently tagged on columns.
  • 表示 - データベース分類状態を詳細なレポートに表示することができます。このレポートを印刷したりエクスポートしたりして、コンプライアンスと監査の目的に、またその他のニーズに合わせて使用することができます。Visibility - The database classification state can be viewed in a detailed report that can be printed/exported to be used for compliance & auditing purposes, as well as other needs.

機微な列の検出、分類およびラベル付けDiscovering, classifying & labeling sensitive columns

次のセクションでは、データベース内の機密データを含む列の検出、分類、およびラベル付けの手順に加え、データベースの現在の分類状態の表示とレポートのエクスポートの手順について説明します。The following section describes the steps for discovering, classifying, and labeling columns containing sensitive data in your database, as well as viewing the current classification state of your database and exporting reports.

分類には、次の 2 つのメタデータ属性が含まれます。The classification includes two metadata attributes:

  • ラベル - 列に格納されるデータの機密レベルを定義するために使用される、主な分類属性です。Labels - The main classification attributes, used to define the sensitivity level of the data stored in the column.
  • 情報の種類 - 列に格納されるデータの種類をさらに細分化します。Information Types - Provide additional granularity into the type of data stored in the column.

SQL Server データベースを分類するには:To classify your SQL Server database:

  1. SQL Server Management Studio (SSMS) で、SQL Server に接続します。In SQL Server Management Studio (SSMS) connect to the SQL Server.

  2. SSMS オブジェクト エクスプローラーで、分類するデータベースを右クリックして、 [タスク][データの検出と分類][データの分類] の順に選択します。In the SSMS Object Explorer, right click on the database that you would like to classify and choose Tasks > Data Discovery and Classification > Classify Data....

    [タスク] > [データの検出と分類] > [データの分類] の順に選択されている SSMS オブジェクト エクスプローラーを示すスクリーンショット。

  3. 分類エンジンは機密データが含まれる可能性のある列についてデータベースをスキャンし、推奨される列の分類 のリストを提供します。The classification engine scans your database for columns containing potentially sensitive data and provides a list of recommended column classifications:

    • 推奨される列の分類のリストを表示するには、上部にある推奨事項通知ボックスまたはウィンドウの下部にある推奨事項パネルをクリックします。To view the list of recommended column classifications, click on the recommendations notification box at the top or the recommendations panel at the bottom of the window:

      分類の推奨事項を含む 39 の列が見つかったという通知を示すスクリーンショット。

      分類の推奨事項を含む 39 の列があるという通知を示すスクリーンショット (クリックすると表示されます)。

    • 推奨事項のリストを確認します。Review the list of recommendations:

      • 特定の列の推奨事項を承諾するには、関連する行の左側の列のチェック ボックスをオンにします。To accept a recommendation for a specific column, check the checkbox in the left column of the relevant row. 推奨事項テーブル ヘッダーのチェック ボックスをオンにして、すべての推奨事項 を承諾済みとしてマークすることもできます。You can also mark all recommendations as accepted by checking the checkbox in the recommendations table header.

      • ドロップダウン ボックスを使用して、推奨される情報の種類と機密ラベルを変更することもできます。You can also change the recommended Information Type and Sensitivity Label using the drop down boxes.

      推奨事項の一覧を示すスクリーンショット。

    • 選択した推奨事項を適用するには、青い [Accept selected recommendations](選択した推奨事項を承諾) ボタンをクリックします。To apply the selected recommendations, click on the blue Accept selected recommendations button.

      [Accept selected recommendations](選択した推奨事項を承諾) ボタンのスクリーンショット。

  4. 代わりに列を 手動で分類 することもできます。さらに、推奨事項ベースの分類について、次の操作を実行することもできます。You can also manually classify columns as an alternative, or in addition, to the recommendation-based classification:

    • ウィンドウの上部のメニューで [分類の追加] をクリックします。Click on Add classification in the top menu of the window.

      [分類の追加] オプションが選択されている上部のメニューを示すスクリーンショット。

    • 開いたコンテキスト メニューで、分類するスキーマ、テーブル、列の順に選択し、情報の種類と機密ラベルを選択します。In the context window that opens, select the schema > table > column that you want to classify, and the information type and sensitivity label. 次に、コンテキスト ウィンドウの下部にある青い [分類の追加] ボタンをクリックします。Then click on the blue Add classification button at the bottom of the context window.

      [分類の追加] コンテキスト ウィンドウを示すスクリーンショット。

  5. 分類を完了し、新しい分類メタデータでデータベース列に永続的にラベル (タグ) を付けるには、ウィンドウの上部のメニューで [保存] をクリックします。To complete your classification and persistently label (tag) the database columns with the new classification metadata, click on Save in the top menu of the window.

    [保存] オプションが選択されている上部のメニューを示すスクリーンショット。

  6. データベースの分類状態の完全な要約を示すレポートを生成するには、ウィンドウの上部のメニューで [レポートの表示] をクリックします。To generate a report with a full summary of the database classification state, click on View Report in the top menu of the window. (レポートは SSMS を利用して生成することもできます。(You can also generate a report using SSMS. レポートを生成するデータベースを右クリックし、 [タスク][データの検出と分類][レポートの生成] の順に選択します。)Right click on the database where you would like to generate the report, and choose Tasks > Data Discovery and Classification > Generate Report...)

    [レポートの表示] オプションが選択されている上部のメニューを示すスクリーンショット。

    SQL データ分類レポートを示すスクリーンショット。

SSMS で情報保護ポリシーを管理するManage information protection policy with SSMS

SSMS 18.4 以降を利用し、情報保護ポリシーを管理できます。You can manage the information protection policy using SSMS 18.4 or later:

  1. SQL Server Management Studio (SSMS) で、SQL Server に接続します。In SQL Server Management Studio (SSMS) connect to the SQL Server.

  2. SSMS Object Explorer でお使いのデータベースの 1 つを右クリックし、 [タスク][データの検出と分類] の順に選択します。In the SSMS Object Explorer, right click on one of your databases and choose Tasks > Data Discovery and Classification.

    次のメニュー オプションで情報保護ポリシーを管理できます。The following menu options allow you to manage the information protection policy:

  • 情報保護ポリシー ファイルの設定: 選択されている JSON ファイルに定義されているとおりに情報保護ポリシーが使用されます。Set Information Protection Policy File: uses the information protection policy as defined in the selected JSON file.

  • 情報保護ポリシーのエクスポート: 情報保護ポリシーを JSON ファイルにエクスポートします。Export Information Protection Policy: exports the information protection policy to a JSON file.

  • 情報保護ポリシーのリセット: 既定の情報保護ポリシーに情報保護ポリシーがリセットされます。Reset Information Protection Policy: resets the information protection policy to the default information protection policy.

重要

情報保護ポリシー ファイルは SQL Server に保存されません。Information protection policy file is not stored in the SQL Server. SSMS では既定の情報保護ポリシーが使用されます。SSMS uses a default information protection policy. カスタマイズされた情報保護ポリシーでエラーが発生した場合、SSMS では既定のポリシーを使用できません。If an information protection policy customized fails, SSMS cannot use the default policy. データ分類でエラーが発生します。Data classification fails. 解決するには、[情報保護ポリシーのリセット] をクリックし、既定のポリシーを使用し、データ分類をもう一度有効にします。To resolve, click Reset Information Protection Policy to use the default policy and re-enable data classification.

分類メタデータへのアクセスAccessing the classification metadata

SQL Server 2019 には sys.sensitivity_classifications というシステム カタログ ビューが導入されています。SQL Server 2019 introduces sys.sensitivity_classifications system catalog view. このビューでは、情報の種類と機密ラベルが返されます。This view returns information types and sensitivity labels.

SQL Server 2019 インスタンスで、sys.sensitivity_classifications を問い合わせ、分類されているすべての列とそれらに対応する分類を確認します。On SQL Server 2019 instances, query sys.sensitivity_classifications to review all classified columns with their corresponding classifications. 次に例を示します。For example:

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 より前の場合、情報の種類と機密ラベルの分類メタデータは次の拡張プロパティにあります。Prior to SQL Server 2019, the classification metadata for information types and sensitivity labels is in the following Extended Properties:

  • sys_information_type_name
  • sys_sensitivity_label_name

SQL Server 2017 以前のインスタンスの場合、次の例からは、分類されているすべての列とそれらに対応する分類が返されます。For instances of SQL Server 2017 and prior, the following example returns all classified columns with their corresponding classifications:

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

アクセス許可Permissions

SQL Server 2019 のインスタンスでは、分類を表示するために VIEW ANY SENSITIVITY CLASSIFICATION 権限が必要です。On SQL Server 2019 instances, viewing classification requires VIEW ANY SENSITIVITY CLASSIFICATION permission. 詳細については、「 Metadata Visibility Configuration」を参照してください。For more information, see Metadata Visibility Configuration.

SQL Server 2019 よりも前の場合、メタデータには、拡張プロパティ カタログ ビュー sys.extended_properties を使用してアクセスすることができます。Prior to SQL Server 2019, the metadata can be accessed using the Extended Properties catalog view sys.extended_properties.

分類を管理するには、ALTER ANY SENSITIVITY CLASSIFICATION 権限が必要です。Managing classification requires ALTER ANY SENSITIVITY CLASSIFICATION permission. ALTER ANY SENSITIVITY CLASSIFICATION は、データベース権限 ALTER またはサーバー権限 CONTROL SERVER によって示されます。The ALTER ANY SENSITIVITY CLASSIFICATION is implied by the database permission ALTER, or by the server permission CONTROL SERVER.

分類の管理Manage classifications

T-SQL を使って、列の分類を追加/削除し、データベース全体のすべての分類を取得することができます。You can use T-SQL to add/remove column classifications, as well as retrieve all classifications for the entire database.