Пакет SDK Microsoft Information Protection — основные понятия объектов Profile and Engine
11.04.2025
Профили
MipContext Где используется класс для хранения параметров пакета SDK, профиль является корневым классом для всех операций с метками MIP и операций защиты в пакете SDK для MIP. Прежде чем использовать любой из трех наборов API, клиентское приложение должно создать профиль. Будущие операции выполняются профилем или другими объектами , добавленными в профиль. Рекомендуется использовать только один объект профиля для каждого процесса. Создание нескольких из них может привести к неожиданному поведению.
В пакете SDK для MIP существует три типа профилей:
PolicyProfile: класс профиля для пакета SDK политики MIP.
applicationInfo: объект mip::ApplicationInfo. Сведения о приложении, которое использует пакет SDK и соответствует идентификатору регистрации и имени приложения Microsoft Entra.
Двигатели
Подсистемы SDK для файлов, профилей и защиты предоставляют интерфейс для операций, выполняемых под управлением определенной идентичности. Один обработчик добавляется в объект Profile для каждого пользователя или субъекта-службы, который входит в приложение. Можно выполнять делегированные операции с помощью mip::ProtectionSettings и файлового или защитного обработчика. См. раздел настроек защиты в концепциях FileHandler для получения более подробной информации.
В пакете SDK есть три класса подсистемы, по одному для каждого API. В следующем списке показаны классы подсистемы и несколько функций, связанных с каждым из них:
ListSensitivityLabels(): предоставляет список меток для загруженного движка.
GetSensitivityLabel(): получает метку из существующего содержимого.
ComputeActions(): с указанным идентификатором метки и необязательными метаданными возвращается список действий, которые следует выполнить для конкретного элемента.
ListSensitivityLabels(): Получить список меток для загруженного движка.
CreateFileHandler(): создает mip::FileHandler для определённого файла или потока.
Для создания обработчика требуется передать определенный объект параметров ядра, содержащий параметры для создаваемого типа обработчика. Объект параметров позволяет разработчику указать сведения об идентификаторе движка, реализации, mip::AuthDelegate языковом стандарте и пользовательских параметрах, а также других специфических для API сведениях.
Состояния двигателя
Двигатель может иметь одно из двух состояний:
CREATED: Создано указывает, что SDK имеет достаточно сведений о локальном состоянии после вызова необходимых серверных служб.
LOADED: пакет SDK создал необходимые структуры данных для работы подсистемы.
Двигатель должен быть создан и загружен для выполнения любых операций. Класс Profile предоставляет несколько методов управления подсистемами: AddEngineAsync, DeleteEngineAsyncи UnloadEngineAsync.
В следующей таблице описываются возможные состояния подсистемы и методы, которые могут изменить это состояние:
Состояние двигателя
NONE
СОЗДАНО
НАГРУЖЕННЫЙ
NONE
AddEngineAsync
СОЗДАНО
DeleteEngineAsync
AddEngineAsync
НАГРУЖЕННЫЙ
DeleteEngineAsync
ВыгрузкаEngineAsync
Идентификатор двигателя
Каждый модуль имеет уникальный идентификатор, idкоторый используется во всех операциях управления двигателями. Приложение может предоставить idили пакет SDK может создать его, если оно не предоставлено приложением. Все остальные свойства движка (например, адрес электронной почты в сведениях об идентификации) являются непрозрачными данными для SDK. Пакет SDK не выполняет какую-либо логику, чтобы сохранить любые другие свойства уникальными или применить любые другие ограничения.
Важно!
Рекомендуется использовать идентификатор движка, уникальный для пользователя, и применять его при каждой операции с SDK. Непредоставление существующего уникального идентификатора для пользователя или службы приведет к дополнительным запросам к сервису. Эти циклы обслуживания могут привести к снижению производительности и регулированию. **
// Create the FileEngineSettings object
FileEngine::Settings engineSettings(mip::Identity(mUsername), // This will be the engine ID. UPN, email address, or other unique user identifiers are recommended.
mAuthDelegate, // authDelegate implementation
"", // ClientData
"en-US", // Client Locale
false); // Load Sensitive Information Types
Методы управления двигателем
Как упоминалось ранее, в пакете SDK есть три метода управления обработчиками: AddEngineAsyncи DeleteEngineAsyncUnloadEngineAsync.
AddEngineAsync
Этот метод загружает существующий модуль или создает его, если он еще не существует в локальном состоянии.
Если приложение не предоставляет id в FileEngineSettings, AddEngineAsync создает новый id объект. Затем проверяет, существует ли движок с таким id в локальном кэше. Если это так, он загружает этот механизм. Если подсистема не существует в локальном кэше, создается новый модуль путем вызова необходимых API и внутренних служб.
В обоих случаях, если метод выполнен успешно, движок загружается и готов к использованию.
DeleteEngineAsync
Удаляет двигатель с заданным id. Все следы движка удаляются из локального кэша.
ВыгрузкаEngineAsync
Выгружает структуры данных, загруженные в память для движка с заданным id. Локальное состояние этого движка по-прежнему остается неизменным и может быть перезагружено с помощью AddEngineAsync.
Этот метод позволяет приложению разумно расходовать память, выгружая движки, которые, как ожидается, не будут использоваться в ближайшее время.
Следующие шаги
Далее узнайте больше о концепциях проверки подлинности и наблюдателях. MIP предоставляет расширяемую модель проверки подлинности, а наблюдатели используются для предоставления уведомлений о событиях для асинхронных событий. Оба являются основными и применяются ко всем пакетам SDK MIP.
Затем проработайте основные понятия профиля и механизма для SDK файлов, политик и защиты.
В этой схеме обучения рассматриваются профили устройств Intune, преимущества профилей пользователей и синхронизация данных профилей на нескольких устройствах.