Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Совместная работа на рабочем месте часто выходит за рамки организации и распространяется на внешних партнеров. Для обмена информацией за пределами сети организации требуются меры по предотвращению потери данных и применению политик соответствия. Защита информации Microsoft Purview предоставляет решения для классификации и защиты конфиденциальной информации. Метки конфиденциальности применяют эту защиту к данным в Excel, Outlook, PowerPoint и Word.
Используйте API JavaScript Office для реализации решений по меткам конфиденциальности в проектах надстроек Office и поддерживайте следующие сценарии.
- Применяйте метки конфиденциальности к документам, сообщениям или встречам в соответствии с бизнес-политиками и юридическими политиками.
- Ограничьте дополнительные действия, если применяется определенная метка конфиденциальности, например запрет пользователям добавлять внешних получателей в сообщение.
- Классифицируйте данные на основе метки конфиденциальности для поддержки аудита и отчетности.
Примечание.
В Excel, PowerPoint и Word API меток конфиденциальности доступны в предварительной версии. В Outlook поддержка функции меток конфиденциальности была введена в наборе требований 1.13. Сведения о поддержке клиентов см. в разделе Поддерживаемые клиенты и платформы.
Предварительные условия
Для использования функции меток конфиденциальности требуется подписка на Microsoft 365 E5. Проверьте, соответствуете ли вы требованиям для подписки разработчиков Microsoft 365 E5 в программе для разработчиков Microsoft 365 в разделе часто задаваемых вопросов о программе. В противном случае начните использовать бесплатную пробную версию на 1 месяц или приобретите план Microsoft 365.
Поддерживаемые клиенты и платформы
Поддержка API меток конфиденциальности зависит от приложения и платформы Office. Для поддержки Outlook требуется Exchange Online. В следующей таблице перечислены поддерживаемые сочетания.
| Приложение | Web | Windows | Mac |
|---|---|---|---|
| Excel | Предварительная версия | Предварительная версия | Предварительная версия |
| Outlook | Поддерживается | Поддерживается (новая и классическая (версия 2304 (сборка 16327.20248) или более поздняя)) |
Поддерживается (Версия 16.77 (23081600) или более поздняя) |
| PowerPoint | Предварительная версия | Предварительная версия | Предварительная версия |
| Word | Предварительная версия | Предварительная версия | Предварительная версия |
Настройка поддержки меток конфиденциальности
Примечание.
Предварительные версии API могут быть изменены и не предназначены для использования в рабочей среде. Рекомендуется использовать их только в тестовой среде и среде разработки. Не используйте предварительные API в рабочей среде или в критически важных для бизнеса документах.
Чтобы использовать API предварительной версии:
- Необходимо использовать предварительную версию библиотеки API JavaScript Office из Office.js сети доставки содержимого (CDN).
Файл определения типа для компиляции TypeScript и IntelliSense находится в сети CDN и имеет тип DefinitelyTyped. Эти типы можно установить с помощью
npm install --save-dev @types/office-js-preview. - Возможно, вам потребуется присоединиться к программе предварительной оценки Microsoft 365 для доступа к более свежим сборкам Office.
API меток конфиденциальности Excel, PowerPoint и Word используют схожий шаблон программирования. В каждом узле контекст запроса предоставляет доступ к каталогу меток конфиденциальности, а объект-файл для хоста предоставляет методы для получения или обновления своей метки.
В следующей таблице перечислены члены API, используемые для доступа к каталогу меток конфиденциальности и меткам, применяемым к файлам в каждом хост-приложении Office.
| Приложение | Каталог меток конфиденциальности | Метка конфиденциальности на файле |
|---|---|---|
| Excel | context.sensitivityLabelsCatalog |
context.workbook.sensitivityLabel |
| PowerPoint | context.sensitivityLabelsCatalog |
context.presentation.sensitivityLabel |
| Word | context.sensitivityLabelsCatalog |
context.document.sensitivityLabel |
В примерах в следующих разделах используется Word. Чтобы использовать Excel или PowerPoint, подставьте соответствующее пространство имен узла и объект метки конфиденциальности на уровне файла.
Проверка наличия меток конфиденциальности
Метки конфиденциальности и политики настраиваются администратором организации через портал соответствия требованиям Microsoft Purview. Инструкции по настройке меток конфиденциальности в клиенте см. в статье Создание и настройка меток конфиденциальности и их политик.
Чтобы определить, доступны ли метки конфиденциальности для текущего пользователя, загрузите getLabelingCapability (Excel, PowerPoint, Word) каталог меток конфиденциальности.
await Word.run(async (context) => {
// Access the sensitivity label catalog for the current user.
const labelCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
// Load the labeling capability status before reading it.
labelCatalog.load("getLabelingCapability");
await context.sync();
// Display whether sensitivity labeling is enabled and available.
console.log(`Sensitivity labeling capability: ${labelCatalog.getLabelingCapability}`);
});
Определение доступных меток конфиденциальности
Чтобы получить метки, опубликованные для текущего пользователя, вызовите getLabels() (Excel,PowerPoint, Word) каталог.
Метод возвращает коллекцию, элементы и свойства которой недоступны, пока вы явно не загрузите их и не вызовете context.sync(). Инструкции см. в статье Загрузка из коллекции. Свойства загрузки items и метки, необходимые надстройке. Доступные свойства отличаются в зависимости от узла. Полный список см. в статьях SensitivityLabelDetails (Excel, PowerPoint, Word).
await Word.run(async (context) => {
// Access the sensitivity label catalog for the current user.
const labelCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
// Get the available labels and load the properties used by the add-in.
const availableLabels = labelCatalog.getLabels();
availableLabels.load("items/id,items/name,items/isEnabled");
await context.sync();
// Display the available labels.
console.log("Available sensitivity labels:");
availableLabels.items.forEach((label) => {
console.log(`${label.name} (${label.id}) - ${label.isEnabled ? "Enabled" : "Disabled"}`);
});
});
Получение метки конфиденциальности
Чтобы получить текущую метку, если она применена, вызовите getCurrentOrNullObject() (Excel, PowerPoint, Word) объект метки конфиденциальности файла.
await Word.run(async (context) => {
// Access the sensitivity label applied to the current document.
const documentLabel = context.document.sensitivityLabel;
// Get the current label, if one is applied, and load its ID and name.
const currentLabel = documentLabel.getCurrentOrNullObject();
currentLabel.load("id,name");
await context.sync();
// Display the current label or report that the document isn't labeled.
if (currentLabel.isNullObject) {
console.log("The document doesn't have a sensitivity label.");
} else {
console.log(`Current label: ${currentLabel.name} (${currentLabel.id})`);
}
});
Настройка метки конфиденциальности
Перед применением метки вызовите getLabels() (Excel, PowerPoint, Word) и выберите включенную метку или вложенную метку из возвращенной коллекции. Метод tryToUpdate() (Excel, PowerPoint, Word) требует идентификатор выбранной метки в качестве параметра. Вызов getLabels() сначала позволяет получить этот обязательный идентификатор и убедиться, что метка доступна текущему пользователю. Проверьте возвращаемое SensitivityLabelUpdateResult значение (Excel, PowerPoint, Word), чтобы определить, прошло ли обновление успешно.
Примечание.
Родительскую метку с вложенными подписями нельзя применять напрямую. Вместо этого выберите одну из включенных дочерних меток.
async function setDocumentSensitivityLabel(labelId: string) {
await Word.run(async (context) => {
// Access the sensitivity label applied to the current document.
const documentLabel = context.document.sensitivityLabel;
// Apply the selected label.
const updateResult = documentLabel.tryToUpdate(labelId);
await context.sync();
// Check whether the label update succeeded.
if (updateResult.value === Word.SensitivityLabelUpdateResult.success) {
console.log("Applied the sensitivity label to the document.");
} else {
console.error(`The sensitivity label wasn't applied. Result: ${updateResult.value}`);
}
});
}
Обнаружение изменений меток конфиденциальности с помощью события OnSensitivityLabelChanged
Примечание.
Это OnSensitivityLabelChanged событие доступно только в Outlook.
Используйте событие OnSensitivityLabelChanged для запуска логики надстройки при изменении метки конфиденциальности в сообщении или встрече. Например, запретить пользователям понижать статус метки элемента почты, который содержит определенные вложения.
Для OnSensitivityLabelChanged события используется активация на основе событий. Руководство по настройке, отладке и развертыванию см. в статье "Активация надстроек с помощью событий".
См. также
Office Add-ins