创建关键字词典

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

在 Office 365 中的数据丢失保护 (DLP) 可以识别、 监视和保护敏感信息。识别敏感信息有时需要寻找关键字,特别是在识别通用内容 (如医疗保健相关通信) 或不正确或显式语言。同时在敏感信息类型,您可以创建关键字列表,关键字列表的大小限制,需要修改 XML 以创建或编辑它们。关键字词典提供更简单的管理关键字以及在较大规模,支持每个词典达 100000 条款。

创建关键字词典基本步骤

您的词典的关键字可能来自各种来源,最经常从文件 (如.csv 或.txt 列表),从在 cmdlet,直接输入一个列表或现有词典。当您创建关键字词典时,您可以按照相同的核心步骤:

  1. 连接到安全和合规性中心 PowerShell -请参阅本主题

  2. 定义或从您预期的源加载关键字-cmdlet 来创建关键字词典接受的关键字,以逗号分隔的列表,以便根据您的关键字来自此步骤会略有不同。

  3. 编码关键字-一次加载、 它们在导入之前转换为字节数组。

  4. 创建您的词典-选择的名称和说明,然后创建您的词典。

从逗号分隔的列表创建关键字词典

您可以在 cmdlet 来定义您内嵌关键字列表。若要说明这一点,本示例,请创建医疗术语的关键字词典。首先,您需要向连接到安全和合规性中心 PowerShell。。接下来,您将通过运行此命令定义关键字的列表:

$keywords = "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"

您可以创建字典之前,您需要通过运行此命令以字节数组的形式编码关键字:

$encodedKeywords = [system.Text.Encoding]::UTF8.GetBytes($keywords)

现在,您可以通过运行此命令创建关键字词典:

New-DlpKeywordDictionary -Name "Diseases" -Description "Names of diseases and injuries from ICD-10-CM lexicon" -FileData $encodedKeywords 

词典现在我们策略或自定义的敏感信息类型中创建并准备好使用。若要查看内容,请运行以下命令:

Get-DlpKeywordDictionary -Name "Diseases"

命令的输出如下所示:

RunspaceId        : d9a79cc1-66d7-4735-978f-af212b80b2bc
Identity          : 84d97c1a-2d7a-4589-9092-940ac037cb15
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,
                    abetalipoproteinemia, abiotrophy, ablatio, ablation, ablepharia, abocclusion, abolition, aborter, abortion, abortus,
                    aboulomania, abrami's disease
IsValid           : True
ObjectState       : Unchanged

从文件创建关键字词典

通常,当您需要创建大型词典,它是从某些其他来源使用来自文件的关键字或导出的列表。在此例中,您将创建关键字词典包含不正确的语言,以屏幕外部电子邮件中的列表。您需要先连接到安全和合规性中心 PowerShell。

现在,您将导入该文件,使用Get-Content cmdlet (使用Get-Content因为Import-CSV会将第一行作为列标题)

$csv = get-Content "C:\my path\InappropriateTerms.csv"

现在,您将加入用逗号分隔的关键字,并将其转换为字节数组通过运行以下命令创建关键字词典时要使用:

$keywords = $csv -Join ","
$encodedKeywords = [system.Text.Encoding]::UTF8.GetBytes($keywords)
New-DlpKeywordDictionary -Name "Inappropriate Language" -Description "Unprofessional and inappropriate terminology" -FileData $encodedKeywords

修改现有关键字词典

您可能需要修改您的关键字词典之一中的关键字或修改某个内置词典。在此示例中,我们将修改一些 PowerShell 中, 保存术语本地其中您可以对其进行修改,在编辑器中,和然后就地更新以前术语的术语。 首先,检索词典对象:

$dict = Get-DlpKeywordDictionary -Name "Diseases"

打印$dict 将显示不同的变量。 自己的关键字存储在对象后端,但$dict.KeywordDictionary包含的字符串表示形式它们,您将使用要修改的词典。修改词典之前,您需要的术语的字符串转换回数组使用.split(‘,’)方法。 然后,您将清理不需要使用.trim()方法,离开只需使用关键字的关键字间距。

$terms = $dict.KeywordDictionary.split(',').trim()

现在,将删除词典中的一些术语。 因为示例词典具有仅几个关键字,您可以轻松跳到导出该词典和在记事本中,对其进行编辑,但词典通常包含大量文本的因此将首先了解 PowerShell 中轻松地编辑此方法。

在最后一步中,您保存到一个数组关键字。 有几种方式为数组中的项目中删除,但为简单的方法,将创建的条件下您要删除该词典,数组,然后将仅词典条款复制到其未在列表中要删除的术语。

运行命令$terms以显示当前列表的术语。命令的输出如下所示:

aarskog's syndrome
abandonment
abasia
abderhalden-kaufmann-lignac
abdominalgia
abduction contracture
abetalipoproteinemia
abiotrophy
ablatio
ablation
ablepharia
abocclusion
abolition
aborter
abortion
abortus
aboulomania
abrami's disease

运行以下命令以指定要删除的术语:

$termsToRemove = @('abandonment', 'ablatio')

运行以下命令以实际从列表中删除术语:

$updatedTerms = $terms | Where-Object{ $_ -notin $termsToRemove }

运行命令$updatedTerms以显示更新的术语的列表。命令的输出如下所示 (已删除指定的条件下):

aarskog's syndrome
abasia
abderhalden-kaufmann-lignac
abdominalgia
abduction contracture
abetalipo proteinemia
abiotrophy
ablation
ablepharia
abocclusion
abolition
aborter
abortion
abortus
aboulomania
abrami's disease

现在将词典保存到本地,并添加一些更多条件。 您可以在 PowerShell,添加条款就在这里,但您仍需要导出本地以确保它具有使用 Unicode 编码保存,其中包含清单的文件。

通过运行以下本地保存词典:

Set-Content $updatedTerms -Path "C:\myPath\terms.txt"

现在只需打开的文件,添加您附加条款,并保存使用 Unicode 编码 (utf-16)。 现在,您将上载更新的条款,更新的词典中的位置。

PS> Set-DlpKeywordDictionary -Identity "Diseases" -FileData (Get-Content -Path "C:myPath\terms.txt" -Encoding Byte -ReadCount 0)

现在已就地更新该词典。请注意Identity字段所需的词典的名称。 如果您想要更改您使用set- cmdlet 的词典的名称,您只需要将-Name参数添加到您的新词典名称上方的。

使用自定义的敏感信息类型和 DLP 策略中的关键字词典

关键字词典可以用作自定义的敏感信息类型,匹配要求的一部分,或者为敏感信息键入本身。同时需要创建自定义的敏感信息类型。按照创建敏感信息类型链接本文中的说明。 XML 后,您需要使用它的词典的 GUID 标识符。

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

要获取您的词典的标识,请运行以下命令并复制Identity属性值:

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

粘贴到您的自定义的敏感信息类型的 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 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×