Поделиться через


Практическое руководство. Включение отслеживания документов и отзыв прав доступа

Важно!

Версии пакета SDK службы microsoft Rights Management, выпущенные до марта 2020 г., устарели; для использования выпуска за март 2020 г. необходимо обновить приложения, использующие более ранние версии. Полные сведения см. в уведомлении об устаревании.

Для пакета SDK службы Microsoft Rights Management не планируется никаких дополнительных улучшений. Мы настоятельно рекомендуем внедрить пакет SDK Microsoft Information Protection для классификации, маркировки и защиты.

В этом разделе приведены базовые рекомендации по реализации отслеживания документов, а также пример кода для обновления метаданных и создания кнопки "Отслеживать использование" для приложения.

Действия по реализации отслеживания документов

Шаги 1 и 2 предназначены для включения отслеживания документов. На шаге 3 пользователи получают доступ к сайту отслеживания документа для отслеживания и отзыва защищенных документов.

  1. Добавление метаданных отслеживания документов
  2. Регистрация документа в службе RMS
  3. Добавление кнопки отслеживания использования в приложение

Далее приведены сведения о выполнении этих действий.

1. Добавление метаданных отслеживания документов

Отслеживания документов является функцией системы управления правами. Добавление определенных метаданных во время процесса защиты документа позволяет зарегистрировать его на портале службы отслеживания, который затем предоставляет несколько параметров для отслеживания.

Используйте эти API-интерфейсы для добавления или обновления лицензии на содержимое с метаданными отслеживания документов.

В оперативном состоянии для отслеживания документов необходимы только свойства content name и notification type.

  • IpcCreateLicenseMetadataHandle

  • IpcSetLicenseMetadataProperty

    Предполагается, что будут заданы все свойства метаданных. Ниже представлен их список, упорядоченный по типу.

    Дополнительные сведения см. в разделе Типы свойств метаданных лицензии.

    • IPC_MD_CONTENT_PATH

      Используется для идентификации отслеживаемого документа. В случаях когда полный путь указать невозможно, просто введите имя файла.

    • IPC_MD_CONTENT_NAME

      Используется для идентификации имени отслеживаемого документа.

    • IPC_MD_NOTIFICATION_TYPE

      Позволяет задать время отправки уведомлений. Дополнительные сведения см. в разделе "Тип уведомления".

    • IPC_MD_NOTIFICATION_PREFERENCE

      Указывает тип уведомления. Дополнительные сведения см. в разделе "Настройки уведомления".

    • IPC_MD_DATE_MODIFIED

      Рекомендуем устанавливать эту дату при каждом нажатии кнопки "Сохранить".

    • IPC_MD_DATE_CREATED

      Используется для установки даты создания файла.

  • IpcSerializeLicenseWithMetadata

Для добавления метаданных в файл или поток используйте соответствующий API-интерфейс.

Наконец, используйте этот API для регистрации необходимого документа в системе отслеживания.

2. Регистрация документа в службе RMS

Ниже приведен фрагмент кода, представляющий пример настройки метаданных отслеживания документа и вызова для регистрации в системе отслеживания.

C++:

    HRESULT hr = S_OK;
    LPCWSTR wszOutputFile = NULL;
    wstring wszWorkingFile;
    IPC_LICENSE_METADATA md = {0};

    md.cbSize = sizeof(IPC_LICENSE_METADATA);
    md.dwNotificationType = IPCD_CT_NOTIFICATION_TYPE_ENABLED;
    md.dwNotificationPreference = IPCD_CT_NOTIFICATION_PREF_DIGEST;
    //file origination date, current time for this example
    md.ftDateCreated = GetCurrentTime();
    md.ftDateModified = GetCurrentTime();

    LOGSTATUS_EX(L"Encrypt file with official template...");

    hr =IpcfEncryptFileWithMetadata( wszWorkingFile.c_str(),
                             m_wszTestTemplateID.c_str(),
                             IPCF_EF_TEMPLATE_ID,
                             0,
                             NULL,
                             NULL,
                             &md,
                             &wszOutputFile);

   /* This will contain the serialized license */
   PIPC_BUFFER pSerializedLicense;

   /* the context to use for the call */
   PCIPC_PROMPT_CTX pContext;

   wstring wstrContentName("MyDocument.txt");
   bool sendLicenseRegistrationNotificationEmail = FALSE;

   hr = IpcRegisterLicense( pSerializedLicense,
                      0,
                      pContext,
                      wstrContentName.c_str(),
                      sendLicenseRegistrationNotificationEmail);

Добавление кнопки Отслеживать использование в приложение

Чтобы добавить элемент пользовательского интерфейса Отслеживать использование, достаточно использовать один из следующих форматов URL-адресов:

  • Использование идентификатора содержимого

    • Получите идентификатор содержимого с помощью IpcGetLicenseProperty или IpcGetSerializedLicenseProperty, если лицензия сериализована, и используйте свойство лицензии IPC_LI_CONTENT_ID. Дополнительные сведения см. в разделе "Типы свойств лицензий".

    • С метаданными ContentId и Издателя используйте следующий формат: https://track.azurerms.com/#/{ContentId}/{Issuer}

      Пример — https://track.azurerms.com/#/summary/05405df5-8ad6-4905-9f15-fc2ecbd8d0f7/janedoe@microsoft.com

  • Если у вас нет доступа к этим метаданным (т. е. вы изучаете незащищенную версию документа), можно использовать Content_Name в следующем формате: https://track.azurerms.com/#/?q={ContentName}

    Пример : https://track.azurerms.com/#/?q=Secret!.txt

Клиенту достаточно открыть браузер с использованием соответствующего URL-адреса. На портале отслеживания документов RMS будет выполнена проверка подлинности и осуществлены необходимые перенаправления.