Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом обзоре основное внимание уделяется повторной публикации в пакете SDK для MIP. Повторная публикация требуется, если приложению необходимо разрешить пользователю изменять файл, но необходимо сохранить исходные сведения о лицензии публикации о владельцах, правах, ключе содержимого и т. д.
Шаблон может выглядеть примерно так:
- Пользователь открывает защищенный документ для редактирования.
- Пользователь должен изменять файл только в том случае, если у него есть соответствующие права.
- Пользователь изменяет и сохраняет документ.
Псевдокод пакета SDK MIP для выполнения этой задачи может выглядеть следующим образом:
- Создайте объект, указывающий
mip::FileHandlerна целевой файл. - Сохраните
mip::ProtectionHandler, предоставленный методомmip::FileHandlerизGetProtection(). - Убедитесь, что у пользователя есть права EDIT , вызывая
AccessCheck()метод. - Используйте
mip::FileHandler"sGetDecryptedTemporaryFileAsync()" илиGetDecryptedTemporaryStreamAsync()для получения временных расшифрованных выходных данных. - Измените временный файл или содержимое потока и сохраните его.
- Создайте новый
mip::FileHandlerэкземпляр, указывающий на временный файл и используйтеSetProtection()метод, предоставляя сохраненныйmip::ProtectionHandlerв качестве параметра. - Зафиксируйте изменения.
В отредактированном документе сохраняются данные владельца, идентификатор содержимого и ключ содержимого, используя mip::ProtectionHandler из исходного файла. Этот сценарий повторной публикации требует, чтобы приложение поддерживало ссылку на исходный mip::ProtectionHandler.
Внедрение
Как упоминалось ранее, mip::FileHandler класс предоставляет методы чтения, записи и удаления меток и сведений о защите. Полный список поддерживаемых операций см. в справочнике по mip::FileHandler.
В этом сценарии используются следующие методы mip::FileHandler:
GetProtection()CommitAsync()GetDecryptedTemporaryFileAsync()SetProtection()
В сценарии также используются mip::ProtectionHandler функции, которые открывают возможности для шифрования и расшифровки защищенных потоков и буферов, выполнения проверок доступа, получения лицензии на публикацию и получения атрибутов из защищенной информации. Метод AccessCheck() будет использоваться для проверки того, что у пользователя есть права на изменение файла.
Чтобы успешно завершить этот сценарий повторной защиты, ознакомьтесь с кратким руководством в разделе "Дальнейшие действия" и убедитесь, что приложение создает и может успешно перечислять метки.
Создание обработчика защиты из файла и расшифровка файла
mip::ProtectionHandler предоставляет функции для шифрования и расшифровки защищенных потоков и буферов, выполнения проверок доступа, получения лицензии на публикацию и получения атрибутов из защищенной информации.
mip::ProtectionHandler объекты создаются путем предоставления либо ProtectionDescriptor, либо сериализованной лицензии на публикацию. В этом случае лицензия на публикацию используется при расшифровке уже защищенного содержимого или при защите содержимого, в котором уже создана лицензия.
mip::FileHandler предоставляет метод с именем GetProtection(), который извлекает mip::ProtectionHandler из файла, связанного с mip::FileHandler. После получения объекта mip::ProtectionHandler, его можно использовать для проверки уровней доступа пользователя к файлу, расшифровки файла, а затем шифрования файла после его редактирования.
mip::ProtectionHandler
AccessCheck() Используется для проверки того, что пользователь имеет определенное право на файл и возвращает логический ответ в зависимости от результата. Например, чтобы убедиться, что у пользователя есть права на изменение, вызовите метод, передавающий значение EDIT. Если результат имеет значение true, разрешить пользователю изменять файл.
После проверки права EDIT используйте mip::FileHandlerGetDecryptedTemporaryFileAsync() для получения временного расшифрованного файла.
Дополнительные сведения см. в разделе "Ограничение доступа к содержимому" с помощью меток конфиденциальности для применения шифрования.
Внимание
Проверки доступа и принудительное применение предназначены исключительно для разработчика приложения. Пользователь с правами VIEW может расшифровывать защищенные сведения. Это касается приложения, чтобы проверить набор прав, которым предоставляется пользователь, и применить эти права с помощью элементов управления защиты информации, таких как предотвращение копирования, редактирования или создания снимка экрана. Неспособность правильно реализовать средства управления защитой может привести к воздействию конфиденциальной информации.
Сохранение и публикация измененного файла путем применения защиты
Файл можно изменить после расшифровки файла. После завершения операции редактирования изменения можно зафиксировать.
IFileHandler Создайте объект с помощью временного файла для обработки зафиксированного файла. Затем временный файл можно защитить с помощью IProtectionHandler объекта, полученного из исходного файла.
Повторная публикация в автономном режиме
Повторная публикация может происходить в автономном режиме, когда доступен кэш лицензий публикации. Если приложение ранее кэшировало шаблоны и данные лицензии публикации через автономную публикацию, рабочий процесс повторной публикации не требует активного подключения к службе Rights Management.
Это полезно в сценариях, где:
- Приложение должно функционировать в периодически подключенных средах.
- Крупные пакетные операции должны повторно публиковаться без вызовов службы для каждого документа.
- Желательно улучшение производительности за счёт избежания вызовов служб.
Убедитесь, что автономная публикация включена и шаблоны кэшируются перед попыткой повторной публикации в автономном режиме. Дополнительные сведения о настройке см. в автономной публикации .