キーワード 辞書を作成する

Microsoft Purview では、機密性の高いアイテムを特定、監視、保護できます。 機密アイテムの識別には、特に汎用コンテンツ (医療関連の通信など) または不適切な言語や露骨な表現を識別するときに、キーワードを検索する必要がある場合があります。 カスタム機密情報の種類を作成するときにキーワード (keyword)リストを作成できますが、キーワード (keyword)リストのサイズは制限され、PowerShell で作成する場合は、XML を変更して作成または編集する必要があります。

一方、キーワード (keyword)ディクショナリでは、キーワードの管理が簡単になり、はるかに大規模に提供され、ディクショナリで最大 1 MB の用語 (圧縮後) がサポートされます。 さらに、キーワード (keyword)ディクショナリは任意の言語をサポートできます。 テナント制限は、圧縮後も 1 MB です。 圧縮後の制限は 1 MB です。これは、テナント全体で結合されたすべてのディクショナリが 100 万文字に近い可能性があることを意味します。

ヒント

E5 のお客様でない場合は、90 日間の Microsoft Purview ソリューション試用版を使用して、Purview の追加機能が組織のデータ セキュリティとコンプライアンスのニーズの管理にどのように役立つかを確認してください。 Microsoft Purview コンプライアンス ポータルのトライアル ハブで今すぐ開始してください。 サインアップと試用期間の詳細については、こちらをご覧ください。

キーワード辞書の制限

キーワード (keyword) ディクショナリで使用されるテナントごとに、最大 50 個の機密情報の種類 (SID) を作成できます。 テナントに含まれるキーワード (keyword)ディクショナリの数を確認するには、「セキュリティ & コンプライアンス PowerShell に接続する」の手順に従ってテナントに接続し、次の PowerShell スクリプトを実行します。

$rawFile = $env:TEMP + "\rule.xml"

$kd = Get-DlpKeywordDictionary
$ruleCollections = Get-DlpSensitiveInformationTypeRulePackage
[System.IO.File]::WriteAllBytes((Resolve-Path $rawFile), $ruleCollections.SerializedClassificationRuleCollection)
$UnicodeEncoding = New-Object System.Text.UnicodeEncoding
$FileContent = [System.IO.File]::ReadAllText((Resolve-Path $rawFile), $unicodeEncoding)

if($kd.Count -gt 0)
{
$count = 0
$entities = $FileContent -split "Entity id"
for($j=1;$j -lt $entities.Count;$j++)
{
for($i=0;$i -lt $kd.Count;$i++)
{
$Matches = Select-String -InputObject $entities[$j] -Pattern $kd[$i].Identity -AllMatches
$count = $Matches.Matches.Count + $count
if($Matches.Matches.Count -gt 0) {break}
}
}

Write-Output "Total Keyword Dictionary SIT:"
$count
}
else
{
$Matches = Select-String -InputObject $FileContent -Pattern $kd.Identity -AllMatches
Write-Output "Total Keyword Dictionary SIT:"
$Matches.Matches.Count
}

Remove-Item $rawFile

キーワード辞書を作成する基本的な手順

最も一般的には、.csv や .txt リストなど、ファイル内の辞書のキーワードをコンパイルします。 PowerShell コマンドレットを使用して、ディクショナリ ファイルを作成または編集中に SIT にアップロードするか、インポートします。 Alternatley では、既存のキーワード ディクショナリから、または既存の キーワード ディクショナリから開始できます。 最後に、[add キーワード (keyword) dictionary]\(辞書の追加\) ダイアログでキーワードを手動で入力できます。 キーワード (keyword)ディクショナリを作成するときは、同じコア手順に従います。

Microsoft Purview ポータルまたは Microsoft コンプライアンス ポータルを使用して、キーワード (keyword) ディクショナリを作成する

ユーザー辞書のキーワードを作成またはインポートするには、次の手順に従います。

使用しているポータルの適切なタブを選択します。 Microsoft Purview ポータルの詳細については、 Microsoft Purview ポータルに関するページを参照してください。 コンプライアンス ポータルの詳細については、「Microsoft Purview コンプライアンス ポータル」を参照してください。

  1. Microsoft Purview ポータルInformation Protection>Classifiers 機密情報の種類に>サインインします

  2. [ + 機密情報の種類の作成 ] を選択し、機密情報の種類の [名前][説明] を入力します。 [次へ]を選択します。

  3. [ この機密情報の種類のパターンを定義する ] ページで、[ + パターンの作成] を選択します。

  4. [ 新しいパターン ] ウィンドウで、 信頼度レベルを選択します。

  5. [ プライマリ要素の追加] を選択し、[ キーワード ディクショナリ] を選択します。

  6. [add a キーワード (keyword) dictionary flyout]\(キーワード (keyword)ディクショナリの追加\) ポップアップで、次のことができます。

    1. TXT または CSV 形式で辞書ファイルをアップロードします。
    2. 既存のディクショナリから選択します
    3. または、キーワードを手動で入力して名前を付けることで、新しい辞書を作成します。
  7. [ 新しいパターン ] ウィンドウの [ 文字の近接性] で、サポート要素を検出する必要がある距離 (文字数) を指定します。 主要要素とサポート要素が互いに近いほど、検出されたコンテンツが探しているコンテンツになる可能性が高くなります。

  8. 探しているものを検出する精度を高めるために使用する サポート要素 を追加します。

  9. 追加の チェック を追加し、[ 作成] を選択します。

  10. [ 次へ ] を選択して、機密情報の種類の作成を続行します。 完了したら、[完了] を選択 します

PowerShell を使用してファイルからキーワード ディクショナリを作成する

多くの場合、大きな辞書を作成する必要がある場合は、ファイルまたは他のソースからエクスポートされたリストからキーワードを使用できます。 次の例では、外部メールで画面に表示する疾患の一覧を含むキーワード (keyword)辞書を作成します。 まず、 Security & Compliance PowerShell に接続する必要があります。

  1. テキスト ファイルにキーワードをコピーし、各キーワード (keyword)が別の行にあることを確認します。

  2. Unicode エンコードでテキスト ファイルを保存します。 メモ帳で、[エンコード>Unicodeとして>保存] に>移動します。

  3. このコマンドレットを実行して、ファイルを変数として読み取ります。

    $fileData = [System.IO.File]::ReadAllBytes('<filename>')
    
  4. このコマンドレットを実行して、ディクショナリを作成します。

    New-DlpKeywordDictionary -Name <name> -Description <description> -FileData $fileData
    

カスタムの機密情報の種類と DLP ポリシーでキーワード ディクショナリを使う

キーワード ディクショナリは、カスタムの機密情報の種類に一致する要件の一部として、または機密情報の種類自体として使用できます。 どちらも、カスタムの機密情報の種類 を作成する必要があります。 リンク先の記事の手順に従って、機密情報の種類を作成します。 XML を取得したら、ディクショナリを使用するために XML の GUID 識別子が必要になります。

<Entity id="9e5382d0-1b6a-42fd-820e-44e0d3b15b6e" patternsProximity="300" recommendedConfidence="75">
    <Pattern confidenceLevel="75">
        <IdMatch idRef=". . ."/>
    </Pattern>
</Entity>

ディクショナリの ID を取得するには、このコマンドを実行して ID のプロパティ値をコピーします。

Get-DlpKeywordDictionary -Name "Diseases"

コマンドの出力は次のようになります。

RunspaceId : 138e55e7-ea1e-4f7a-b824-79f2c4252255
Identity : 8d2d44b0-91f4-41f2-94e0-21c1c5b5fc9f
Name : Diseases
Description : Names of diseases and injuries from ICD-10-CM lexicon
KeywordDictionary : aarskog's syndrome, abandonment, abasia, abderhalden-kaufmann-lignac, abdominalgia, abduction contracture, abetalipo proteinemia, abiotrophy, ablatio, ablation, ablepharia,abocclusion, abolition, aborter, abortion, abortus, aboulomania, abrami's disease, abramo
IsValid : True
ObjectState : Unchanged

カスタム機密情報の種類の ID 値を idRef として XML に貼り付けます。 次に、XML ファイルをアップロードします。 これで、ディクショナリが機密情報の種類の一覧に表示され、ポリシーで使用でき、一致するために必要なキーワードの数を指定できます。

<Entity id="d333c6c2-5f4c-4131-9433-db3ef72a89e8" patternsProximity="300" recommendedConfidence="85">
      <Pattern confidenceLevel="85">
        <IdMatch idRef="8d2d44b0-91f4-41f2-94e0-21c1c5b5fc9f" />
      </Pattern>
    </Entity>
    <LocalizedStrings>
      <Resource idRef="d333c6c2-5f4c-4131-9433-db3ef72a89e8">
        <Name default="true" langcode="en-us">Diseases</Name>
        <Description default="true" langcode="en-us">Detects various diseases</Description>
      </Resource>
    </LocalizedStrings>

注:

Microsoft 365 Information Protection は、次のような場合に 2 バイト文字セットの言語をサポートします。

  • 中国語 (簡体字)
  • 中国語 (繁体字)
  • 韓国語
  • 日本語

このサポートは、機密情報の種類で使用できます。 詳細については、「2バイト文字セットのリリースノート (preview) についての情報保護サポー」を参照してください。

ヒント

中国語/日本語の文字と 1 バイト文字を含むパターンを検出する、または中国語/日本語と英語を含むパターンを検出するには、キーワードまたは正規表現の 2 つのバリエーションを定義します。

  • たとえば、「机密的ドキュメント」のようなキーワードを検出するには、キーワードの 2 つのバリエーションを使用します。 1 つは日本語と英語のテキストの間にスペースがあり、もう 1 つは日本語と英語のテキストの間にスペースがありません。 したがって、SITに追加するキーワードは、"机密的 document" と "机密的document" である必要があります。 同様に、"東京オリンピック2020" というフレーズを検出するには、"東京オリンピック 2020" と "東京オリンピック2020" の 2 つのバリエーションを使用する必要があります。

中国語/日本語/2 バイト文字と共に、キーワード/フレーズのリストに中国語/日本語以外の単語も含まれている場合 (スタンドアロンの英語の単語など)、2 つの辞書/キーワード (keyword)リストを作成する必要があります。 1 つは中国語/日本語/2 バイト文字を含むキーワードで、もう 1 つは英語の単語用です。

  • たとえば、"Highly confidential"、"機密性が高い"、"机密的document" の 3 つのフレーズを含むキーワード辞書/リストを作成する場合は、2 つのキーワード リストを作成する必要があります。
    1. Highly confidential
    2. 機密性が高い、机密的document、机密的 document

2 バイトのハイフンまたは 2 バイトのピリオドを使用して正規表現を作成するときは、正規表現のハイフンまたはピリオドをエスケープするように、必ず両方の文字をエスケープしてください。 参考までに、サンプルの正規表現を次に示します。

  • (?<!\d)([4][0-9]{3}[\-?\-\t]*[0-9]{4}

キーワード リストでは、単語の一致ではなく文字列の一致を使用することをお勧めします。