匿名化

機密データの保護では、情報タイプinfoType)を使用してスキャンする対象を定義します。infoType は、名前、メールアドレス、電話番号、識別番号、クレジット カード番号などの機密データのタイプを表します。

機密データの保護で定義されているすべての infoType には、対応する検出器があります。機密データの保護では、スキャンの構成に含まれる infoType 検出器を使用して、検査の対象と検出結果の変換方法が決定されます。infoType の名前は、スキャン結果の表示や報告時にも使用されます。

このトピックでは infoType と infoType 検出器について詳しく説明し、機密データの保護を使用して機密データの内容をスキャンする際に infoType 検出器をどのように使用するかを紹介します。

infoType 検出器の指定

コンテンツをスキャンするように機密データの保護を設定する場合は、スキャンの構成で使用する infoType 検出器を指定します。

たとえば、次の JSON は DLP API に対する単純なスキャン リクエストを示しています。inspectConfigPHONE_NUMBER 検出器が指定されています。これは機密データの保護に対して、指定された文字列内で電話番号をスキャンするように指示しています。

POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}

{
  "item":{
    "value":"My phone number is (415) 555-0890"
  },
  "inspectConfig":{
    "includeQuote":true,
    "minLikelihood":"POSSIBLE",
    "infoTypes":{
      "name":"PHONE_NUMBER"
    }
  }
}

上記のリクエストから、次の結果が返されます。

{
  "result":{
    "findings":[
      {
        "quote":"(415) 555-0890",
        "infoType":{
          "name":"PHONE_NUMBER"
        },
        "likelihood":"VERY_LIKELY",
        "location":{
          "byteRange":{
            "start":"19",
            "end":"33"
          },
          "codepointRange":{
            "start":"19",
            "end":"33"
          }
        },
        "createTime":"2018-10-29T23:46:34.535Z"
      }
    ]
  }
}

スキャン構成では必ず infoType を指定します。infoType を指定しないと、機密データの保護はデフォルトの infoType リストを使用します。デフォルトの infoType のスキャンは、スキャンするコンテンツの量によって時間またはコストが大幅に増えることがあります。

infoType 検出器を使用してコンテンツをスキャンする方法の詳細については、入門ガイドの検査、秘匿化、匿名化に関するトピックをご覧ください。

infoType 検出器の種類

情報タイプ(または「infoType」)検出器は、機密データの保護が機密データを使用するメカニズムです。

機密データの保護には、いくつかの種類の infoType 検出器があります。ここではすべての種類をまとめています。

  • 組み込みの infoType 検出器は、機密データの保護に組み込まれています。国またはリージョンに固有の機密データのタイプと、世界中のどこでも適用できるデータタイプに対応する検出器が含まれています。
  • カスタム infoType 検出器は、ユーザー自身が作成する検出器です。カスタム infoType 検出器には、次の 3 種類があります。
    • 標準のカスタム辞書検出器は、機密データの保護に対応する単純な単語リストです。含まれる単語やフレーズの数が数万個までのリストでは、標準のカスタム辞書検出器を使用します。単語リストが大幅に変更される予定がない場合、標準のカスタム辞書検出器の使用をおすすめします。
    • 格納されるカスタム辞書検出器は、Cloud Storage または BigQuery に保存されている単語やフレーズの大規模なリストを使用して、機密データの保護によって生成されます。含まれる単語やフレーズの数が数千万個までの大規模なリストでは、格納されるカスタム辞書検出器を使用します。
    • 正規表現(regex)検出器を使用すると、機密データの保護は正規表現パターンに基づいて一致を検出できます。

さらに、機密データの保護には、検査ルールのコンセプトも組み込まれており、次の検査ルールを使用してスキャン結果を細かく調整できます。

  • 除外ルールを適用すると、組み込みまたはカスタムの infoType 検出器にルールを追加することで、返される結果の数を少なくできます。
  • 起動ワードルールを適用すると、組み込みまたはカスタムの infoType 検出器にルールを追加することで、返される結果の数を増やすことや、結果の可能性の値の変更ができます。

組み込みの infoType 検出器

組み込みの infoType 検出器は機密データの保護に組み込まれています。この種類には、国や地域に固有の機密データのタイプに対応する検出器が含まれています。機密データのタイプとしては、フランスの国民登録番号(NIR)FRANCE_NIR)、英国の運転免許証番号(UK_DRIVERS_LICENSE_NUMBER)、米国の社会保障番号(US_SOCIAL_SECURITY_NUMBER)などがあります。また、個人名(PERSON_NAME)、電話番号(PHONE_NUMBER)、メールアドレス(EMAIL_ADDRESS)、クレジット カード番号(CREDIT_CARD_NUMBER)などの、世界のどこにも適用できるデータタイプもあります。infoType に対応する内容を検出するために、機密データの保護ではパターン マッチング、チェックサム、機械学習、コンテキスト解析などのさまざまな手法を活用します。

組み込みの infoType 検出器のリストは常に更新されています。現在サポートされている組み込みの infoType の全リストについては、infoType 検出器リファレンスをご覧ください。

組み込みの infoType 検出器の全リストは、機密データの保護の infoTypes.list メソッドを呼び出して表示することもできます。

カスタムの infoType 検出器

カスタム infoType 検出器には、次の 3 種類があります。

さらに、機密データの保護には検査ルールも含まれています。検査ルールを利用すると、既存の検出器に次のルールを追加することでスキャン結果を細かく調整できます。

標準のカスタム辞書検出器

標準のカスタム辞書検出器では、最大でも数万個の単語やフレーズを含む小規模のリストを照合します。標準のカスタム辞書は、この辞書独自の一意の検出器として使用できます。

カスタム辞書検出器は、正規表現や組み込みの検出器で簡単に照合できない単語やフレーズのリストをスキャンする場合に役立ちます。たとえば、会議室をスキャンする場合に、会議室が通常、番号ではなく割り当てられている名前(都道府県名や地域名、ランドマーク、架空の文字など)で呼ばれているとします。こうした会議室名のリストを含めて、標準のカスタム辞書検出器を作成できます。機密データの保護は、各会議室名の内容をスキャンし、コンテキスト内でいずれかの会議室名が検出されると一致を返します。機密データの保護で辞書の単語とフレーズを照合する方法については、標準のカスタム辞書検出器の作成の「辞書の照合の詳細」セクションをご覧ください。

標準のカスタム辞書 infoType 検出器の働きと実際の使用例については、標準のカスタム辞書検出器の作成をご覧ください。

格納されるカスタム辞書検出器

格納されるカスタム辞書検出器を使用するのは、スキャンする単語やフレーズの数が 2~3 個を超える場合や、単語やフレーズのリストが頻繁に変更される場合です。格納されるカスタム辞書検出器では、最大で数千万個もの単語やフレーズに対する照合を実施できます。

格納されるカスタム辞書検出器は、本来非常に大規模なカスタム検出器であるため、正規表現のカスタム検出器と標準のカスタム辞書検出器のどちらとも異なる方法で作成されます。格納されるカスタム辞書には、それぞれ次の 2 つのコンポーネントがあります。

  • 作成、定義するフレーズのリスト。このリストは、Cloud Storage 内のテキスト ファイルまたは BigQuery テーブル内の列として保存されます。
  • 生成された辞書ファイル。フレーズリストに基づいて機密データの保護によって生成されます。辞書ファイルは Cloud Storage に保存され、ソースフレーズ データのコピーと、検索やマッチングに役立つブルーム フィルタで構成されます。辞書ファイルは直接編集できません。

単語リストを作成し、機密データの保護を使用してカスタム辞書を生成したら、他の infoType 検出器と同様の方法で、格納されるカスタム辞書検出器を使用するスキャンを開始またはスケジュールします。

格納されるカスタム辞書検出器の働きと実際の使用例については、格納されるカスタム辞書検出器の作成をご覧ください。

正規表現

正規表現(regex)カスタム infoType 検出器を使用すると、機密データの保護で正規表現パターンに基づいて一致を検出するための独自の infoType 検出器を作成できます。たとえば、###-#-##### という形式のカルテ番号があるとします。この場合、次のような正規表現パターンを定義できます。

[1-9]{3}-[1-9]{1}-[1-9]{5}

機密データの保護では、次のような項目が照合されます。

123-4-56789

各カスタム infoType の一致に割り当てる可能性も指定できます。つまり、機密データの保護で順序が指定したシーケンスと一致すると、ユーザーが指定した可能性が割り当てられます。 カスタム正規表現によって定義されたシーケンスが一般性が高く、他のランダムなシーケンスと容易に一致する場合に、機密データの保護によってすべての一致に VERY_LIKELY のラベルを付けたくないため、これは有効です。スキャン結果の信頼性が損なわれ、誤った情報を匿名化するおそれがあります。

正規表現のカスタム infoType 検出器の詳細と実際の使用例については、カスタム正規表現検出器の作成をご覧ください。

検査ルール

検査ルールを使用して、既存の infoType 検出器(組み込みまたはカスタム)によって返される結果を細かく調整できます。既存の infoType 検出器でルールを追加および除外することで、機密データの保護から返される結果を適切な内容にする必要がある場合に、検査ルールが有効です。

検査ルールには 2 種類あります。

  • 除外ルール
  • ホットワード ルール

検査ルールの詳細については、スキャン結果を絞り込むための infoType 検出器の変更をご覧ください。

除外ルール

除外ルールを適用すると、組み込みまたはカスタムの infoType 検出器にルールを追加することで、返される結果の数を少なくしたり精度を低くしたりできます。除外ルールを適用すると、infoType 検出器によって返される結果に含まれるノイズや不要な内容を少なくできます。

たとえば、メールアドレスのデータベースをスキャンする場合、除外ルールをカスタムの正規表現の形式で追加することで、末尾が「@example.com」の結果を除外するように機密データの保護に指示できます。

除外ルールの詳細については、スキャン結果を絞り込むための infoType 検出器の変更をご覧ください。

ホットワード ルール

起動ワードルールを適用すると、組み込みまたはカスタムの infoType 検出器にルールを追加することで、返される結果の数を増やしたり精度を高くしたりできます。ホットワード ルールによって、既存の infoType 検出器のルールを効果的に緩和できます。

たとえば、医療データベースで患者名をスキャンするとします。機密データの保護の組み込み PERSON_NAME infoType 検出器を使用できますが、その場合、機密データの保護では、患者名だけでなくすべての人の名前が一致してしまいます。これを修正するには、起動ワードルールを正規表現のカスタム infoType の形式で組み込んで、一致候補の最初の文字から特定の文字の近接性の範囲内で単語「患者」を探します。このパターンに一致した結果は特殊な基準を満たしているので、可能性として「very likely」を割り当てることができます。

ホットワード ルールの詳細については、スキャン結果を絞り込むための infoType 検出器の変更をご覧ください。