メインコンテンツまでスキップ

サービスポリシーによる機密データの検出

備考

ベータ版

この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。

機密データ検出は、リクエストやレスポンス内の個人を特定できる情報(PII)などの機密データを検索し、インタラクションをブロックするか、一致した値をその場で編集(redact)する組み込みサービスポリシーです。LLM-as-a-judge組み込みポリシーとは異なり、これは決定論的であり、レイテンシをほとんど追加しません。

機密データ検出を Model Service または Model Provider Service にアタッチします。検索対象のカテゴリを選択し、一致した場合にインタラクションをブロックするか、値を伏せ字にするかを選択します。

ポリシーをアタッチする

注記

ベータ期間中、ポリシーUIは変更される可能性があります。ラベルがこれらのステップと異なる場合は、製品内のラベルに従ってください。 [プリンシパルとスコープ] フィールドはまだ構成できません。ポリシーはサービス上のすべてのアカウントユーザーに適用されます。

Sensitive Data Detectionは、他の組み込みポリシーをアタッチするのと同じ方法で、Unity AI Gateway UIを通じてアタッチします。ターゲットサービスに対するMANAGEが必要です。ベータ期間中、組み込みポリシーはDatabricksによって管理されており、system.aiスキーマ内で閲覧や権限付与が可能な関数としては表示されません。そのため、設定するEXECUTE権限はなく、UI上で名前を選択してポリシーを指定します。

  1. ワークスペースのサイドバーで、 AI Gateway をクリックします。
  2. ガバナンス対象のサービスを選択します。 [モデル] tab上のモデルサービス、または [プロバイダー] tab上のモデルプロバイダーサービスのいずれか。
  3. [ ポリシー ] tab を開き、[ 新しいポリシー ] をクリックします。
  4. ポリシーの 名前 を入力します。
  5. ガードレールタイプ で、 機密データ検出 を選択します。
  6. 検出する 分類タグ を選択し、一致した場合にインタラクションを ブロック するか、一致した値を 編集(redact) するかを選択します。
  7. フェーズ で、 入力出力 、またはその両方を選択します。
  8. ランク を設定して、サービス上の他のポリシーに対する評価順序を制御します。評価順序を参照してください。
  9. ポリシーの作成 」をクリックします。

ポリシーは、サービスの [ ポリシー ] タブに表示されます。ベータ期間中は、テストを行う前に反映されるまでしばらくお待ちください。

ポリシーの仕組み

ポリシーをアタッチする際、以下の3つの項目を設定します:

  • カテゴリー(必須):検出対象とする機密データの種類。サポートされているカテゴリーを参照してください。

  • アクション:一致した場合の動作。

    • ブロック:Databricksがインタラクションを拒否します。エラーの代わりに、呼び出し元は成功(HTTP 200)レスポンスを受け取ります。そのアシスタントターンにはブロックしたサービスポリシーが記載され、最上位の databricks_service_policy オブジェクトにはブロック reason が含まれます。これには、一致したカテゴリが名前で示されます。例: Detected sensitive data (US_SSN, CREDIT_CARD).
    • 編集(Redact): Databricksは、一致した各値を[US_SSN]などのプレースホルダー トークンに置き換え、書き換えられたコンテンツを転送します。リクエスト時、モデルは編集済みのテキストを受信します。レスポンス時、呼び出し元がそれを受信します。この組み込みポリシーは、決定を返すだけでなく、コンテンツを変換します。
  • フェーズ:ポリシーが入力、出力、またはその両方のいずれでランされるか。

検出は確定的であるため、Databricksはブロックと伏字処理を個別に調整します。伏字処理は、カテゴリの形式と、該当する場合はチェックサムに基づいて実行され、より多くを捕捉できるようにします。数字の羅列のみのカテゴリについては、チェックサムまたは近くのコンテキストワードが必要となるため、ブロックはより厳格になります。これにより、ランダムな数字によってリクエストが拒否されることはありません。EメールやIPアドレスなどの特徴的な形式は、一致しただけでブロックされます。

サポートされているカテゴリー

機密データ検出は、管轄区域ごとにグループ化された以下の15のカテゴリーを検出します。「 分類タグ 」フィールドで、検出するタグを選択します。それぞれが以下の「 タグ 」列にリストされています(例:class.us_ssn)。受け入れ可能なタグ値については、データ分類システムタグを参照してください。

検出方法 列には、Databricks が各カテゴリを識別する方法が表示されます:

  • 正規表現:値の形式に対するパターンマッチ。
  • チェックサム: カード番号のLuhnチェックのように、形式には適合していても有効ではない値を拒否する、一致した値に対する検証チェック。
  • コンテキストキーワード:一致する箇所の近くに関連ワードが出現する必要があります。例:「SSN」が9桁の数字の近くにある場合など。単なる数値は曖昧であるため、これらのカテゴリでは近くにキーワードを配置して ブロック する必要がありますが、書式だけでも編集(redaction)は実行されます。

グローバル識別子

タグ

検出

検出手法

class.email_address

メールアドレス

正規表現

class.ip_address

IPアドレス

正規表現

class.mac_address

MACアドレス

正規表現

class.vin

車両識別番号

正規表現 + チェックディジット + コンテキストキーワード

class.credit_card

クレジットカード番号

正規表現 + Luhnチェックサム

class.iban_code

国際銀行口座番号

正規表現 + ISO 7064 チェックサム

class.phone_number

電話番号

正規表現 + コンテキストキーワード

タグ

検出

検出手法

class.email_address

メールアドレス

正規表現

class.ip_address

IPアドレス

正規表現

class.mac_address

MACアドレス

正規表現

class.vin

車両識別番号

正規表現 + チェックディジット + コンテキストキーワード

class.credit_card

クレジットカード番号

正規表現 + Luhnチェックサム

class.iban_code

国際銀行口座番号

正規表現 + ISO 7064 チェックサム

class.phone_number

電話番号

正規表現 + コンテキストキーワード

米国

タグ

検出

検出手法

class.us_ssn

米国社会保障番号

正規表現 + コンテキストキーワード

class.us_itin

米国個人納税者番号

正規表現 + コンテキストキーワード

class.us_passport

米国パスポート

正規表現 + コンテキストキーワード

class.us_bank_number

米国の銀行アカウント番号

正規表現 + コンテキストキーワード

タグ

検出

検出手法

class.us_ssn

米国社会保障番号

正規表現 + コンテキストキーワード

class.us_itin

米国個人納税者番号

正規表現 + コンテキストキーワード

class.us_passport

米国パスポート

正規表現 + コンテキストキーワード

class.us_bank_number

米国の銀行アカウント番号

正規表現 + コンテキストキーワード

英国

タグ

検出

検出手法

class.uk_nhs

英国NHS番号

正規表現 + mod-11 チェックサム + コンテキストキーワード

class.uk_nino

英国の国民保険番号

正規表現

タグ

検出

検出手法

class.uk_nhs

英国NHS番号

正規表現 + mod-11 チェックサム + コンテキストキーワード

class.uk_nino

英国の国民保険番号

正規表現

インド

タグ

検出

検出手法

class.in_pan

インドの恒久アカウント番号(PAN)

正規表現

class.in_aadhaar

インドのAadhaar番号

正規表現 + Verhoeffチェックサム + コンテキストキーワード

タグ

検出

検出手法

class.in_pan

インドの恒久アカウント番号(PAN)

正規表現

class.in_aadhaar

インドのAadhaar番号

正規表現 + Verhoeffチェックサム + コンテキストキーワード

検出されないもの

機密データ検出は、パターンが確実に一致する構造化データを対象としています。以下は検出されません:

  • 名前、場所、組織 、および識別するために言語理解を必要とするその他のフリーテキストエンティティ。これらを確実に検出するには、パターンではなくモデルが必要です。このコンテンツをカバーするには、「LLMジャッジによる他の機密データのブロック」を参照してください。
  • チェックサムや標準形式のない数字の羅列のみの識別子 (一部の国民IDやデバイス識別子など)。形状のみに基づいてこれらを照合すると、通常のテキストが過剰にフラグ付けされてしまいます。

検出精度

機密データ検出は、その2つのアクションに対して個別に調整されています。伏せ字処理は可能な限り多くの機密データを捕捉する必要があります。値を見逃すことは過剰な伏せ字処理よりも悪影響を及ぼすため、再現率を重視して最適化されています。ブロックはリクエストを完全に拒否するため、確実な場合にのみ実行されるようにし、精度を重視して最適化されています。

パブリックベンチマークでは、15のカテゴリ全体でブロック精度は0.99であるため、機密ではないコンテンツに対してブロックが実行されることはほとんどなく、伏せ字の再現率は0.96です。ほとんどのカテゴリで再現率は1.0に近い値ですが、米国のパスポート番号など一部のタイプでは低くなっています。これは検出器が適切な形式の値を逃しているのではなく、ベンチマークデータが多様な形式を含んでいるためです。

検出は確定的かつ高速です。大規模な(100ターン)会話であっても、リクエストへの追加時間は50ミリ秒を大幅に下回ります。

これらの数値は、AI4Privacy pii-masking-200kデータセットFakerジェネレーター、および各識別子の公開されたチェックディジットと形式仕様(例:Aadhaar Verhoeffチェックや英国NHS mod-11チェック)から構築された値といった公開ソースから取得されています。

LLMジャッジを使用して他の機密データをブロックする

機密データ検出では識別できない名前やその他のフリーテキストデータを捕捉するには、同じサービスにカスタムの LLM-as-a-judgeガードレールを追加します:

  • 構造化データを編集(redact)するには、機密データ検出のランクを低く設定してください。
  • すでに伏字処理されたコンテンツを評価するように、LLMジャッジをより高いランクに追加します。
  • 評価器の指示の中で、フラグを立てる機密データを記述し、最初のガードレールによって残された編集用プレースホルダー([US_SSN]など)を無視するように指示します。

ジャッジへの指示例

You are a data-privacy classifier for an AI gateway guardrail. Decide whether the content contains personal information about a private individual, such as a person's name (including a first name used to address or refer to someone), home or personal contact details, or other identifiers tied to that individual.

Set flagged to true whenever the content names or refers to a private individual, even if only a first name is given and no other identifying details are present. For example, a message addressed to "Kattie" or one that mentions a colleague by name contains personal information.

Do not flag:
- Public figures, executives, politicians, celebrities, or historical people named in a public, business, or newsworthy context (for example, Warren Buffett, Elon Musk).
- Companies, brands, organizations, funds, or institutions (for example, Morgan Stanley, Apple, Goldman Sachs).
- Redaction placeholders that already mask a value, such as [EMAIL_ADDRESS], [US_SSN], [PHONE_NUMBER], or any similar bracketed category token in square brackets; these have already been handled and are not personal information.
- Obvious placeholders that do not refer to a real person (for example, "John Doe", "test user").
- Content with no reference to an individual.

制限事項

ベータ期間中は、次の制限が適用されます。

  • 機密データ検出は、モデルサービスおよびモデルプロバイダーサービスに適用されます。
  • サポートされているカテゴリーに記載されているカテゴリーのみがサポートされます。名前、場所、組織などのフリーテキストエンティティはサポートされていません。検出されないものを参照してください。

関連