起動ワードルールを使用すると、組み込みとカスタムの infoType 検出器を強力なコンテキスト ルールで拡張できます起動ワードルールは、検出結果の近くで起動ワードがあるかどうかに応じて、検出結果の可能性を調整するように機密データの保護に指示します。起動ワードルールは、ルールセットで指定される検査ルールの一種です。各ルールは、組み込みまたはカスタムの infoType のセットに適用されます。
ホットワード ルールの詳細
infoType 検出器にはホットワード ルールを 1 つ以上含めることができます。あるいは、まったく含めなくてもかまいません。検査構成では、次のように rules
配列内に各 HotwordRule
オブジェクトを定義します。
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"REGEX_PATTERN"
},
"proximity":{
"windowAfter":"NUM_CHARS_TO_CONSIDER_AFTER_FINDING",
"windowBefore":"NUM_CHARS_TO_CONSIDER_BEFORE_FINDING"
}
"likelihoodAdjustment":{
"fixedLikelihood":"LIKELIHOOD_VALUE"
-- OR --
"relativeLikelihood":"LIKELIHOOD_ADJUSTMENT"
},
}
},
...
]
次のように置き換えます。
- REGEX_PATTERN: 何をホットワードとして限定するかを定義する正規表現(
Regex
オブジェクト)。 - NUM_CHARS_TO_CONSIDER_AFTER_FINDING: 検出結果の後の文字の範囲。機密データの保護はこの範囲を分析して、結果の近くで起動ワードが発生しているかどうかを確認します。
NUM_CHARS_TO_CONSIDER_BEFORE_FINDING: 検出結果の前の文字の範囲。機密データの保護はこの範囲を分析して、結果の近くで起動ワードが発生しているかどうかを確認します。
LIKELIHOOD_VALUE: 結果を設定する固定された
Likelihood
レベル。LIKELIHOOD_ADJUSTMENT: 機密データの保護が結果の可能性を増減させる必要がある数値。正の整数は可能性レベルを増やし、負の整数は減らします。たとえば、検出ルールを適用しない状態で結果が
POSSIBLE
になる場合に、relativeLikelihood
の値が 1 であれば、その結果はLIKELY
にアップグレードされます。relativeLikelihood
が -1 の場合、検出結果はUNLIKELY
にダウングレードされます。可能性は、VERY_UNLIKELY
を下回ることも、VERY_LIKELY
を超えることもできません。この場合、可能性レベルは変わりません。たとえば、基本の可能性がVERY_LIKELY
で、relativeLikelihood
が 1 の場合、最終的な可能性はVERY_LIKELY
のままです。
ホットワードの例: カルテ番号を照合する
カルテ番号(MRN)などのカスタム infoType を「###-#-#####」の形式で検出するとします。また、機密データの保護で、ホットワード「MRN」に続く各検出結果の一致の可能性を高める必要があります。
値の例:
- 123-4-56789 は
POSSIBLE
として一致します。 - MRN 123-4-56789 は
VERY_LIKELY
として一致します。
次の JSON の例とコード スニペットは、ホットワード ルールの構成方法を示しています。この例では、カスタム正規表現検出機能を使用します。
この例では、次のことに注意してください。
- このリクエストでは、正規表現
[0-9]{3}-[0-9]{1}-[0-9]{5}
と一致する文字列の検出器であるC_MRN
カスタム infoType が定義されています。 - 正規表現
(?i)(mrn|medical)(?-i)
は起動ワードを定義します。機密データの保護は、proximity
フィールドで定義された文字の範囲内でこの起動ワードを検索します。 - セット
proximity
内に起動ワードがあるC_MRN
の検出結果ごとに、機密データの保護は可能性レベルをVERY_LIKELY
に設定します。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
HTTP メソッドと URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
PROJECT_ID
の部分は、プロジェクト ID で置き換えます。
JSON 入力:
{
"item":{
"value":"Patient's MRN 444-5-22222 and just a number 333-2-33333"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[0-9]{3}-[0-9]{1}-[0-9]{5}"
},
"likelihood":"POSSIBLE",
}
],
"ruleSet":[
{
"infoTypes": [{"name" : "C_MRN"}],
"rules":[
{
"hotwordRule":{
"hotwordRegex":{
"pattern":"(?i)(mrn|medical)(?-i)"
},
"likelihoodAdjustment":{
"fixedLikelihood":"VERY_LIKELY"
},
"proximity":{
"windowBefore":10
}
}
}
]
}
]
}
}
JSON 出力(一部を省略):
{ "result": { "findings": [ { "infoType": { "name": "C_MRN" }, "likelihood": "VERY_LIKELY", "location": { "byteRange": { "start": "14", "end": "25" }, "codepointRange": { ... } } }, { "infoType": { "name": "C_MRN" }, "likelihood": "POSSIBLE", "byteRange": { "start": "44", "end": "55" }, "codepointRange": { ... } } } ] } }
出力は、機密データの保護が C_MRN
カスタム infoType 検出器を使用して、カルテ番号を正しく識別したことを示しています。さらに、起動ワードルールのコンテキスト照合により、機密データの保護は設定どおり、セットproximity
内の MRN を持つ最初の結果に可能性VERY_LIKELY
を割り当てました。2 番目の結果ではコンテキストが不足しているため、likelihood
は POSSIBLE
に留まっています。
起動ワードの例: テーブル列に一致する可能性を設定する
この例では、データの列全体の一致の可能性を設定する方法を示します。この方法は、検査結果からデータ列を除外する場合などに便利です。
以下のテーブルを例に取り上げます。1 つの列にはプレースホルダの社会保障番号(SSN)が含まれ、もう 1 つの列には実際の SSN が含まれます。
偽の社会保障番号 | 実際の社会保障番号 |
---|---|
111-11-1111 | 222-22-2222 |
インスペクション結果のノイズを最小限に抑えるには、Fake Social Security Number
列の検出結果を除外します。この列に低い可能性レベルを割り当てます。次に、その可能性レベルのマッチを結果から除外するようにリクエストを設定します。
この例では、次のことに注意してください。
- ホットワード ルールが
US_SOCIAL_SECURITY_NUMBER
infoType に適用されます。 - 起動ワードの正規表現
(Fake Social Security Number)
には、プレースホルダ値を持つ列の名前が含まれます。 windowBefore
プロパティは 1 に設定されています。つまり、起動ワードは列ヘッダーにあり、検出結果は列内に存在する必要があります。- この列の
US_SOCIAL_SECURITY_NUMBER
の各検出結果について、機密データの保護により可能性レベルがVERY_UNLIKELY
に設定されます。 minLikelihood
プロパティはPOSSIBLE
に設定されています。つまり、可能性レベルがPOSSIBLE
未満の検出結果は検査結果から除外されます。
JSON で DLP API を使用する方法については、JSON クイックスタートをご覧ください。
HTTP メソッドと URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
PROJECT_ID
の部分は、プロジェクト ID で置き換えます。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
JSON 入力:{
"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": [
{
"hotwordRule": {
"hotwordRegex": {
"pattern": "(Fake Social Security Number)"
},
"likelihoodAdjustment": {
"fixedLikelihood": "VERY_UNLIKELY"
},
"proximity": {
"windowBefore": 1
}
}
}
]
}
],
"minLikelihood": "POSSIBLE"
}
}
JSON 出力:
{ "result": { "findings": [ { "quote": "222-22-2222", "infoType": { "name": "US_SOCIAL_SECURITY_NUMBER" }, "likelihood": "VERY_LIKELY", "location": { "byteRange": { "end": "11" }, "codepointRange": { "end": "11" }, "contentLocations": [ { "recordLocation": { "fieldId": { "name": "Real Social Security Number" }, "tableLocation": {} } } ] }, "createTime": "TIMESTAMP", "findingId": "TIMESTAMP" } ] } }
Fake Social Security Number
列の値 111-11-1111 は起動ワードルールと一致したため、機密データの保護は VERY_UNLIKELY
可能性レベルを割り当てます。このレベルは、検査構成(POSSIBLE
)で設定された最低の可能性よりも低いため、この検出結果は検査結果から除外されます。
ルールセットを削除することで、この例を試すことができます。機密データの保護の結果には 111-11-1111 が含まれています。