Изучение проверки меток AIP в Outlook через VBA
В современных бизнес-средах возможность программного доступа к свойствам электронной почты имеет решающее значение для обеспечения безопасности данных и соответствия требованиям. Microsoft Outlook в сочетании с Visual Basic для приложений (VBA) обеспечивает широкие возможности настройки и автоматизации. Особая проблема возникает, когда пользователям необходимо проверять метки Azure Information Protection (AIP), прикрепленные к входящим электронным письмам, чтобы обеспечить соблюдение политик безопасности или запустить определенные рабочие процессы.
Однако Outlook VBA изначально не поддерживает доступ к свойству SensitivityLabel, которое легко доступно в Excel VBA и новой модели надстройки на основе JavaScript. Это ограничение вызывает необходимость в альтернативных методах получения информации метки AIP без прямого анализа заголовков электронной почты, что может быть громоздким и подверженным ошибкам.
Команда | Описание |
---|---|
Application.ActiveExplorer.Selection.Item(1) | Выбирает первый элемент из текущего выделения в Outlook. Обычно используется в VBA для работы с выбранным в данный момент электронным письмом. |
PropertyAccessor.GetProperty() | Извлекает определенное свойство из почтового элемента Outlook с помощью тега свойства MAPI. Используется здесь для доступа к заголовкам электронной почты. |
Office.onReady() | Инициализирует функцию, когда надстройка Office загружена и готова, гарантируя, что ведущее приложение готово к выполнению сценариев Office.js. |
loadCustomPropertiesAsync() | Асинхронно загружает настраиваемые свойства, связанные с элементом электронной почты в Outlook, с помощью Office.js. Ключ для доступа к нестандартным данным электронной почты, таким как метки AIP в надстройках. |
console.log() | Выводит информацию на веб-консоль, полезную для отладки приложений JavaScript. Здесь он регистрирует полученную метку. |
Chr(10) | Возвращает символ, соответствующий коду ASCII 10, который является символом перевода строки (LF), который используется здесь для поиска разрывов строк в заголовках электронных писем. |
Углубленный анализ функциональности скрипта для получения меток AIP
Предоставленные сценарии предлагают практическое решение для доступа к меткам Azure Information Protection (AIP) в электронных письмах — функции, недоступной напрямую через Outlook VBA, но имеющей решающее значение для обеспечения соответствия требованиям и мер безопасности. Первый сценарий использует VBA в Outlook, где он использует Application.ActiveExplorer.Selection.Item Команда для выбора адреса электронной почты, выделенного пользователем в данный момент. Этот скрипт использует PropertyAccessor.GetProperty метод с предопределенным тегом свойства MAPI для получения всех заголовков электронных писем, в которых может храниться конфиденциальная информация меток.
Во втором сценарии подчеркивается использование платформы Office.js для расширения функциональности в современных средах Outlook. Здесь Office.onReady Функция гарантирует, что сценарий будет выполняться только после полной загрузки главного приложения Office, обеспечивая совместимость и надежность. Затем он использует loadCustomPropertiesAsync метод для асинхронного получения пользовательских свойств, потенциально включая метки AIP, прикрепленных к электронному письму. Этот метод особенно полезен в средах, где требуется расширенная обработка данных без ущерба для взаимодействия с пользователем при синхронных вызовах.
Создание сценариев получения метки AIP в Outlook
Использование VBA для извлечения метаданных электронной почты
Dim oMail As Outlook.MailItem
Dim oHeaders As Outlook.PropertyAccessor
Const PR_TRANSPORT_MESSAGE_HEADERS As String = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
Dim labelHeader As String
Dim headerValue As String
Sub RetrieveAIPLabel()
Set oMail = Application.ActiveExplorer.Selection.Item(1)
Set oHeaders = oMail.PropertyAccessor
headerValue = oHeaders.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
labelHeader = ExtractLabel(headerValue)
MsgBox "The AIP Label ID is: " & labelHeader
End Sub
Function ExtractLabel(headers As String) As String
Dim startPos As Integer
Dim endPos As Integer
startPos = InStr(headers, "MSIP_Label_")
If startPos > 0 Then
headers = Mid(headers, startPos)
endPos = InStr(headers, Chr(10)) 'Assuming line break marks the end
ExtractLabel = Trim(Mid(headers, 1, endPos - 1))
Else
ExtractLabel = "No label found"
End If
End Function
Создание надстройки JavaScript для проверки этикеток
Использование Office JS API для улучшенной обработки электронной почты
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
retrieveLabel();
}
});
function retrieveLabel() {
Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Succeeded) {
var customProps = result.value;
var label = customProps.get("MSIP_Label");
if (label) {
console.log("AIP Label: " + label);
} else {
console.log("No AIP Label found.");
}
} else {
console.error("Failed to load custom properties: " + result.error.message);
}
});
}
Повышение безопасности посредством анализа метаданных электронной почты
Метаданные электронной почты в корпоративной среде могут играть ключевую роль в поддержании безопасности и обеспечении соблюдения нормативных требований. Доступ к этим данным, особенно к меткам конфиденциальной информации, таким как AIP, может дать ИТ-отделам возможность эффективно автоматизировать и адаптировать меры безопасности. Этот доступ имеет решающее значение для предотвращения утечек данных и обеспечения правильной классификации и защиты конфиденциальной информации на протяжении всего ее жизненного цикла.
В средах, где используются устаревшие системы, такие как Outlook VBA, доступ к таким метаданным требует творческих решений из-за отсутствия прямой поддержки новых свойств, таких как SensitivityLabel. Этот пробел часто требует использования дополнительного программирования или сторонних инструментов для объединения функциональности между старыми и новыми технологиями в корпоративных условиях.
Часто задаваемые вопросы об управлении метками электронной почты в Outlook
- Что такое метка AIP?
- Метки Azure Information Protection (AIP) используются для классификации и защиты документов и электронных писем путем применения меток.
- Может ли Outlook VBA напрямую обращаться к меткам AIP?
- Нет, Outlook VBA не поддерживает напрямую SensitivityLabel свойство, используемое для доступа к меткам AIP. Требуются альтернативные методы, такие как анализ заголовков.
- Что это PropertyAccessor.GetProperty команда делать?
- Эта команда извлекает определенное свойство из объекта, например электронного письма в Outlook, используя его тег свойства MAPI.
- Существует ли решение на основе JavaScript для современных версий Outlook?
- Да, современная модель надстроек Outlook на основе JavaScript обеспечивает доступ к этим свойствам через библиотеку Office.js.
- Как можно получить асинхронный доступ к пользовательским свойствам электронной почты в Outlook?
- Используя loadCustomPropertiesAsync метод в Office.js, который извлекает пользовательские свойства, не блокируя пользовательский интерфейс.
Заключительные мысли о повышении безопасности электронной почты в Outlook
Хотя прямое управление метками AIP в устаревшем Outlook с помощью VBA является сложным, обсуждаемые стратегии предоставляют эффективные обходные пути. Используя Outlook VBA для анализа заголовков и Office.js для обработки пользовательских свойств в современных средах, организации могут гарантировать, что их протоколы безопасности электронной почты остаются надежными и адаптируемыми к меняющимся требованиям соответствия. Этот двойной подход подчеркивает необходимость гибкости в управлении безопасностью электронной почты в рамках различных технологических экосистем.