機密データの分類結果の表示と追跡¶
このトピックでは、機密データの分類結果を表示および追跡する方法と、分類タグを追跡して機密データを監視する方法について説明します。
Trust Centerを使用した分類結果の表示¶
トラストセンターで機密データの分類結果を表示するには、以下の手順を実行します。
|sf-web-interface-link|必要な権限を持つユーザーとして :ref:` にサインイン <label-classify_trust_center_access_control>` します。
ナビゲーションメニューで Governance & security » Trust Center を選択します。
Data Security タブを選択します。
次のいずれかを実行します。
機密データのセキュリティに関する高いレベルの洞察を取得したい場合は、 Dashboard タブを選択します。詳細については、 ダッシュボードページの確認 をご参照ください。
機密データを含むと分類されたすべてのテーブルとビューをリストしたい場合は、 Sensitive objects タブを選択します。
ページが開いたら、テーブルを選択して、機密データがある列、それらの列の :ref:` セマンティックカテゴリ <label-classify_categories>` 、およびタグが列に適用されたかどうかを確認します。
ダッシュボードページの確認¶
Dashboard ページは、分類されているデータベースやテーブルの数など、機密データのセキュリティに関する高いレベルの洞察を提供します。このページには、次のタイルが含まれています。
タイル |
説明 |
|---|---|
Objects by compliance category |
オブジェクト内の情報の型に基づいて、規制やその他のコンプライアンス基準の対象となる可能性のあるデータを含むオブジェクトの数を識別します。
|
Objects by semantic category |
最も一般的なセマンティックカテゴリと、それらのカテゴリに属するデータを含むオブジェクトの数を識別します。 |
Databases monitored by auto-classification |
機密データ分類によって現在監視されているデータベースを識別します。誰かがデータベースレベルでプロファイルを設定するのではなく、 SQL を使用してデータベース内のスキーマに分類プロファイルを直接設定した場合、データベースは部分的に監視されます。 |
Classification status |
機密データについて現在モニターされているすべてのデータベースが分類されているかどうかを識別します。 |
Sensitive data masking status |
機密データが :doc:` マスキングポリシー </user-guide/security-column-ddm-intro>` によって保護されているかどうかを識別します。マスキングポリシーは、タグベースのポリシーでも、手動で列に適用されたものでもかまいません。 機密データを含むすべての列にマスキングポリシーが関連付けられている場合、テーブルは 完全にマスクされます。機密データを含む一部の列のみがマスキングポリシーに関連付けられている場合、テーブルは 部分的にマスクされます。 |
コンプライアンスカテゴリとそのセマンティックカテゴリ¶
注釈
データにどの規制や法律が適用されるかを判断し、適用される規制や法律に準拠していることを確認する責任はあなただけにあります。機密データ分類内のコンプライアンスカテゴリは、取り組みを支援するためのすぐに使えるツールキットを提供するように設計されていますが、すべてを網羅するものではありません。 Snowflakeがサポートする :doc:` ネイティブセマンティックカテゴリ </user-guide/classify-native>` のみがコンプライアンスカテゴリにマッピングされます。
警告
HIPAA データ要件は、対象エンティティとビジネスアソシエイトが、厳密な管理的、物理的、および技術的な保護手段を通じて、保護対象健康情報(PHI)の機密性、整合性、および入手可能性を保護することを義務付けています。HIPAA に準拠しない場合、重大なペナルティが科せられる可能性があります。PHI に関連するセマンティックカテゴリは :ref:`label-classify_sensitive_information`に含まれています。
次のテーブルを使用して :ref:` ダッシュボードページ <label-classify_trust_center_review_dashboard>` 上の Objects by compliance category タイルを理解します。
コンプライアンスカテゴリ |
ネイティブセマンティックカテゴリ |
ロケール |
|---|---|---|
デジタル個人データ保護法( DPDPA ) |
DATE_OF_BIRTH |
なし |
DRIVERS_LICENSE |
インド( IN ) |
|
なし |
||
NAME |
なし |
|
NATIONAL_IDENTIFIER |
インド( IN ) |
|
PHONE_NUMBER |
なし |
|
STREET_ADDRESS |
なし |
|
TAX_IDENTIFIER |
インド( IN ) |
|
一般データ保護規則( GDPR ) |
AGE |
なし |
DRIVERS_LICENSE |
オーストリア( AT )、ベルギー( BE )、ブルガリア( BG )、クロアチア( HR )、キプロス( CY )、チェコ共和国( CZ )、デンマーク( DK )、エストニア( EE )、フィンランド( FI )、フランス( FR )、ドイツ( DE )、ギリシャ( GR )、ハンガリー( HU )、アイルランド( IE )、イタリア( IT )、ラトビア( LV )、リトアニア( LT )、ルクセンブルク( LU )、マルタ( MT )、オランダ( NL )、ポーランド( PL )、ポルトガル( PT )、ルーマニア( RO )、スロバキア( SK )、スロベニア( SI )、スペイン( ES )、スウェーデン( SE ) |
|
なし |
||
ETHNICITY |
なし |
|
GENDER |
なし |
|
IBAN |
なし |
|
IMEI |
なし |
|
IP_ADDRESS |
なし |
|
NAME |
なし |
|
NATIONAL_IDENTIFIER |
オーストリア( AT )、ベルギー( BE )、ブルガリア( BG )、クロアチア( HR )、キプロス( CY )、チェコ共和国( CZ )、デンマーク( DK )、エストニア( EE )、フィンランド( FI )、フランス( FR )、ドイツ( DE )、ギリシャ( GR )、ハンガリー( HU )、アイルランド( IE )、ラトビア( LV )、リトアニア( LT )、ルクセンブルク( LU )、マルタ( MT )、オランダ( NL )、ポーランド( PL )、ポルトガル( PT )、ルーマニア( RO )、スロバキア( SK )、スロベニア( SI )、スペイン( ES )、スウェーデン( SE )、イギリス( UK ) |
|
PASSPORT |
オーストリア( AT )、ベルギー( BE )、ブルガリア( BG )、クロアチア( HR )、キプロス( CY )、チェコ共和国( CZ )、デンマーク( DK )、エストニア( EE )、フィンランド( FI )、フランス( FR )、ドイツ( DE )、ギリシャ( GR )、ハンガリー( HU )、アイルランド( IE )、イタリア( IT )、ラトビア( LV )、リトアニア( LT )、ルクセンブルク( LU )、マルタ( MT )、オランダ( NL )、ポーランド( PL )、ポルトガル( PT )、ルーマニア( RO )、スロバキア( SK )、スロベニア( SI )、スペイン( ES )、スウェーデン( SE ) |
|
PAYMENT_CARD |
なし |
|
PHONE_NUMBER |
なし |
|
SALARY |
なし |
|
TAX_IDENTIFIER |
オーストリア( AT )、キプロス( CY )、フランス( FR )、ドイツ( DE )、ギリシャ( GR )、ハンガリー( HU )、イタリア( IT )、マルタ( MT )、オランダ( NL )、ポーランド( PL )、ポルトガル( PT )、スロベニア( SI )、スペイン( ES )、スウェーデン( SE ) |
|
VIN |
なし |
|
グラムリーチブライリー法( GLBA ) |
BANK_ACCOUNT |
米国( US ) |
DRIVERS_LICENSE |
米国( US ) |
|
NAME |
米国( US ) |
|
NATIONAL_IDENTIFIER |
米国( US ) |
|
PASSPORT |
米国( US ) |
|
PAYMENT_CARD |
なし |
|
STREET_ADDRESS |
米国( US ) |
|
TAX_IDENTIFIER |
米国( US ) |
|
医療保険の携行性と責任に関する法律( HIPAA ) |
ADMINISTRATIVE_AREA_1 |
米国( US ) |
ADMINISTRATIVE_AREA_2 |
米国( US ) |
|
AGE |
なし |
|
CITY |
米国( US ) |
|
DATE_OF_BIRTH |
なし |
|
なし |
||
ETHNICITY |
なし |
|
IMEI |
なし |
|
IP_ADDRESS |
なし |
|
MEDICAL_DATA |
なし |
|
MEDICAL_SPECIALTY |
なし |
|
NAME |
なし |
|
NATIONAL_IDENTIFIER |
米国( US ) |
|
PHONE_NUMBER |
米国( US ) |
|
POSTAL_CODE |
米国( US ) |
|
STREET_ADDRESS |
米国( US ) |
|
URL |
なし |
|
VIN |
なし |
|
ペイメントカード業界( PCI ) |
PAYMENT_CARD |
なし |
個人を識別できる情報( PII ) |
DATE_OF_BIRTH |
なし |
DRIVERS_LICENSE |
なし |
|
なし |
||
NAME |
なし |
|
NATIONAL_IDENTIFIER |
なし |
|
PHONE_NUMBER |
なし |
|
STREET_ADDRESS |
なし |
|
TAX_IDENTIFIER |
なし |
SQL を使用した分類結果の表示¶
SQL を使用してシステム関数を呼び出したり、アカウント使用状況ビューをクエリしたりすることで、データ分類の結果を表示できます。
特定のテーブルの分類結果の取得¶
特定のテーブルの結果を表示するには、SYSTEM$GET_CLASSIFICATION_RESULT 関数を呼び出します。
分類プロセスが完了するまで結果は利用できません。自動分類プロセスは、データベースに分類プロファイルを設定してから1時間後まで開始されません。
最新の分類結果のクエリ¶
最新の分類結果を表示するには、DATA_CLASSIFICATION_LATEST ビューをクエリします。最新より前の分類結果は表示されません。たとえば、SNOWFLAKE.GOVERNANCE_VIEWER データベースロールが付与されたロールを使用できます。ACCOUNTADMIN を使用する、または SNOWFLAKE データベースに対する IMPORTED PRIVILEGES を持っているなど、他の権限でもアクセスできる場合があります。
分類が完了してから3時間経過するまで、結果は表示されない場合があります。以前の分類結果を表示するには、:ref:`label-classify_view_history_sql`を参照してください。
分類履歴のクエリ¶
過去365日間のすべての分類イベントを表示するには、DATA_CLASSIFICATION_HISTORY ビューをクエリします。たとえば、SNOWFLAKE.GOVERNANCE_VIEWER データベースロールが付与されたロールを使用できます。ACCOUNTADMIN を使用する、または SNOWFLAKE データベースに対する IMPORTED PRIVILEGES を持っているなど、他の権限でもアクセスできる場合があります。
分類履歴をクエリするには、次の例を使用します。
データベース、スキーマ、テーブル名による分類履歴のフィルター¶
次の例では、データベース名、スキーマ名、およびテーブル名でフィルタリングし、特定のテーブルのすべての分類イベントを新しいものから古いものの順に返します。
出力は、同じ EMPLOYEES テーブルの2つの分類イベントを示しています。EMAIL 列を識別した2025年2月の手動分類と、EMAIL 列と SSN 列の両方を識別した2025年3月のその後の自動分類です。結果は新しいものから古いものの順に並べられており、分類結果が時間の経過とともにどのように変化するかを示しています。
テーブル ID によるフィルター¶
次の例では、テーブル ID で分類履歴をフィルタリングし、特定のテーブルのすべての分類イベントを最新のものから順に返します。
注釈
分類後にテーブルの名前が変更された場合は、ID でフィルタリングすると役立つ可能性があります。
イベントの間にテーブルの名前が EMPLOYEES から EMPLOYEES_NEW に変更された場合でも、出力は同じテーブル(ID 1234)の2つの分類イベントを示します。クエリは名前ではなくテーブル ID でフィルタリングするため、名前の変更に関係なく両方のイベントが返されます。
過去7日間の分類イベント数のカウント¶
次の例は、過去7日間の分類イベントの数を示しています。
1つのテーブルの分類実行の比較¶
次の例では、テーブルの直近2回の分類の実行を比較し、実行間に分類が変更された列のみを返します。結果の各行には、次のいずれかの値を持つ change_type 列が含まれます。
ADDED:列は前回の実行では分類されませんでした。PREV_*列は NULL です。REMOVED:列は前回の実行では分類されましたが、現在の実行では分類されませんでした。CURR_*列は NULL です。CHANGED:列は両方の実行に存在しますが、セマンティックカテゴリまたはプライバシーカテゴリが異なります。
両方の実行で分類が同一であった列は、結果から除外されます。
出力は、直近の2回の実行の間に分類が変更された3つの列を示しています。現在の実行では DATE_OF_BIRTH と SSN が新たに識別(ADDED)されましたが、PHONE は前の実行では分類されましたが、現在の実行では表示されなくなりました(REMOVED)。EMAIL のように両方の実行で分類が同じままであった列は、結果から除外されます。
JSON 列の分類結果の表示¶
半構造化データが JSON 形式の場合、Snowflakeは、 ARRAY、 VARIANT または OBJECT タイプの列を分類できます。この分類の結果には、次のような特徴があります。
結果オブジェクトには
object_path_resultsフィールドが含まれます。このフィールドはオブジェクトをリストします。各オブジェクトは、ネイティブセマンティックカテゴリに分類された半構造化データのフィールドに対応します。半構造化データのフィールドに機密データが含まれている場合、*列*のセマンティックカテゴリは
MULTIPLEになります。半構造化データのフィールドのセマンティックカテゴリを取得するには、結果のobject_path_resultsフィールドを使用します。
例として、Snowflakeが次のテーブルを分類するとします。
分類結果は次のようになります。