ЛР4_1С_83_тонкий_и_WEB-клиент (1031817), страница 7
Текст из файла (страница 7)
Чтобы установить такие ограничения, для кластера серверов можно настроить профили безопасности. Профиль безопасности – это набор явно заданных разрешений использования теми или иными внешними ресурсами (с указанием перечня таких ресурсов), которые можно назначать информационным базам, зарегистрированным в кластере. Профили безопасности создаются администратором кластера и позволяют настраивать следующие разрешения:
-
● Возможность использования данного профиля в качестве профиля безопасности безопасного режима – если это разрешение установлено (свойство профиля Может использоваться как профиль безопасности безопасного режима), то имя данного профиля безопасности можно указывать во встроенном языке при включении безопасного режима и подключении внешних отчетов и обработок;
-
● Доступные ресурсы файловой системы сервера (см. здесь);
-
● Доступные COM-объекты (только для серверов, работающих под управлением ОС Windows) (см. здесь);
-
● Доступные внешние компоненты (см. здесь);
-
● Доступные внешние отчеты и обработки, а также возможность использования оператора Выполнить() и функции Вычислить() (см. здесь);
-
● Доступные приложения операционной системы (см. здесь);
-
● Доступные ресурсы сети Интернет (см. здесь);
-
● Возможность доступа к привилегированному режиму – если данное разрешение установлено (свойство профиля Разрешен полный доступ: к привилегированному режиму), то при использовании данного профиля в качестве профиля безопасного режима, разрешено включать привилегированный режим (см. здесь).
Для того чтобы информационная база использовала для работы созданный профиль безопасности, следует указать его имя в свойствах информационной базы (с помощью средств администрирования кластера серверов). Также в свойствах информационной базы можно указать имя профиля, который будет использоваться при установке в прикладном решении безопасного режима.
Некоторые разрешения позволяют задавать список разрешенных ресурсов. Это разрешения:
-
● Доступные ресурсы файловой системы сервера;
-
● Доступные COM-объекты (только для серверов, работающих под управлением ОС Windows);
-
● Доступные внешние компоненты;
-
● Доступные внешние отчеты и обработки;
-
● Доступные приложения операционной системы;
-
● Доступные ресурсы сети Интернет.
В этом случае работа осуществляется следующим образом:
-
● Если в профиле безопасности флажок сброшен (например, доступ к ресурсам сети Интернет), то из информационной базы, для которой указан данный профиль безопасности, невозможно использовать ни одного ресурса сети Интернет.
-
● Если в профиле безопасности этот флажок установлен, то прикладное решение обладает полным доступом к ресурсам сети Интернет.
-
● Если требуется предоставить ограниченный доступ (по списку), то следует отключить флажок и задать список ресурсов, доступ к которым разрешен.
Далее подробнее рассмотрим работу с конкретными разрешениями.
1.8.1. Ресурсы файловой системы сервера
Для доступа к файловым ресурсам сервера применяются виртуальные каталоги. Это означает, что в рамках профиля безопасности существует некоторая виртуальная файловая система, в которой создаются каталоги. Каждый виртуальный каталог имеет отражение на реальную файловую систему по определенным правилам. В тот момент, когда прикладному решению необходимо выполнить файловую операцию, в параметре соответствующей функции указывается путь к файлу, расположенному в виртуальной файловой системе. «1С:Предприятие» транслирует виртуальный каталог в реальный и формирует реальный путь к файлу, с которым и выполняется реальная работа. Прикладное решение не может получить информацию о том, в какой физический путь будет отражен виртуальный каталог.
Если в профиле безопасности указаны несколько виртуальных каталогов, то прикладное решение может осуществлять доступ только к этим ресурсам. Попытка доступа к любому другому каталогу (как реальному, так и виртуальному) – невозможна.
Виртуальные каталоги используются при обращении к методам встроенного языка:
-
● Глобальный контекст:
-
● КаталогПрограммы(),
-
● КаталогВременныхФайлов(),
-
● ЗначениеВФайл(),
-
● ЗначениеИзФайла(),
-
● КопироватьФайл(),
-
● ПереместитьФайл(),
-
● УдалитьФайлы(),
-
● НайтиФайлы(),
-
● СоздатьКаталог(),
-
● РазделитьФайл(),
-
● ОбъединитьФайлы(),
-
● ПолучитьИмяВременногоФайла().
-
● Объект Картинка:
-
● конструктор на основании имени файла,
-
● Записать().
-
● Объект ДвоичныеДанные:
-
● конструктор на основании имени файла,
-
● Записать().
-
● Объект ИзвлечениеТекста:
-
● ПолучитьТекст(),
-
● Записать().
-
● Объект ТекстовыйДокумент:
-
● Записать(),
-
● Прочитать().
-
● Объект ТабличныйДокумент:
-
● Записать(),
-
● Прочитать().
-
● Объект ФорматированныйДокумент:
-
● Записать().
-
● Объект ГрафическаяСхема:
-
● Записать(),
-
● Прочитать().
-
● Объект ГеографическаяСхема:
-
● Записать(),
-
● Прочитать().
-
● Объект Файл:
-
● конструктор на основании имени файла.
-
● Объект XBase:
-
● конструктор на основании имени файла.
-
● ОткрытьФайл(),
-
● СоздатьИндексныйФайл(),
-
● СоздатьФайл().
-
● Объект ЧтениеXML:
-
● ОткрытьФайл().
-
● Объект ЗаписьXML:
-
● ОткрытьФайл().
-
● Объект КаноническаяЗаписьXML:
-
● ОткрытьФайл().
-
● Объект ПреобразованиеXSL:
-
● ЗагрузитьИзФайла(),
-
● ПреобразоватьИзФайла().
-
● Объект ЧтениеFastInfoset:
-
● ОткрытьФайл().
-
● Объект ЗаписьFastInfoset:
-
● ОткрытьФайл().
-
● Объект ЗаписьZipФайла:
-
● конструктор на основании имени файла,
-
● Добавить(),
-
● Открыть().
-
● Объект ЧтениеZipФайла:
-
● конструктор на основании имени файла,
-
● Извлечь(),
-
● ИзвлечьВсе(),
-
● Открыть().
-
● Объект СертификатКлиентаФайл:
-
● конструктор по умолчанию.
-
● Объект СертификатыУдостоверяющихЦентровФайл:
-
● конструктор по умолчанию.
-
● Объект ЗаписьHTML:
-
● ОткрытьФайл().
-
● Объект ЧтениеHTML:
-
● ОткрытьФайл().
-
● Объект ЧтениеТекста:
-
● конструктор на основании имени файла,
-
● Открыть().
-
● Объект ЗаписьТекста:
-
● конструктор на основании имени файла,
-
● Открыть().
-
● Объект СертификатКриптографии:
-
● конструктор на основании имени файла.
-
● Объект МенеджерКриптографии:
-
● Подписать(),
-
● ПроверитьПодпись(),
-
● Зашифровать(),
-
● Расшифровать(),
-
● ПолучитьСертификатыИзПодписи().
-
● Объект ХешированиеДанных:
-
● ДобавитьФайл().
Виртуальный каталог описывается несколькими параметрами:
-
● Логический URL – адрес, который будет использоваться прикладным решением. Этот параметр должен выглядеть как начало реального пути в соответствующей файловой системе (для ОС Windows или Linux). Прикладное решение может использовать только такие пути, которые начинаются со значения, указанного в этом свойстве. Является уникальным в рамках одного профиля.
Существуют два предопределенных логических URL, которые используются методами системы:
-
● /bin – каталог загрузочных модулей текущей версии «1С:Предприятия». Этот виртуальный каталог используется методом КаталогПрограммы().
-
● /temp – каталог временных файлов. Этот виртуальный каталог используется методом КаталогВременныхФайлов().
-
● Физический URL – адрес, указывающий физическое размещение логического URL в файловой системе сервера. Может включать специальные подстановочные символы. В процессе выполнения файловой операции «1С:Предприятие» преобразует логический URL в реальный адрес файловой системы заменой всех подстановочных символов. При этом каждая последовательность символов, не допустимых в URL, заменяется на символ "_".
ВНИМАНИЕ! В общем случае прикладное решение само обязано следить за существованием физического отображения виртуального каталога.
В адресе можно использовать следующие подстановочные символы:
-
● %r – ссылочное имя информационной базы;
-
● %i – идентификатор информационной базы;
-
● %z – строковое представление текущих значений разделителей текущего сеанса в формате, принятом для параметра командной строки /Z.
-
● %s – номер сеанса;
-
● %c – номер соединения;
-
● %p – идентификатор безопасного режима исполнения прикладного кода;
-
● %e – каталог загрузочных модулей «1С:Предприятия»;
-
● %t – текущий каталог временных файлов операционной системы;
-
● %u – каталог данных приложений текущего пользователя;
-
● %a – каталог данных приложений всех пользователей;
-
● %n – имя текущего пользователя информационной базы;
-
● %% – символ %.
-
● Разрешено чтение данных – флажок определяет, допустимо или нет чтение файлов из данного виртуального каталога.
-
● Разрешена запись данных – флажок определяет, допустима или нет запись файлов в данном виртуальном каталоге.
При указании физически URL возможно указание как на собственные каталоги компьютера, на котором установлено «1С:Предприятие» и на сетевые ресурсы. При этом надо учитывать особенности организации файловых систем и работы с сетевыми ресурсами той операционной системы, на которой функционирует сервер.
При завершении сеанса удаляются физические каталоги, в определении которых участвовал символ подстановки %s. При завершении соединения удаляются физические каталоги, в определении которых участвовал символ подстановки %с. Вход в безопасный режим исполнения кода на встроенном языке обладает собственным уникальным идентификатором. При выходе из безопасного режима удаляются физические каталоги, в определении которых участвовал символ подстановки %p.
1.8.2. COM-объекты сервера
Профиль безопасности кластера может содержать список классов COM-объектов, которые можно использовать в прикладном решении.
ВНИМАНИЕ! Данная возможность применима только для серверов, работающих под управлением ОС Windows.
Если информационная база ссылается на профиль безопасности, в котором ограничено использование COM-объектов, то возможно использование только тех классов COM-объектов, которые перечислены в списке разрешенных COM-классов этого профиля. Используемый конфигурацией COM-объект соответствует элементу списка разрешенных COM-объектов профиля безопасности, если совпадает значение свойства Компьютер COM-объекта и совпадают отличные от пустых значения свойства Файл (моникер) и Идентификатор COM-класса. При попытке создания экземпляра любого COM-объекта, отсутствующего в списке, будет выдано исключение.
Разрешенный класс COM-объекта описывается следующими параметрами:
-
● Имя – уникальное имя класса COM-объекта. Является уникальным в рамках одного профиля.
-
● Файл (моникер) – имя файла-моникера. Используется при вызове метода ПолучитьCOMОбъект() с неуказанным значением параметра ИмяКлассаCOM. Подробнее про файл-моникер можно прочитать по адресу: http://msdn.microsoft.com/ru-RU/library/windows/desktop/ms688670(v=vs.85).aspx (на английском языке).
-
● Идентификатор COM-класса – строка, представляющая собой идентификатор класса COM-объекта, в формате реестра ОС Windows, без обрамляющих фигурных скобок. Данное значение используется в конструкторе нового COM-объекта и методе ПолучитьCOMОбъект().
-
● Компьютер COM-объекта – компьютер, на котором может быть создан COM-объект. Используется конструктором нового COM-объекта. Для указания текущего компьютера следует использовать строку localhost, пустая строка означает, что COM-объект может создаваться на любом компьютере.
1.8.3. Внешние компоненты
Профиль безопасности кластера может содержать список внешних компонент, которые можно использовать в прикладном решении. Если информационная база ссылается на профиль безопасности, в котором ограничено использование внешних компонент, то возможно использование только тех внешних компонент, которые перечислены в списке разрешенных внешних компонент этого профиля. При попытке выполнения метода ПодключитьВнешнююКомпоненту() для компоненты, отсутствующей в списке, будет выдано исключение. Пустой список значит, что данный профиль не позволяет использовать никакие внешние компоненты.
Разрешенная внешняя компонента описывается следующими параметрами:
-
● Имя – уникальное имя внешней компоненты. Является уникальным в рамках одного профиля.
-
● Контрольная сумма – контрольная сумма SHA1 разрешенной внешней компоненты, преобразованная к формату base64.
Для построения контрольной суммы можно использовать объект ХешированиеДанных и метод глобального контекста Base64Строка().