機密データの保護の組み込みの infoType 検出器は、一般的なタイプの機密データを検出するのに有効です。カスタムの infoType 検出器を使用すると、独自の機密データ検出器を自由にカスタマイズできます。検査ルールによって、特定の infoType 検出器の検出メカニズムを変更し、機密データの保護から返されるスキャン結果を絞り込むことができます。
組み込みの infoType 検出器から返される結果から値を除外または追加する場合は、新しいカスタム infoType を最初から作成し、機密データの保護が検索する基準をすべて定義します。また、機密データの保護の組み込みまたはカスタムの検出器から返される結果を特定の基準で絞り込むこともできます。これを行うには、ノイズの低減、適合率と再現率の増加、スキャン結果の確実性調整に役立つ検査ルールを追加します。
このトピックでは、2 種類の検査ルールを使用して、指定したカスタム条件に基づいて特定の検索結果を除外または追加する方法について説明します。また、既存の infoType 検出器を変更する場合のシナリオをいくつか紹介します。
検査ルールには 2 種類あります。
- 除外ルール。誤った検索結果や望ましくない検索結果を除外するのに役立ちます。
- ホットワード ルール。追加の検索結果を検出するのに役立ちます。
除外ルール
除外ルールは、次のような状況で役立ちます。
- infoType 検出器の重複によって生じた、重複したスキャン一致を結果から除外する場合。たとえば、メールアドレスと電話番号をスキャンする際に、電話番号の入ったメールアドレス(「206-555-0764@example.org」など)によって 2 つの結果がヒットする場合です。
- スキャン結果にノイズが発生している場合。たとえば、適正なメールアドレスのスキャンで、同じ仮のメールアドレス(「example@example.com」など)またはドメイン(「example.com」など)が無数に返される場合です。
- 結果から除外する用語や、フレーズ、文字の組み合わせのリストがある場合。
- 結果からデータ列全体を除外する必要がある場合。
- 正規表現と一致する文字列に近い検出結果を除外する必要があります。
除外ルール API の概要
機密データの保護では、ExclusionRule
オブジェクトで除外ルールを定義します。ExclusionRule
で、次のいずれかを指定します。
Dictionary
オブジェクト。結果から除外する文字列のリストが含まれます。- 正規表現パターンを定義する
Regex
オブジェクト。パターンに一致する文字列は結果から除外されます。 ExcludeInfoTypes
オブジェクト。infoType 検出器の配列が含まれます。ここにリストされている infoType 検出器のいずれかと検索結果が一致する場合、その検索結果は結果から除外されます。ExcludeByHotword
オブジェクト。次のものを含むオブジェクトです。- 起動ワードを定義する正規表現。
- 起動ワードの検出結果への近接度を定義する近接値。
検出結果が設定された近接範囲内にある場合、その検出結果は結果から除外されます。テーブルの場合、この除外ルール タイプを使用すると、データ列全体を結果から除外できます。
除外ルールのシナリオ例
次の各 JSON スニペットは、特定のシナリオにおける機密データの保護の構成方法を示しています。
EMAIL_ADDRESS 検出器スキャンから特定のメールアドレスを除外する
次の JSON スニペットと複数の言語のコードは、EMAIL_ADDRESS
infoType 検出器を使用するスキャンで、「example@example.com」との一致を避けるように、InspectConfig
を使用して機密データの保護に指示する方法を示しています。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"rules":[
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"example@example.com"
]
}
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
EMAIL_ADDRESS 検出器スキャンから特定のドメインで終わるメールアドレスを除外する
次の JSON スニペットと複数の言語のコードは、EMAIL_ADDRESS
infoType 検出器を使用するスキャンで、「@example.com」で終わるメールアドレスとの一致を避けるように、InspectConfig
を使用して機密データの保護に指示する方法を示しています。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"rules":[
{
"exclusionRule":{
"regex":{
"pattern":".+@example.com"
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
部分文字列「TEST」を含むスキャン一致をすべて除外する
次の JSON スニペットと複数の言語で記述されたコードは、InspectConfig
を使用して、トークン「TEST」を含むスキャン結果を指定した infoType のリストから除外するように機密データの保護へ示す方法を表したものです。
これは部分文字列ではなくトークンとして「TEST」と照合されるため、「TEST@email.com」のような文字列は一致しますが、「TESTER@email.com」は一致しないことにご注意ください。部分文字列で照合する場合は、辞書ではなく除外ルールで正規表現を使用します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"DOMAIN_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"PERSON_NAME"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
},
{
"name":"DOMAIN_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"TEST"
]
}
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
カスタム infoType 検出器のスキャンで部分文字列「Jimmy」を含むスキャンの一致を除外する
次の JSON スニペットと複数の言語のコードは、指定されたカスタム正規表現検出器を使用するスキャンで、「Jimmy」という名前との一致を避けるように、InspectConfig
を使用して機密データの保護に指示する方法を示しています。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_NAME_DETECTOR"
},
"regex":{
"pattern":"[A-Z][a-z]{1,15}, [A-Z][a-z]{1,15}"
}
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"CUSTOM_NAME_DETECTOR"
}
],
"rules":[
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"Jimmy"
]
}
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
PERSON_NAME 検出器スキャンからカスタム検出器と重複するスキャン一致を除外する
このシナリオでは、スニペットの最初の部分で定義されているカスタム正規表現検出器を使用したスキャンで一致した結果を、PERSON_NAME
組み込み検出器を使用した機密データの保護スキャンで一致させないようにします。
次の JSON スニペットと複数の言語のコードは、InspectConfig
でカスタム正規表現検出器と除外ルールの両方を指定しています。カスタム正規表現検出器では、結果から除外する名前を指定しています。除外ルールでは、PERSON_NAME
スキャンから返された結果がカスタム正規表現検出器でも一致する場合に除外するよう指定しています。この例で、VIP_DETECTOR
は EXCLUSION_TYPE_EXCLUDE
として指定されているため、結果自体が生成されません。影響があるのは PERSON_NAME
検出器によって生成される結果のみです。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"customInfoTypes":[
{
"infoType":{
"name":"VIP_DETECTOR"
},
"regex":{
"pattern":"Dana Williams|Quinn Garcia"
},
"exclusionType":"EXCLUSION_TYPE_EXCLUDE"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"VIP_DETECTOR"
}
]
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
]
}
...
EMAIL_ADDRESS 検出器でも一致する場合に PERSON_NAME 検出器の一致を除外する
次の JSON スニペットと複数の言語のコードは、EMAIL_ADDRESS
検出器の一致が PERSON_NAME
検出器の一致と重複した場合に 1 つの一致のみを返すように、InspectConfig
を使用して機密データの保護に指示する方法を示しています。こうすることで、「james@example.com」などのメールアドレスが PERSON_NAME
検出器と EMAIL_ADDRESS
検出器の両方で一致する状況を避けられます。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"EMAIL_ADDRESS"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
DOMAIN_NAME 検出器スキャンでメールアドレスの一部であるドメイン名の一致を除外する
次の JSON スニペットと複数の言語のコードは、EMAIL_ADDRESS
検出器スキャンの一致と重複しない場合に、DOMAIN_NAME
検出器スキャンの一致のみを返すように、InspectConfig
を使用して機密データの保護に指示する方法を示しています。このシナリオで、メインのスキャンは DOMAIN_NAME
検出器スキャンです。ドメイン名がメールアドレスで使用されている場合、検出結果にドメイン名の一致が返されないようにします。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"DOMAIN_NAME"
},
{
"name":"EMAIL_ADDRESS"
}
],
"customInfoTypes":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"exclusionType":"EXCLUSION_TYPE_EXCLUDE"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"DOMAIN_NAME"
}
],
"rules":[
{
"exclusionRule":{
"excludeInfoTypes":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
一致が文字列の近くにある場合は省略する
次の例は、単語「SKU」が検出結果の前後 10 文字以内にある場合に、US_SOCIAL_SECURITY_NUMBER
infoType 検出器で一致を除外する方法を示しています。
除外ルールにより、この例では 222-22-2222
は米国の社会保障番号として分類されません。
{
"item": {
"value": "The customer sent the product SKU 222-22-2222"
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"exclusionRule": {
"excludeByHotword": {
"hotwordRegex": {
"pattern": "(SKU)"
},
"proximity": {
"windowBefore": 10,
"windowAfter": 10
}
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
],
"includeQuote": true
}
}
データの列全体の検出結果を除外する
次の例は、テーブルデータの列の名前が正規表現と一致する場合に、その列全体の検出結果を除外する方法を示しています。ここでは、US_SOCIAL_SECURITY_NUMBER
infoType 検出器に一致する結果が [Fake Social Security Number] 列に含まれている場合、その検出結果は結果から除外されます。
この例では、111-11-1111
が [Fake Social Security Number列にあるため、222-22-2222
のみを返します。
{
"item": {
"table": {
"headers": [
{
"name": "Fake Social Security Number"
},
{
"name": "Real Social Security Number"
}
],
"rows": [
{
"values": [
{
"stringValue": "111-11-1111"
},
{
"stringValue": "222-22-2222"
}
]
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"includeQuote": true,
"ruleSet": [
{
"infoTypes": [
{
"name": "US_SOCIAL_SECURITY_NUMBER"
}
],
"rules": [
{
"exclusionRule": {
"excludeByHotword": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"proximity": {
"windowBefore": 1
}
},
"matchingType": "MATCHING_TYPE_FULL_MATCH"
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
起動ワードルール
起動ワードルールは次のような状況で役立ちます。
- スキャンの一致に割り当てられた可能性の値を、ホットワードへの一致の近接度に基づいて変更したい場合。たとえば、「patient(患者)」という単語への患者名の近接度に応じて、その名前に対する一致の可能性値を高く設定したい場合です。
- 構造化された表形式データを調べる際、列のヘッダー名に基づいて一致に割り当てられた可能性の値を変更したい場合。たとえば、ヘッダー
ACCOUNT_ID
の列のデータに対し、US_SOCIAL_SECURITY_NUMBER
の可能性値を高く設定したい場合です。
ホットワード ルール API の概要
機密データの保護の InspectionRule
オブジェクト内で、HotwordRule
オブジェクトを指定します。このオブジェクトでは、ホットワードへの一定の近接度の範囲内において、検索結果の可能性の値を調整します。
InspectionRule
オブジェクトは、ルールセットが適用される infoType 検出器のリストとともに、「ルールセット」として InspectionRuleSet
オブジェクトにグループ化されます。ルールセット内のルールは、指定された順序で適用されます。
ホットワード ルールのシナリオ例
次のコード スニペットは、特定のシナリオにおける機密データの保護の構成方法を示しています。
ホットワード「patient」が近くにある場合に PERSON_NAME の一致の可能性を高める
次の JSON スニペットと複数の言語のコードは、医療データベースで患者名をスキャンするために、InspectConfig
プロパティを使用する方法を示しています。機密データの保護の組み込み PERSON_NAME
infoType 検出器を使用できますが、その場合、機密データの保護では、患者名だけでなくすべての人の名前が一致してしまいます。これを修正するには、ホットワード ルールを組み込んで、一致候補の最初の文字から特定の文字の近接度の範囲内で単語「patient」を探します。このパターンに一致した結果は特殊な基準を満たしているので、可能性として「very likely」を割り当てることができます。InspectConfig
内で最低限の Likelihood
を VERY_LIKELY
に設定しておくと、この構成に一致するもののみが結果で返されるようになります。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"patient"
},
"proximity":{
"windowBefore":50
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
}
}
}
]
}
],
"minLikelihood":"VERY_LIKELY"
}
...
ホットワードの詳細については、一致の可能性のカスタマイズをご覧ください。
複数の検査ルールのシナリオ
次の InspectConfig
JSON スニペットと複数の言語のコードは、除外ルールと起動ワードルールの両方を適用する方法を示しています。このスニペットのルールセットには、起動ワードルールと、辞書と正規表現の除外ルールの両方が含まれています。rules
要素内の配列に 4 つのルールが指定されている点に注目してください。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
...
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"ruleSet":[
{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"patient"
},
"proximity":{
"windowBefore":10
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
}
}
},
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"doctor"
},
"proximity":{
"windowBefore":10
},
"likelihoodAdjustment":{
"fixedLikelihood":"UNLIKELY"
}
}
},
{
"exclusionRule":{
"dictionary":{
"wordList":{
"words":[
"Quasimodo"
]
}
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
},
{
"exclusionRule":{
"regex":{
"pattern":"REDACTED"
},
"matchingType": "MATCHING_TYPE_PARTIAL_MATCH"
}
}
]
}
]
}
...
infoType 検出器の重複
カスタム infoType 検出器には、組み込みの infoType 検出器と同じ名前を定義することが可能です。ホットワード ルールのシナリオ例で示したように、組み込みの infoType 検出器と同じ名前のカスタム infoType 検出器を作成すると、新しい infoType 検出器で検出された結果が、組み込み検出器で検出された結果に追加されます。この現象は、組み込みの infoType が InspectConfig
オブジェクト内の infoType のリストに指定されている場合に限り発生します。
新しいカスタム infoType 検出器を作成する場合は、サンプル コンテンツに対して十分にテストし、意図したとおりに機能するようにします。