正規表現(regex)カスタム infoType 検出機能を使用すると、Sensitive Data Protection で正規表現パターンに基づいて一致を検出するための独自の検出機能を作成できます。たとえば、###-#-##### という形式のカルテ番号があるとします。この場合、次のような正規表現パターンを定義できます。
[0-9]{3}-[0-9]{1}-[0-9]{5}
Sensitive Data Protection は、次のような項目を照合します。
012-4-56789
正規表現のカスタム infoType 検出機能の詳細
正規表現のカスタム infoType 検出器を作成するには、API の概要で説明されているように以下を指定して CustomInfoType オブジェクトを定義します。
- カスタム infoType 検出機能に付ける名前。
InfoTypeオブジェクト内に指定します。 - オプションの
Likelihood値。指定しない場合、正規表現一致ではデフォルトの可能性の値VERY_LIKELYが返されます。正規表現のカスタム infoType 検出機能で返される結果に誤判定が多すぎると思われる場合は、基本の可能性の値を引き下げ、検出ルールを使用してコンテキスト情報によって可能性の値を引き上げてみてください。詳細については、結果の可能性のカスタマイズをご覧ください。 - オプションの
DetectionRule、または起動ワードルール。こうしたルールを適用すると、指定したホットワードの所定の近接範囲内にある結果の可能性を調整できます。起動ワード ルールの詳細については、検出結果の可能性のカスタマイズをご覧ください。 オプションの
SensitivityScore値。このフィールドを省略すると、正規表現と一致したものについて、デフォルトの機密性レベルHIGHが返されます。機密性スコアはデータ プロファイルで使用されます。データのプロファイリング時に、Sensitive Data Protection は、infoType の機密性スコアを使用して機密性レベルを計算します。
Regexオブジェクト。正規表現を定義する単一のパターンで構成されます。
正規表現のカスタム infoType 検出機能は JSON オブジェクトとしてすべての任意指定コンポーネントを含み、次のようになります。
{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_INFOTYPE_NAME"
},
"likelihood":"LIKELIHOOD_LEVEL",
"detectionRules":[
{
"hotwordRule":{
HOTWORD_RULE
}
},
"sensitivityScore":{
"score": "SENSITIVITY_SCORE"
},
],
"regex":{
"pattern":"REGULAR_EXPRESSION_PATTERN"
}
}
],
...
}
正規表現の例: カルテ番号を照合する
次の JSON スニペットと複数の言語のコードは、入力テキスト「Patient's MRN 444-5-22222」の医療記録番号を照合し、各一致に POSSIBLE の可能性を割り当てるように Sensitive Data Protection に指示する正規表現カスタム infoType 検出機能を示しています。
C#
Sensitive Data Protection 用のクライアント ライブラリをインストールして使用する方法については、Sensitive Data Protection のクライアント ライブラリをご覧ください。
Sensitive Data Protection の認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
Sensitive Data Protection 用のクライアント ライブラリをインストールして使用する方法については、Sensitive Data Protection のクライアント ライブラリをご覧ください。
Sensitive Data Protection の認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
Sensitive Data Protection 用のクライアント ライブラリをインストールして使用する方法については、Sensitive Data Protection のクライアント ライブラリをご覧ください。
Sensitive Data Protection の認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
Sensitive Data Protection 用のクライアント ライブラリをインストールして使用する方法については、Sensitive Data Protection のクライアント ライブラリをご覧ください。
Sensitive Data Protection の認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
Sensitive Data Protection 用のクライアント ライブラリをインストールして使用する方法については、Sensitive Data Protection のクライアント ライブラリをご覧ください。
Sensitive Data Protection の認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
Sensitive Data Protection 用のクライアント ライブラリをインストールして使用する方法については、Sensitive Data Protection のクライアント ライブラリをご覧ください。
Sensitive Data Protection の認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
JSON 入力:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}
{
"item":{
"value":"Patients MRN 444-5-22222"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[1-9]{3}-[1-9]{1}-[1-9]{5}"
},
"likelihood":"POSSIBLE"
}
]
}
}
JSON 出力:
{
"result":{
"findings":[
{
"infoType":{
"name":"C_MRN"
},
"likelihood":"POSSIBLE",
"location":{
"byteRange":{
"start":"13",
"end":"24"
},
"codepointRange":{
"start":"13",
"end":"24"
}
},
"createTime":"2018-11-30T01:29:37.799Z"
}
]
}
}
この出力は、指定された「C_MRN」という名前を持つカスタム infoType 検出機能とそのカスタム正規表現を使用して、Sensitive Data Protection で医療記録番号が正しく識別され、指定された POSSIBLE という確実性がこの一致に割り当てられたことを示しています。
一致の可能性のカスタマイズでは、この例を基にしてコンテキスト ワードを含めます。