Создание словаря ключевых слов

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

Служба защиты от потери данных в Office 365 позволяет обнаруживать, отслеживать и защищать конфиденциальные данные. Для обнаружения конфиденциальных данных иногда требуется поиск по ключевым словам, в частности при обнаружении стандартного контента (например, обмена данными, касающимися здравоохранения), а также неуместной или нецензурной лексики. Для создания или изменения списков ключевых слов в типах конфиденциальных данных требуется изменить XML-код, и размер этих списков ограничен. Словари ключевых слов (до 100 000 терминов в каждом) обеспечивают более простое и масштабное управление ключевыми словами.

Основные этапы создания словаря ключевых слов

Ключевые слова для словаря можно брать из разных источников. Чаще всего это файл (например, CSV или TXT), список, вводимый прямо в командлете, или существующий словарь. При создании словаря ключевых слов выполняются одни и те же основные действия.

  1. Подключение к PowerShell в Центре безопасности и соответствия требованиям: см. эту статью.

  2. Определение или загрузка ключевых слов из запланированного источника: командлет для создания словаря ключевых слов принимает список слов, разделенных запятыми, так что этот этап будет в какой-то степени зависеть от выбранного источника ключевых слов.

  3. Кодирование ключевых слов: после загрузки, но до импорта они преобразуются в массив байтов.

  4. Создание словаря: выбираете имя и описание, затем создаете словарь.

Создание словаря ключевых слов из списка с разделителями-запятыми

Также можно определить встроенного списка ключевых слов в командлет. В этом примере в качестве примера, создание словаря ключевое слово медицинских терминов. Во-первых необходимо подключиться к безопасность и соответствие требованиям центр 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 (при использовании Get-Content , так как Import-CSV рассматривает первой строки заголовков столбцов)

$csv = get-Content "C:\my path\InappropriateTerms.csv" -Encoding Byte -ReadCount 0

Теперь вам нужно соединить ключевые слова запятыми и преобразовать их в массив байтов, чтобы использовать при создании словаря с помощью этой команды:

$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, но вам все равно потребуется экспортировать файл локально, чтобы он сохранился в кодировке Юникод и содержал спецификацию.

Сохраните слова локально с помощью этой команды:

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

Затем просто откройте файл, добавьте дополнительные термины и сохраните его в кодировке Юникод (UTF-16). Теперь отправим обновленные термины и обновим словарь на месте.

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

Словарь обновлен. В поле Identity указывается имя словаря. Если вы также хотите изменить имя словаря с помощью командлета set-, вам достаточно будет добавить параметр -Name с новым именем.

Использование словарей ключевых слов в пользовательских типах конфиденциальных данных и политиках защиты от потери данных

Словари ключевых слов можно использовать как часть требований соответствия для пользовательских типов конфиденциальных данных или как сами эти типы. В обоих случаях необходимо создать пользовательский тип конфиденциальных данных. Следуя инструкциям в связанной статье, создайте тип конфиденциальных данных. После того как вы получите 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.

×