Applies to:SQL Server
データの検出と分類により、データベース内の機密データの検出、分類、ラベル付け、およびレポートを行う機能が追加されます。 これは、T-SQL を使用するか、SQL Server Management Studio (SSMS) を使用して行うことができます。 最も機密性の高いデータ(ビジネス、財務、医療など)を検出し分類することは、組織内における情報保護の水準を向上させる上で重要な役割を担います。 次のような場合にインフラストラクチャとして使用できます。
- データのプライバシー基準を満たせるようにする。
- 機密性の高いデータを含むデータベース/列に対するaccessの監視。
注
データ検出と分類は SQL Server 2012 以降サポートされており、SSMS 17.5 以降で使用できます。 Azure SQL Databaseについては、「Azure SQL Database データ検出と分類。
概要
データ検出と分類は、データベースだけでなくデータを保護することを目的とした、SQL Database、SQL Managed Instance、Azure Synapseの新しい情報保護パラダイムを形成します。 現在、次の機能がサポートされています。
- 検出および推奨事項 - 分類エンジンはデータベースをスキャンし、機密データが含まれる可能性のある列を識別します。 適切な分類の推奨事項を確認して適用するだけでなく、手動で列を分類するための簡単な方法が提供されます。
- ラベル付け - 列で永続的に機密分類ラベルにタグを付けることができます。
- 表示 - データベース分類状態を詳細なレポートに表示することができます。このレポートを印刷したりエクスポートしたりして、コンプライアンスと監査の目的に合わせて使用することができます。
機微な列の検出、分類およびラベル付け
次のセクションでは、データベース内の機密データを含む列の検出、分類、およびラベル付けの手順に加え、データベースの現在の分類状態の表示とレポートのエクスポートの手順について説明します。
分類には、次の 2 つのメタデータ属性が含まれます。
- ラベル - 列に格納されるデータの機密レベルを定義するために使用される、主な分類属性です。
- 情報の種類 - 列に格納されるデータの種類をさらに細分化します。
SQL Server データベースを分類するには:
SQL Server Management Studio (SSMS) で、SQL Serverに接続します。
SSMS Object Explorer で、分類するデータベースを選択し、Tasks>Data Discovery and Classification>Classify Data...。
分類エンジンによって、機密データが含まれる可能性のある列 (列名のみに基づく) についてデータベースがスキャンされ、推奨される列の分類のリストが提供されます。
推奨される列の分類のリストを表示するには、上部にある推奨事項通知ボックス、またはウィンドウの下部にある推奨事項パネルを選びます。
推奨事項のリストを確認します。
特定の列の推奨事項を承諾するには、関連する行の左側の列のチェック ボックスをオンにします。 推奨事項テーブル ヘッダーのチェック ボックスをオンにして、すべての推奨事項 を承諾済みとしてマークすることもできます。
ドロップダウン ボックスを使用して、推奨される情報の種類と機密ラベルを変更することもできます。
選んだ推奨事項を適用するには、[Save selected recommendations]\(選択した推奨事項を保存する\) を選びます。
注
自動データ検出を実行し、機密性の高い列の推奨事項を提供するレコメンデーション エンジンは、Microsoft Purview Information Protectionポリシー モードを使用すると無効になります。
分類済みの列を表示するには、ドロップダウンから適切なスキーマと対応するテーブルを選んで、[Load Columns]\(列の読み込み\) を選びます。
代わりに列を手動で分類することもできます。さらに、推奨事項ベースの分類について、次の操作を実行することもできます。
ウィンドウの上部のメニューで、[分類の追加] を選択します。
開いたコンテキスト ウィンドウで、分類する列の名前、情報の種類、秘密度ラベルを入力します。 スキーマとテーブルは、メイン ページのエントリに基づいて選択されます。
特定のテーブルのすべての未分類の列の分類をまとめて追加する場合は、[分類の追加] ページの [列] ドロップダウンで [All Unclassified]\(すべての未分類\) を選びます。
分類を完了し、新しい分類メタデータでデータベース列に永続的にラベル (タグ) を付けるには、ウィンドウの上部のメニューで [保存] ボタンを選びます。
データベースの分類状態の完全な要約を示すレポートを生成するには、ウィンドウの上部のメニューで [View Report]\(レポートの表示\) を選びます。 (SSMS でレポートを生成することもできます。レポートを生成するデータベースを選び、[タスク]>[データの検出と分類]>[レポートの生成] を選びます。)
Microsoft Purview Information Protection ポリシーを使用してデータベースを分類する
注
Microsoft Information Protection (MIP と略記) は、Microsoft Purview Information Protectionとして再ブランド化されました。 このドキュメントでは、MIP とMicrosoft Purview Information Protectionの両方の用語が同じ意味で使用されることが多いですが、どちらも同じ概念を指します。
Microsoft Purview Information Protectionラベルは、ユーザーがSQL Serverで機密データを分類するためのシンプルで統一された方法を提供します。 MIP 秘密度ラベルは、Microsoft 365 コンプライアンス センター [Microsoft Purview コンプライアンス ポータルとして再ブランド化] で作成および管理されます。 Microsoft Purview コンプライアンス ポータルで MIP 機密ラベルを作成して発行する方法については、記事「Microsoft Information Protection秘密度ラベルを参照してください。
これで、SSMS を使用して、Power BI、Office、およびその他の Microsoft 製品で使用される Microsoft Purview Information Protection ラベルを使用して、ソース (SQL Server) でデータを分類できるようになりました。 これらの秘密度ラベルは、SQL Information Protection ポリシーと同じように、データベースの列レベルで適用されます。
サポートされているデータ ソース内の秘密度ラベル付きのデータに接続する Power BI のデータセットまたはレポートが、それらのラベルを自動的に継承できるようになります。これにより、そのデータは分類されたまま、Power BI に取り込まれたりダウンストリームのアプリケーションにエクスポートされたりします。 SSMS で MIP ポリシーを利用できるため、エンタープライズ全体の分類ソリューションをエンドツーエンドで実現できます。
Microsoft Purview Information Protection ポリシーを構成する手順
SQL Server Management Studio (SSMS) で、SQL Serverに接続します。
SSMS Object Explorerで、分類するデータベースを選択し、
Tasks Data Discovery and Classification Set Microsoft Information Protection Policy SSMSでMicrosoft Information Protection Policyを設定するスクリーンショット Microsoft Information Protection ポリシーを設定するMicrosoft 365の認証ウィンドウが表示されます。 Sign In を選択し、Microsoft 365 テナントに対して認証する有効なユーザー資格情報を入力または選択します。
認証が成功すると、[成功] という状態のポップアップ ウィンドウが表示されます。
Microsoft SQL Server Management Studio における Microsoft Information Protection Policy の正常な設定のスクリーンショット 省略可能 - Microsoft 365 に対する認証を行うために Microsoft ソブリンクラウドのいずれかにサインインする場合は、SSMS の >ツール>、オプション> に移動し、Azure サービス> の Azure クラウド を選択して、名前 を該当する Microsoft ソブリンクラウドに変更してください。
&lst; &c1& &c0& &sb0& SSMSでAzureクラウドの種類を選択するスクリーンショット &sb0& &c0& &c1&
SSMS Object Explorer ウィンドウで、 分類するデータベースを右クリックし、Tasks>Data Discovery and Classification>Classify Data を選択します。 Microsoft 365 テナントで定義されている MIP 秘密度ラベルを使用して新しい分類を追加し、それらのラベルを使用してSQL Serverの列を分類できるようになりました。
Microsoft Information Protection ポリシー モードでは、データの自動検出と推奨事項が無効になります。 現在、SQL Information Protection ポリシー モードでのみ使用できます。
Information Protectionポリシーを既定またはSQL Information Protectionにリセットするには、SSMSのObject Explorerでデータベースを右クリックし、Tasks>Data Discovery and Classification>情報保護ポリシーを既定にリセットを選択してください。 これにより、既定のポリシーまたは SQL Information Protection ポリシーが適用され、MIP ラベルではなく SQL 秘密度ラベルを使用してデータを分類できます。
カスタム JSON ファイルから Information Protection Policy を有効にするには、 SSMS Object Explorer に移動し、データベースを右クリックし、 Tasks>Data Discovery and Classification>Set Information Protection Policy File。
注
警告アイコンは、列が、現在選択されているポリシー モードとは異なるInformation Protection ポリシーを使用して以前に分類されたことを示します。 たとえば、現在 Microsoft Information Protection モードで、いずれかの列がカスタム ポリシー ファイルの SQL Information Protection Policy または Information Protection Policy を使用して分類されている場合、その列に対する警告アイコンが表示されます。 その列の分類を、現在のポリシー モードで使用できるいずれかの秘密度ラベルに変更するか、そのままにするかを決定できます。
SSMS を使用してInformation Protection ポリシーを管理する
Information Protection ポリシーは、最新バージョンの SQL Server Management Studio を使用して管理できます。
SQL Server Management Studio (SSMS) で、SQL Serverに接続します。
SSMS Object Explorerで、データベースのいずれかを選択し、Tasks>Data Discovery and Classification を選択します。
次のメニュー オプションを使用すると、Information Protection ポリシーを管理できます。
Microsoft Information Protection ポリシーの設定: Information Protection ポリシーをMicrosoft Purview Information Protectionポリシーに設定します。
Set Information Protection Policy File: 選択した JSON ファイルで定義されている SQL Information Protection ポリシーを使用します。 (既定の
Information Protection ポリシー ファイル )Export Information Protection Policy: Information Protection ポリシーを JSON ファイルにエクスポートします。
Reset Information Protection Policy: Information Protection ポリシーを既定の SQL Information Protection ポリシーにリセットします。
重要
情報保護ポリシーファイルはSQL Serverに保存されていません。 SSMS では、既定のInformation Protection ポリシーが使用されます。 カスタマイズされたInformation Protection ポリシーが失敗した場合、SSMS は既定のポリシーを使用できません。 データ分類でエラーが発生します。 解決するには、Reset Information Protection Policy をクリックして既定のポリシーを使用し、データ分類を再度有効にします。
分類メタデータへのアクセス
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
2019 年SQL Serverより前のバージョンでは、情報の種類と秘密度ラベルの分類メタデータは、次の拡張プロパティにあります。
sys_information_type_namesys_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 インスタンスでは、表示分類には VIEW ANY SENSITIVITY CLASSIFICATION アクセス許可が必要です。 詳細については、「 Metadata Visibility Configuration」を参照してください。
2019 SQL Serverより前のバージョンでは、拡張プロパティ カタログ ビュー sys.extended_properties を使用してメタデータにアクセスできます。
分類を管理するには、ALTER ANY SENSITIVITY CLASSIFICATION 権限が必要です。 ALTER ANY SENSITIVITY CLASSIFICATION は、データベース権限 ALTER またはサーバー権限 CONTROL SERVER によって示されます。
分類の管理
T-SQL を使って、列の分類を追加または削除したり、データベース全体のすべての分類を取得したりできます。
- 1 つまたは複数の列の分類の追加/更新: ADD SENSITIVITY CLASSIFICATION
- 1 つまたは複数の列の分類の削除: DROP SENSITIVITY CLASSIFICATION
次のステップ
Azure SQL Databaseについては、「Azure SQL Database データ検出と分類。
次の列レベルのセキュリティ メカニズムを適用して、機微な列の保護を検討してください。
- 動的データ マスク: 使用中の機微な列を難読化します。
- Always Encrypted は保存時に機密性の高い列を静的に暗号化します。