データの分類
ベータ版
この機能は ベータ版です。
データ分類はワークスペース レベルのプレビュー機能であり、ワークスペースまたはアカウント管理者のみが有効化できます。手順については、 「Databricks プレビューの管理」を参照してください。
データカタログには膨大な量のデータが含まれる可能性があり、多くの場合、既知および未知の機密データが含まれます。 データ チームにとって、各テーブルにどのような種類の機密データが存在するかを理解し、そのデータへのアクセスを管理および民主化することが重要です。
この問題に対処するために、Databricks Data Classification は AI エージェントを使用してカタログ内のテーブルを自動的に分類し、タグ付けします。これにより、Unity Catalog 属性ベースのアクセス制御 (ABAC)などのツールを使用して、機密データを検出し、結果に対してガバナンス制御を適用できるようになります。サポートされているタグのリストについては、 「サポートされている分類タグ」を参照してください。
この機能を使用すると、次のことができます。
- データの分類 : エンジンはエージェント AI システムを使用して、Unity Catalog 内の任意のテーブルを自動的に分類し、タグ付けします。
- インテリジェント スキャンによるコストの最適化 : システムは、Unity Catalog と Data Intelligence Engine を活用して、データをスキャンするタイミングをインテリジェントに決定します。つまり、スキャンは増分的に行われ、手動で構成しなくてもすべての新しいデータが分類されるように最適化されます。
- 機密データの確認と保護 : 結果表示では、分類結果を表示し、各クラスにタグを付け、アクセス制御ポリシーを作成することで機密データを保護できます。
Databricks データ分類では、分類結果を保存するためにデフォルトのストレージを使用します。ストレージに対して料金は請求されません。
Databricks データ分類では、分類を支援するために大規模言語モデル (LLM) を使用します。Databricks はデータを保護するためのセキュリティ制御を実装しています。詳細については、 「モデルサービングのデータ保護」およびDatabricks AI支援機能の信頼性と安全性」を参照してください。
必要条件
- サーバレス コンピュートを有効にする必要があります。 サーバレス コンピュートへの接続を参照してください。
- データ分類を有効にするには、カタログを所有しているか、カタログに対する
USE_CATALOG
およびMANAGE
権限を持っている必要があります。 - 結果テーブルを表示するには、次の権限が必要です:
USE CATALOG
とUSE SCHEMA
、さらにテーブルに対するSELECT
。結果テーブルに対する権限を参照してください。
データ分類を使用する
カタログでデータ分類を使用するには:
-
カタログに移動し、 [詳細] タブをクリックします。
-
[ データ分類] トグルをクリックして有効にします。
-
データ分類の有効化 ダイアログが表示されます。デフォルトでは、すべてのスキーマが含まれます。一部のスキーマのみを含めるには、 [含めるスキーマ] ドロップダウン メニューでスキーマを選択します。
-
[ 有効にする ]をクリックします。
これにより、カタログまたは選択したスキーマ内のすべてのテーブルを増分スキャンするバックグラウンドジョブが作成されます。
分類エンジンは、インテリジェント スキャンを利用して、テーブルをスキャンするタイミングを決定します。通常、カタログ内の新しいテーブルと列は作成後 24 時間以内にスキャンされます。
分類結果の表示
分類結果を表示するには、トグルの横にある 結果の表示 をクリックします。
結果ページが開き、カタログ内のすべてのテーブルの分類結果が表示されます。別のカタログを選択するには、ページの左上にあるセレクターを使用します。サーバレスSQLウェアハウスは必須であり、ページの右上に表示されます。
結果ページには、カタログで識別された分類タグが一覧表示されます。データ分類システム タグ ( class.xx
) を参照する既存の ABAC ポリシーがテーブルに表示されます。
特定の分類タグの結果を確認するには、対応する行の右端の列にある [レビュー] をクリックします。
データ分類によって高い信頼度で分類タグが検出されたテーブルを表示するパネルが表示されます。表、列、サンプル値を確認します。サンプル値は、結果テーブルにアクセスできる場合にのみ表示されます。結果テーブルに対する権限を参照してください。
識別された列が期待どおりである場合は、このカタログの分類タグに対して自動タグを有効にすることができます。 自動タグが有効になっている場合、この分類の既存および今後の検出はすべてタグになります。
自動タグを有効にするには、 ... で自動タグを 切り替えます。 後で同じトグルを使用して自動タグ付けを無効にすることもできます。タグを無効にすると、今後のタグは適用されませんが、既存のタグは削除されません。
結果テーブルに対する権限
データ分類は、アカウント管理者のみがアクセスできる結果を保存するために、 system.data_classification.results
という名前のシステム テーブルを作成します。 アカウント管理者はこのテーブルを共有できます。このテーブルは、サーバレスコンピュートを使用する場合にのみアクセスできます。 このテーブルの詳細については、 「データ分類システムテーブル リファレンス」を参照してください。
結果テーブルsystem.data_classification.results
には、メタストア全体のすべての分類結果が含まれており、各カタログのテーブルからのサンプル値も含まれています。このテーブルは、サンプル値を含むメタストア全体の分類結果を表示する権限を持つユーザーとのみ共有する必要があります。
結果テーブルを表示するには、次の権限が必要です: USE CATALOG
とUSE SCHEMA
、およびテーブルに対するSELECT
。カタログへのアクセス権がMANAGE
またはSELECT
のユーザーは、ページで結果を表示できますが、サンプル値は表示できません。
データ分類結果に基づいてガバナンス制御を設定する
ABAC ポリシーを使用して機密データをマスクする
Databricks では、Unity Catalog 属性ベースのアクセス制御 (ABAC)を使用して、データ分類結果に基づくガバナンス制御を作成することを推奨しています。
ポリシーを作成するには、 [新しいポリシー] をクリックします。ポリシー フォームは事前に入力されており、レビュー対象の分類タグの列がマスクされます。データをマスクするには、Unity Catalog に登録されている任意のマスキング関数を指定して、 「保存」 をクリックします。
また、 「いつ」列を 条件を満たす ように変更し、複数のタグを提供することで、複数の分類タグをカバーするポリシーを作成することもできます。
たとえば、名前、電子メール、または電話番号をマスクする「機密」というポリシーを作成するには、 満たす条件 をhasTag("class.name") OR hasTag("class.email_address") OR hasTag("class.phone_number")
に設定します。
GDPRの検出と削除
このノートブックの例では、データ分類を使用してGDPRコンプライアンスの削除を支援する方法を示しています。
データ分類ノートブックを使用した GDPR の検出と削除
間違ったタグの扱い方
データに誤ってタグが付けられた場合は、手動でタグを削除できます。 今後のスキャンではタグは再適用されません。
UI を使用してタグを削除するには、カタログ エクスプローラーでテーブルに移動し、タグの列を編集します。
SQL を使用してタグを削除するには:
ALTER TABLE catalog.schema.table
ALTER COLUMN col
UNSET TAGS ('class.phone_number', 'class.us_ssn')
スキャンエラー
スキャン中にエラーが発生した場合は、結果テーブルの右上に 「エラー」 ボタンが表示されます。
ボタンをクリックすると、スキャンに失敗したテーブルと関連するエラー メッセージが表示されます。
デフォルトでは、個々のテーブルで発生した障害はスキップされ、翌日に再試行されます。
データ分類の経費を表示する
データ分類の課金方法については、価格ページをご覧ください。 クエリを実行するか、使用状況ダッシュボードを表示することで、データ分類に関連する費用を表示できます。
最初のスキャンは増分スキャンであり、通常はコストが低くなるため、同じカタログの後続のスキャンよりもコストがかかります。
システムテーブルから使用状況を表示する system.billing.usage
データ分類の費用を確認するには、次のようなクエリを使用します。
SELECT
usage_date,
identity_metadata.created_by AS creator,
SUM(usage_quantity) AS dbus
FROM
system.billing.usage
WHERE
usage_date >= DATE_SUB(CURRENT_DATE(), 30)
AND billing_origin_product = 'DATA_CLASSIFICATION'
GROUP BY
usage_date,
creator
ORDER BY
usage_date DESC,
creator;
使用状況ダッシュボードから使用状況を表示する
ワークスペースに使用状況ダッシュボードが既に構成されている場合は、それを使用して [データ分類] というラベルの付いた請求元プロジェクトを選択して使用状況をフィルター処理できます。使用状況ダッシュボードが構成されていない場合は、ダッシュボードをインポートして同じフィルタリングを適用できます。詳細については、「 使用状況ダッシュボード」を参照してください。
サポートされている分類タグ
次の表に、データ分類でサポートされているシステム管理タグを示します。
クラス | 説明 |
---|---|
クラス.クレジットカード | クレジットカード番号 |
クラス.メールアドレス | メールアドレス |
クラス.iban_code | International Bank アカウント番号 (IBAN) |
クラス.ip_address | インターネット プロトコル アドレス(IPv4 または IPv6) |
クラス.場所 | 場所 |
クラス名 | 人の名前 |
クラス.電話番号 | 電話番号 |
クラス.us_bank_number | 米国の銀行番号 |
クラス.us_driver_license | 米国の運転免許証 |
クラス.us_itin | 米国の個人納税者識別番号 |
クラス.us_passport | 米国パスポート |
クラス.us_ssn | 米国の社会保障番号 |
制限事項
- ビューとメトリクス ビューはサポートされていません。 ビューが既存のテーブルに基づいている場合、Databricks では、基になるテーブルを分類して機密データが含まれているかどうかを確認することをお勧めします。