Открыть сервисСервис

MIP SDK

MIP SDK (Microsoft Information Protection Software Development Kit) — это набор программных библиотек, инструментов и документации, предоставляемый корпорацией Microsoft (организация признана нежелательной в РФ) для разработчиков с целью интеграции возможностей защиты информации в сторонние приложения и сервисы. MIP SDK позволяет реализовать классификацию, маркировку, шифрование и контроль доступа к данным на основе политик Microsoft Purview Information Protection (ранее Azure Information Protection) в экосистемах Windows, macOS, Linux, iOS и Android.

История

Разработка MIP SDK была начата корпорацией Microsoft в ответ на растущие потребности организаций в защите конфиденциальных данных, особенно в контексте облачных вычислений и удалённой работы. Предшественником MIP SDK являлся Azure Information Protection SDK (AIP SDK), который был выпущен в 2015 году для интеграции с облачной службой Azure Information Protection. AIP SDK предоставлял базовые функции шифрования и управления правами доступа (RMS), но был тесно привязан к облачной инфраструктуре Azure и имел ограниченную поддержку кроссплатформенности.

В 2019 году Microsoft анонсировала MIP SDK как эволюционное развитие AIP SDK. Основные изменения включали:

В 2022 году Microsoft объявила о прекращении поддержки AIP SDK и полном переходе на MIP SDK, который стал единственным официальным инструментом для интеграции защиты информации в сторонние приложения. В 2023 году вышла версия MIP SDK 1.14, которая добавила поддержку новых типов меток, улучшенную обработку файлов PDF и интеграцию с Microsoft Defender for Cloud Apps.

Архитектура и компоненты

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

Ядро (Core Library)

Базовый компонент, отвечающий за аутентификацию, получение политик защиты информации и управление сессиями. Core Library взаимодействует с облачной службой Microsoft Purview Information Protection через REST API. Он использует протокол OAuth 2.0 для получения токенов доступа, которые затем передаются другим компонентам SDK.

File API

Компонент для работы с файлами различных форматов (Office, PDF, текстовые файлы, изображения). File API позволяет:

  • Применять метки чувствительности: добавлять метаданные (например, «Конфиденциально» или «Секретно») в файлы.
  • Шифровать и расшифровывать: использовать алгоритм AES-256 для защиты содержимого файлов.
  • Управлять правами доступа: задавать списки пользователей, которым разрешён доступ, и ограничивать действия (печать, копирование, редактирование).

Policy API

Компонент для получения и применения политик защиты информации, определённых администратором в Microsoft Purview Compliance Portal. Policy API возвращает список доступных меток, их иерархию, действия (например, шифрование или водяные знаки) и условия автоматического применения.

Protection API

Компонент для управления правами доступа (Rights Management Services, RMS). Protection API позволяет:

  • Создавать лицензии на доступ: выдавать временные токены для чтения или редактирования защищённых данных.
  • Проверять права: определять, какие действия разрешены текущему пользователю (например, только чтение).
  • Отзывать доступ: аннулировать лицензии для конкретных пользователей или групп.

MIP SDK для мобильных платформ

Отдельные версии SDK для iOS и Android, которые предоставляют те же функции, но адаптированы для мобильных ОС. Они включают обёртки для Swift (iOS) и Kotlin (Android), а также встроенную поддержку биометрической аутентификации (Face ID, Touch ID, Android Biometric).

Поддерживаемые платформы и языки программирования

MIP SDK поддерживает разработку на следующих платформах и языках:

ПлатформаЯзыки программированияВерсия ОС
WindowsC++, C#, .NET Framework/.NET Core, PythonWindows 10/11, Windows Server 2016+
macOSC++, Objective-C, SwiftmacOS 10.15+
LinuxC++Ubuntu 18.04+, Red Hat Enterprise Linux 8+
iOSObjective-C, SwiftiOS 13+
AndroidJava, KotlinAndroid 8.0+

Для C++ SDK предоставляется в виде статических библиотек, для .NET — в виде NuGet-пакетов, для Python — через pip (пакет mip).

Применение

MIP SDK используется в различных сценариях защиты информации:

Корпоративные приложения

Разработчики интегрируют MIP SDK в корпоративные системы управления документами (DMS), CRM, ERP и другие бизнес-приложения для автоматической классификации и защиты конфиденциальных данных. Например, система может автоматически присваивать метку «Конфиденциально» всем документам, содержащим номера кредитных карт (с использованием встроенных типов чувствительных данных).

Облачные сервисы

MIP SDK применяется в облачных платформах для защиты данных, хранящихся в облачных хранилищах (Amazon S3, Google Cloud Storage, собственные объектные хранилища). SDK позволяет шифровать данные перед отправкой в облако и управлять доступом на уровне отдельных файлов.

Мобильные приложения

В мобильных приложениях MIP SDK используется для защиты конфиденциальной информации, просматриваемой на устройствах сотрудников. Например, приложение для просмотра PDF может использовать SDK для расшифровки защищённых файлов и проверки прав доступа пользователя.

Средства электронной почты

MIP SDK интегрируется в почтовые клиенты (например, Outlook, Thunderbird) для автоматической классификации и шифрования вложений и текста писем на основе политик организации.

Примеры использования

Пример 1: Защита документа в приложении на C#

```csharp using Microsoft.InformationProtection; using Microsoft.InformationProtection.File;

// Создание контекста приложения var appInfo = new ApplicationInfo { ApplicationId = "your-app-id", ApplicationName = "MyApp" }; var mipContext = MIP.CreateMipContext(appInfo, "mip_data", LogLevel.Trace, null);

// Получение файлового обработчика var fileEngine = Task.Run(() => FileEngine.CreateAsync(mipContext, "user@contoso.com", "user@contoso.com", "en-US")).Result; var fileHandler = Task.Run(() => FileHandler.CreateAsync(fileEngine, "document.docx", true, false)).Result;

// Применение метки var label = fileEngine.Labels.FirstOrDefault(l => l.Name == "Конфиденциально"); fileHandler.SetLabel(label, new LabelingOptions { AssignmentMethod = AssignmentMethod.Standard }); fileHandler.CommitAsync().Wait(); ```

Пример 2: Расшифровка файла на Python

```python import mip

Инициализация MIP

app_info = mip.ApplicationInfo("your-app-id", "MyApp", "1.0.0") mip_context = mip.MipContext.create(app_info, "mip_data", mip.LogLevel.Trace)

Получение файлового движка

file_engine = mip.FileEngine.create(mip_context, "user@contoso.com", "user@contoso.com", "en-US")

Расшифровка файла

file_handler = mip.FileHandler.create(file_engine, "encrypted.docx", True, False) file_handler.decrypt("decrypted.docx") ```

Ограничения и критика

MIP SDK имеет ряд ограничений, которые отмечаются разработчиками и экспертами:

  • Зависимость от облачной инфраструктуры Microsoft: для работы SDK требуется постоянное подключение к Microsoft Purview Information Protection (облачная служба). При отсутствии интернета или блокировке доступа к серверам Microsoft (например, в странах с ограничениями) функциональность SDK существенно снижается. В частности, в России после признания Microsoft нежелательной организацией использование MIP SDK в корпоративных средах может быть затруднено из-за риска блокировок.
  • Сложность интеграции: SDK требует глубокого понимания архитектуры защиты информации Microsoft и опыта работы с REST API, OAuth 2.0 и криптографией. Для небольших команд разработчиков порог входа высок.
  • Ограниченная поддержка форматов: хотя SDK поддерживает основные форматы Office и PDF, для других форматов (например, CAD-файлы, медицинские DICOM-изображения) требуется дополнительная разработка.
  • Производительность: шифрование и расшифровка больших файлов (более 100 МБ) могут занимать значительное время, особенно на мобильных устройствах.
  • Отсутствие полной открытости: несмотря на публикацию части исходного кода, ключевые компоненты (например, Core Library) остаются проприетарными, что ограничивает возможности аудита безопасности сторонними разработчиками.

Источники

  1. Microsoft Documentation. «Microsoft Information Protection SDK overview». Microsoft Learn, 2023.
  2. Microsoft Documentation. «MIP SDK for C++ reference». Microsoft Learn, 2023.
  3. Microsoft Documentation. «MIP SDK for .NET reference». Microsoft Learn, 2023.
  4. Microsoft Documentation. «MIP SDK for Python reference». Microsoft Learn, 2023.
  5. Microsoft Documentation. «Azure Information Protection SDK deprecation notice». Microsoft Learn, 2022.
  6. Microsoft Documentation. «Microsoft Purview Information Protection». Microsoft Learn, 2023.
  7. Microsoft Documentation. «Rights Management Services (RMS) SDK». Microsoft Learn, 2023.
  8. Microsoft Documentation. «MIP SDK for iOS and Android». Microsoft Learn, 2023.
  9. Microsoft Documentation. «Sensitive Information Types in Microsoft Purview». Microsoft Learn, 2023.
  10. Microsoft Documentation. «MIP SDK release notes». Microsoft Learn, 2023.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru