Управление меткой конфиденциальности сообщения или встречи в режиме создания
Совместная работа на рабочем месте осуществляется не только внутри организации, но и распространяется на внешних партнеров. При совместном использовании информации за пределами сети организации важно определить меры по предотвращению потери данных и принудительному применению политик соответствия. Защита информации Microsoft Purview помогает реализовать решения для классификации и защиты конфиденциальной информации. Использование меток конфиденциальности в Outlook — это возможность, настроив ее для защиты данных.
Api JavaScript для Office можно использовать для реализации решений меток конфиденциальности в проектах надстроек Outlook и поддержки следующих сценариев.
- Автоматически применять метки конфиденциальности к определенным сообщениям и встречам во время их создания, чтобы пользователи могли сосредоточиться на своей работе.
- Ограничьте дополнительные действия, если к сообщению или встрече применяется определенная метка конфиденциальности, например запретить пользователям добавлять в сообщение внешних получателей.
- Добавьте верхний или нижний колонтитул в сообщение или встречу на основе метки конфиденциальности в соответствии с бизнес-политиками и юридическими политиками.
Примечание.
Поддержка функции метки конфиденциальности появилась в наборе требований 1.13. Сведения о поддержке этой функции см. в разделе Поддерживаемые клиенты и платформы.
Предварительные условия
Чтобы реализовать функцию метки конфиденциальности в надстройке, у вас должна быть Microsoft 365 E5 подписка. Вы можете получить подписку на Microsoft 365 E5 разработчика в рамках программы microsoft 365 для разработчиков. Дополнительные сведения см. в разделе Вопросы и ответы. Кроме того, вы можете зарегистрироваться для получения бесплатной пробной версии на 1 месяц или приобрести план Microsoft 365.
Поддерживаемые клиенты и платформы
В следующей таблице перечислены сочетания клиента и сервера, поддерживающие использование функции метки конфиденциальности в надстройках Outlook. Исключенные сочетания не поддерживаются.
Клиент | Exchange Online. |
---|---|
Веб-браузер (современный пользовательский интерфейс) новый Outlook в Windows |
Поддерживается |
Windows (классическая версия) Версия 2304 (сборка 16327.20248) или более поздняя |
Поддерживается |
Mac Версия 16.77 (23081600) или более поздняя |
Поддерживается |
Android | Неприменимо |
iOS | Неприменимо |
Настройка манифеста
Чтобы использовать функцию конфиденциальности в проекте надстройки Outlook, необходимо настроить разрешение на чтение и запись элемента в манифесте надстройки.
- Унифицированный манифест для Microsoft 365: в массиве authorization.permissions.resourceSpecific задайте для свойства name объекта значение MailboxItem.ReadWrite.User.
- Только манифест надстройки<. Задайте для элемента Permissions> значениеReadWriteItem.
Если надстройка будет обнаруживать и обрабатывать OnSensitivityLabelChanged
событие, для включения функции активации на основе событий требуются дополнительные конфигурации манифеста. Дополнительные сведения см. в статье Обнаружение изменений меток конфиденциальности с помощью события OnSensitivityLabelChanged.
Проверка состояния каталога меток конфиденциальности
Метки и политики конфиденциальности настраиваются администратором организации с помощью Портал соответствия требованиям Microsoft Purview. Инструкции по настройке меток конфиденциальности в клиенте см. в статье Создание и настройка меток конфиденциальности и их политик.
Прежде чем получить или задать метку конфиденциальности для сообщения или встречи, необходимо сначала убедиться, что каталог меток конфиденциальности включен в почтовом ящике, где установлена надстройка. Чтобы проверка состояние каталога меток конфиденциальности, вызовите context.sensitivityLabelsCatalog.getIsEnabledAsync в режиме создания.
// Check whether the catalog of sensitivity labels is enabled.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(asyncResult.value);
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
Определение доступных меток конфиденциальности
Если вы хотите определить метки конфиденциальности, доступные для использования в сообщении или встрече в режиме создания, используйте context.sensitivityLabelsCatalog.getAsync. Доступные метки возвращаются в виде объектов SensitivityLabelDetails , которые предоставляют следующие сведения.
- Имя метки.
- Уникальный идентификатор (GUID) метки.
- Описание метки.
- Цвет, назначенный метки.
- Настроенные вложенные метки, если они есть.
В следующем примере показано, как определить метки конфиденциальности, доступные в каталоге.
// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
// Identify available sensitivity labels in the catalog.
Office.context.sensitivityLabelsCatalog.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const catalog = asyncResult.value;
console.log("Sensitivity Labels Catalog:");
catalog.forEach((sensitivityLabel) => {
console.log(`Name: ${sensitivityLabel.name}`);
console.log(`ID: ${sensitivityLabel.id}`);
console.log(`Tooltip: ${sensitivityLabel.tooltip}`);
console.log(`Color: ${sensitivityLabel.color}`);
console.log(`Sublabels: ${JSON.stringify(sensitivityLabel.children)}`);
});
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
Получение метки конфиденциальности сообщения или встречи
Чтобы получить метку конфиденциальности, применяемую в настоящее время к сообщению или встрече в режиме создания, вызовите метод item.sensitivityLabel.getAsync , как показано в следующем примере. Возвращает guid метки конфиденциальности.
// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
// Get the current sensitivity label of a message or appointment.
Office.context.mailbox.item.sensitivityLabel.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(asyncResult.value);
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
Установка метки конфиденциальности для сообщения или встречи
Вы можете задать только одну метку конфиденциальности для сообщения или встречи в режиме создания. Перед настройкой метки вызовите context.sensitivityLabelsCatalog.getAsync. Это гарантирует, что метка, которую вы хотите применить, будет доступна для использования. Это также помогает определить GUID метки, который потребуется для применения метки к почтовому элементу. После подтверждения доступности метки передайте ее GUID в качестве параметра в item.sensitivityLabel.setAsync, как показано в следующем примере.
// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
// Identify available sensitivity labels in the catalog.
Office.context.sensitivityLabelsCatalog.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const catalog = asyncResult.value;
if (catalog.length > 0) {
// Get the GUID of the sensitivity label.
var id = catalog[0].id;
// Set the mail item's sensitivity label using the label's GUID.
Office.context.mailbox.item.sensitivityLabel.setAsync(id, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(asyncResult.status);
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Catalog list is empty");
}
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
Вместо использования GUID для задания метки конфиденциальности можно передать объект SensitivityLabelDetails , полученный из вызова каталога, как показано в следующем примере.
// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
// Identify available sensitivity labels in the catalog.
Office.context.sensitivityLabelsCatalog.getAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
const catalog = asyncResult.value;
if (catalog.length > 0) {
// Set the mail item's sensitivity label using the SensitivityLabelDetails object.
Office.context.mailbox.item.sensitivityLabel.setAsync(catalog[0], (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log(asyncResult.status);
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Catalog list is empty");
}
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
} else {
console.log("Action failed with error: " + asyncResult.error.message);
}
});
Обнаружение изменений меток конфиденциальности с помощью события OnSensitivityLabelChanged
Примите дополнительные меры для защиты данных с помощью OnSensitivityLabelChanged
события. Это событие позволяет надстройке выполнять задачи в ответ на изменения меток конфиденциальности в сообщении или встрече. Например, можно запретить пользователям понижать метку конфиденциальности почтового элемента, если она содержит определенные вложения.
Событие OnSensitivityLabelChanged
доступно через функцию активации на основе событий. Сведения о настройке, отладке и развертывании надстройки на основе событий, которая использует это событие, см. в статье Настройка надстройки Outlook для активации на основе событий.
См. также
Office Add-ins