Наверх

Как защитить отдельные части документов от редактирования

Архив
Время чтения: 4 минуты
4
Как защитить отдельные части документов от редактирования

Защита части документа позволяет упростить подготовку документов, снизить трудоемкость на стадии их проверки и минимизировать риск допущения ошибок.

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

Данная возможность является востребованной у пользователей, о чем говорит большое количество соответствующих вопросов. И это совершенно справедливо, ведь возможность защиты части документа позволяет упростить подготовку документов, снизить трудоемкость на стадии их проверки и минимизировать риск допущения ошибок.

На самом деле, решение данной задачи находится не на уровне системы документооборота (обычно СЭД данным функционалом не располагают), а на уровне самого документа, точнее его формата.  Итак, рассмотрим несколько способов.

Способ 1. Изобразительный

Просто вставляем абзацы текста, которые должны быть неизменными в виде изображения.

Минусы такого способа:

●   Отсутствие реальной защиты содержимого от умышленного редактирования, так как рисунок можно достаточно легко подменить.

●   Трудоемкое поддержание актуальности шаблонов документов.

●   Ущерб гибкости форматирования текста.

Способ 2. Табличный

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

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

Минусами этого способа является непривычность работы с большими текстовыми документами в формате Excel и отсутствие функционала MS Word для редактирования и рецензирования текста.

Таким образом, этот способ удобно использовать для подготовки шаблонов структурированных документов, представляющих собой таблицы или списки.

Способ 3. Практичный

Самым удобным и практичным способом, на мой взгляд, является использование встроенной в MS Word опции защиты документов. Последние версии MS Office (2003, XP, 2007, 2010) позволяют назначать ограничения на редактирование документа. При этом ограничения можно задавать отдельно пользователю или группе. 

Включением защиты документа можно:

  1. Ограничить форматирование документа только списком разрешенных стилей.
  2. Ограничить редактирование документа только:

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

●   Внесением примечаний. Сам текст при этом изменить нельзя.

●   Вводом данных в поля форм. Что предусматривает добавление в шаблон документа соответствующих форм.

●   Только чтением. При этом можно указать исключения для отдельных частей документа и пользователей. 

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

Таким образом, используя защиту документа можно создать в СЭД шаблон документа в формате MS Word и назначить пользователям или группам индивидуальные права на редактирование отдельных частей документов. Либо вообще ограничиться только возможностью добавления комментариев.

Порядок настройки защиты документов немного отличается в разных версиях MS Office, поэтому не буду расписывать его детально, а предложу Вам, дорогие читатели, воспользоваться встроенной справкой.

Так же, буду признателен, если вы поделитесь своим опытом в настройке защиты частей документов.

Оригинал опубликован на DIRECTU Club.

Чтобы прочитать эту статью до конца,
или зарегистрируйтесь

Комментарии 4

Михаил Романов 19 февраля 2011

Надо только понимать для какой цели мы используем защиту. Если для того, чтобы исключить случайное редактирование одним из пользователей, который вообще-то имеет на это право, то это одно. Если нам нужна защита от сознательной подмены - это совсем другое.

Если говорить о первом варианте, то способы второй и третий вполне работоспособны.

Если же говорить, о защите от сознательной подмены, то, увы, эти способы не вызывают уважения. В частности, снять защиту от редактирования с документа (имеется в виду простой случай защиты сразу всего документа) в формате docx можно просто удалив тег <documentProtection> из компонента (part) \word\settings.xml (на всю операцию требуется примерно 30 секунд - только что проверил).  Да, то, что защта снята будет сразу видно, но это уже другой вопрос (примерно то же самое, как удаление встроенной ЭЦП - заметно, но делу уже не поможешь: подтвердить неизменность документа таким образом не получится).

Если все-таки говорить о необходимости защиты отдельных частей документа, на сегодня я вижу только 3 способа:

  1. Периодическая сверка с первоисточником (в котором нужные абзацы гарантированно не менялись). Это можно делать и полуавтоматическими методами и руками.
  2. Работа с разными документами с последующей сборкой в один конечный.
  3. Работать только через специализированные редакторы, которые поддерживают функции частичного редактирования, но не дают прямого доступа к телу документа.

Первый способ довольно трудоемкий, но наиболее общий. В некоторых случаях, если есть возможность использования надёжных средств автоматического сравнения исходного и изменённого документа, задачу можно автоматизировать до уровня "проверка неизменности частей документа в момент сохранения в базе СЭД". В случае нахождения недопустимых правок - не давать сохранить документ.

Второй способ возможен, если система подготовки текстов поддерживает механизмы сборки конечного документа из нескольких частей. Если говорить про документы Word, то у последнего есть механизм составных документов. Правда, к сожалению, он не очень хорошо работает с нелокальными документами (даже с докуменатами доступными через WebDAV с узла SharePoint).

Наконец третий способ требует специализированного ПО. Я не смотрел на возможности последних продуктов WebApps в части работы с защищенными документами, но в целом это примерно то, что нужно - у пользователя есть доступ только к интерфейсу редактирования, который не позволяет обойти защиту отдельных блоков. Мне, кстати, доводилось сталкиваться с использованием продукта Excel Services (часть еще 2007 SharePoint, для работы с Excel-данными через Web-интерфейс) именно для защиты документа от несанкционированного изменения.

Отредактировано 21 марта 2012
Андрей Колесов 19 февраля 2011

Насколько я знаю, такие средства -- управления правами (Information Right Management, IRM) при работе с документами (именно на уровне отдельные его частей)  - имеются у целого ряда поставщиков, в том числе у MS (http://www.pcweek.ru/themes/detail.php?ID=66263)и Oracle (http://www.pcweek.ru/themes/detail.php?ID=113130). Об этом одно время много упоминалось (когда такой функционал появлися), но потом тема ушла в сторону. Но время о времени появляется. Как это реально востребовано и применяется не знаю, но такой функционал есть.

Странно, что об этом не упоминается в статье.

Или я сильно ошибаюсь по поводу IRM?

Отредактировано 21 марта 2012
Андрей Подкин 19 февраля 2011

Про Microsoft RMS (IRM) я писал в 2006 году http://ecm-journal.ru/docs/Microsoft-Rights-Management-i-sistemy-dokumentooborota-est-li-svjaz.aspx Вкратце: от сознательного взлома это не защитит.

Отредактировано 21 марта 2012
Михаил Романов 20 февраля 2011

Или я сильно ошибаюсь по поводу IRM?

В дополнение к статье Андрея Подкина могу сказать (у него это проскакивает, но не явно). Технология RMS, в том виде как предлагает ее Microsoft решает задачу защищенного хранения документа вне основного хранилища (той же СЭД). Т.е. по этой технологии документ покидает периметр системы только зашифрованным, а ключи для его расшифрования клиент может получить только централизованно - у сервера RMS.

Помимо шифрования, служба RMS может также аутентифицировать пользователя и (если ничего не путаю) сохранить дополнительные атрибуты защиты (например, запрет печати).

Но (!) служба RMS ничего не знает о:
  • структуре защищаемого документа
  • клиентском приложении, которое будет работать с зашифрованным документом.

Отсюда получается, что:

  • защита частей документа отдается на откуп самим клиентским приложениям
     
  • если пользователь имеет права на редактирование документа, то с точки зрения RMS он имеет права на редактирование всего документа.

Т.е. как верно сказал Андрей, написать клиента, который для пользователя с разрешенным редактированием обойдет всю защиту - не сложно.

Конечно, упомянуть RMS стоило хотябы потому, что её использование позволяет избавится от парольной защиты (аутентификацию берет на себя RMS) - что и проще для пользователя, и надежнее.


P.S. Все написанное относится лишь к решениям от Microsoft. Что помимо перечисленного позволяеют делать RMI от Oracle, Documentum, OpenText и других поставщиков, я не знаю - не работал и не изучал.

Отредактировано 21 марта 2012
Чтобы прокомментировать, или зарегистрируйтесь