Состав Сервиса

Сервис «Сервис транзакционной СУБД (услуга 1.1)» предоставляется с одним из Компонентов (далее — Компонент) в зависимости от выбора Потребителя услуг:
  • компонент «СУБД Platform V Pangolin» (Цифровой продукт Тип 1);
  • компонент «СУБД Platform V Pangolin DB» (Цифровой продукт Тип 2).
Выбор Компонента зависит от требований Потребителя услуг. Компонент «СУБД Platform V Pangolin DB» разработан на более поздней версии ядра PostgreSQL и содержит дополненный перечень расширений, в том числе расширение PostGIS, обеспечивающее поддержку географических объектов.
Перечни расширений, включенных в Компоненты Сервиса, приведены в разделах «Расширения» на Портале интерактивной документации по следующим адресам:
Объем дополнительных вычислительных ресурсов для установки расширений определяется Исполнителем на этапе обработки ЗНИ от Потребителя услуг. Информация о необходимом количестве вычислительных ресурсов предоставляется Исполнителем с описанием подхода к расчету.

Компонент «СУБД Platform V Pangolin»

Компонент «СУБД Platform V Pangolin» обеспечивает управление высокодоступными отказоустойчивыми объектно-реляционными базами данных в приложениях любого класса критичности, включая:
  • поддержку транзакций с использованием версионности данных (MVCC), включающую:
    • неблокирующее выполнение чтений записей таблицы в параллельно выполняемых транзакциях;
    • неблокирующее выполнение вставки записей в таблице параллельно с чтением записей из той же таблицы;
    • неблокирующее выполнение изменения записей в таблице параллельно с чтением записей из той же таблицы;
    • неблокирующее выполнение удаления записей в таблице параллельно с чтением записей из той же таблицы;
    • неблокирующее выполнение вставок записей таблицы в параллельно выполняемых транзакциях, при условии отсутствия на таблице уникальных или первичных ключей, либо при отсутствии параллельных вставок записей с одинаковыми значениями полей ключей;
    • неблокирующее выполнение вставки записей в таблице параллельно с изменением записей в той же таблице, при условии отсутствия на таблице уникальных или первичных ключей, либо при отсутствии параллельных операций вставки и изменения записей с одинаковыми значениями полей ключей;
    • неблокирующее выполнение вставки записей в таблице параллельно с удалением записей в той же таблице, при условии отсутствия на таблице уникальных или первичных ключей, либо при отсутствии параллельных операций вставки и удаления записей с одинаковыми значениями полей ключей;
    • неблокирующее выполнение изменения записей в таблице параллельно с изменением непересекающегося набора записей в той же таблице. При пересечении наборов изменяемых записей для операций изменения будет происходить блокировка до применения изменений блокирующей транзакции;
    • неблокирующее выполнение удаление записей в таблице параллельно с изменением непересекающегося набора записей в той же таблице. При пересечении наборов удаляемых и изменяемых записей для операций удаления будет происходить блокировка до применения изменений блокирующей транзакции;
    • неблокирующее выполнение удаление записей в таблице параллельно с удалением непересекающегося набора записей в той же таблице. При пересечении наборов удаляемых записей для операций удаления будет происходить блокировка до применения изменений блокирующей транзакции;
    • изоляцию изменений данных в рамках транзакции уровня READ COMMITED;
    • атомарность применения всех изменений транзакции.
    • ссылочную целостность данных, включающую:
    • поддержку синтаксиса запросов создания внешнего ключа с поля(ей) таблицы на поле(я) другой таблицы;
    • функциональность запрета создания или изменения записи в таблице с внешним ключом при отсутствии записи, соответствующей значениям в ссылающихся полях добавляемой или изменяемой записи, в таблице, на которую ссылается внешний ключ;
    • функциональность каскадного удаления зависимых записей в ссылающейся таблице, при удалении соответствующих записей, адресуемых внешним ключом, в таблице, на которую ссылается внешний ключ;
    • функциональность запрета удаления записей в таблице, на которую ссылается внешний ключ, при наличии зависимых записей в другой таблице, ссылающейся через внешний ключ на удаляемые записи;
    • функциональность каскадного изменения значений полей зависимых записей в ссылающейся таблице, при изменении соответствующих полей записей, адресуемых внешним ключом, в таблице, на которую ссылается внешний ключ;
    • функциональность запрета изменения значений полей записей, на которые ссылается внешний ключ, в таблице, при наличии записей в другой таблице, ссылающейся через внешний ключ на изменяемые поля записей.
  • поддержку реализации пользовательских типов данных, включающую поддержку синтаксиса запросов создания пользовательского типа данных, таких как:
    • существующих типов данных со связанными ограничениями (доменов);
    • типов данных-пустышек, резервирующих имя типа;
    • составных типов данных, представляющих собой структуру полей с заданными типами и, опционально, правилами сортировки;
    • типов перечислений, представляющих собой список именованных меток;
    • диапазонных типов данных, позволяющих оперировать значениями заданного подтипа как частью диапазонов значений с заданными правилами;
    • базовых скалярных типов;
    • возможность использования пользовательских типов как типов, используемых для:
    • определения типов полей таблиц, кроме типов-пустышек;
    • определения типов параметров функций, кроме типов-пустышек;
    • оперирование значениями пользовательских типов при:
    • чтении из таблицы значения поля пользовательского типа, кроме типов-пустышек;
    • изменении в таблице значения поля пользовательского типа, кроме типов-пустышек;
    • индексации в таблице поля пользовательского типа, кроме типов-пустышек;
    • передачи в функцию значения параметра пользовательского типа, кроме типов-пустышек;
    • приема из функции значения параметра пользовательского типа, кроме типов-пустышек.
  • защиту данных от привилегированных пользователей (администраторов баз данных), которая включает:
    • защиту настроечных параметров СУБД компонента УРБД, позволяющих отключить или ослабить защитные меры, препятствующие доступу к данным со стороны привилегированных пользователей. К таким параметрам относятся параметры, регулирующие:
    • шифрование данных при передаче по сети, сложность и способы шифрования;
    • способ шифрования аутентификационной информации учетных записей пользователей, хранящейся в СУБД;
    • использование прозрачного шифрования данных;
    • состав и размещение подключаемых библиотек расширения функциональности СУБД;
    • состав внешних серверов аутентификации (ldap, radius), разрешенных к использованию для аутентификации пользователей;
    • правила аутентификации пользователей; за счет передачи управления и/или контроля (за счет требования по совместному изменению значений части параметров как администраторами БД, так и администраторами безопасности) для значений таких настроечных параметров, администраторам безопасности, путем использования внешнего защищенного хранилища, управляемого администраторами безопасности, для управления значениями параметров; защищенное хранилище не должно входить в состав компонента УРБД и должно поставляться, устанавливаться, настраиваться и обслуживаться отдельно от компонента УРБД;
    • реализацию защиты указанных выше настроечных параметров, с учетом:
    • предоставления возможности расширения состава поддерживаемых реализаций внешних защищенных хранилищ через реализацию плагинов интеграции;
    • использования единого защищенного хранилища, для прозрачного шифрования данных и защиты данных от привилегированных пользователей;
    • отсутствия встроенного в компонент УРБД API управления значениями параметров в защищенном хранилище и использования для такого управления собственного API и UI защищенного хранилища со стороны администраторов безопасности;
    • утилиту инициализации параметров подключения к защищенному хранилищу администраторами безопасности при установке и настройке компонента УРБД;
    • отключение слабых типов аутентификации компонента УРБД, позволяющих получить доступ от имени другого аккаунта без предъявления соответствующего секрета, либо небезопасные с точки зрения возможности утечки секрета;
    • защиту данных объектов баз данных под управлением компонента УРБД, путем введения дополнительного механизма контроля доступа к объектам баз данных, управляемым администраторами безопасности и функционирующим параллельно со стандартной системой прав СУБД компонента УРБД, и защищающим доступ к:
    • таблицам - на действия DML чтения, вставки, изменения и удаления, DDL - изменения и удаления;
    • материализованным представлениям – на действия DML чтения, DDL - изменения и удаления;
    • представлениям – на действия DML чтения, вставки, изменения и удаления, DDL - изменения и удаления, создания или изменения триггера по представлению, создания или изменения правила по представлению;
    • функциям - на вызов, изменение, удаление;
    • ролям - на действия удаления, изменения, выдачу роли-объекту, отзыв у роли-объекта, выдачу в качестве роли-объекта, отзыв в качестве роли-объекта, смену пароля, назначения текущей роли сессии;
    • API управления:
    • защищаемыми объектами;
    • разрешенными для политик действиями над защищаемыми объектами;
    • составом политик;
    • назначенными пользователям политиками механизма защиты данных;
    • составом учетных записей администраторов безопасности.
  • защиту и разрешение доступа только для администраторов безопасности, назначенных через соответствующие функции API, для:
    • функций API-управления механизмом защиты данных;
    • объектов, хранящих данные механизма защиты данных;
    • утилиту инициализации механизма защиты данных администраторами безопасности при создании базы данных под контролем компонента УРБД;
    • прозрачное шифрование данных, включая интеграцию с защищенным хранилищем, для обеспечения хранения мастер-ключей прозрачного шифрования данных, с учетом использования внешнего защищенного хранилища, управляемого администраторами безопасности; защищенное хранилище не входит в состав компонента УРБД и должно поставляться, устанавливаться, настраиваться и обслуживаться отдельно от компонента УРБД;
    • предоставление возможности расширения состава поддерживаемых реализаций внешних защищенных хранилищ через реализацию плагинов интеграции;
    • использования единого, для прозрачного шифрования данных и защиты данных от привилегированных пользователей, защищенного хранилища;
    • утилиту инициализации параметров подключения к системе хранения и управления ключами шифрования администраторами безопасности при установке и настройке компонента УРБД;
    • API управления ключами шифрования прозрачного шифрования данных, включая функции:
    • задания мастер-ключа;
    • ротации мастер-ключа;
    • перешифрования локальных ключей шифрования текущим мастер-ключом;
    • восстановления локальных ключей шифрования при сбое смены мастер-ключа;
    • API управления составом шифруемых объектов под управлением компонента УРБД через добавление новой опции для табличных пространств, указывающей необходимость шифрования данных объектов, хранящихся в помеченном такой опцией табличном пространстве;
    • невозможность использования данных из зашифрованных файлов данных или зашифрованных файлов журнала операций при их переносе на узел компонента УРБД, относящийся к другому отказоустойчивому кластеру компонента УРБД, либо на узел с отключенным прозрачным шифрованием данных;
    • снятие резервной копии, содержащей зашифрованные объекты баз данных под управлением компонента УРБД;
    • восстановление резервной копии, содержащей зашифрованные объекты баз данных под управлением компонента УРБД, на узле того же отказоустойчивого кластера, с которого была снята резервная копия. Узел отказоустойчивого кластера должен быть подключен к защищенному хранилищу, хранящему мастер-ключ, который использовался при создании резервной копии, содержащей зашифрованные объекты баз данных. А также быть настроенным на работу с включенным прозрачным шифрованием данных;
    • невозможность восстановления резервной копии, содержащей зашифрованные объекты баз данных под управлением компонента УРБД, на узле другого отказоустойчивого кластера, либо на узле с отключенным прозрачным шифрованием данных;
    • функции для получения следующих показателей, связанных с функциональностью:
    • признак активности прозрачного шифрования данных;
    • парольные политики пользователей, включая API управления парольными политиками, включающий функции:
    • вывод парольной политики, примененной для пользователя или роли;
    • вывод детализированной информации по примененной парольной политике для пользователя или роли;
    • создание или изменение парольной политики;
    • активация парольной политики;
    • деактивация парольной политики;
    • вывод всех политик;
    • разблокировка пользователя или роли;
    • проверку пароля пользователя на соответствие эффективной парольной политике пользователя при изменении пароля пользователя, на:
    • повторение пароля, использованного ранее, в соответствии с настройками парольной политики;
    • минимальное время, которое должно пройти между изменением пароля;
    • соответствие критериям сложности пароля, заданным настройками парольной политики, включая – минимальную длину пароля; минимальное количество цифр в пароле; минимальное количество букв в пароле; минимальное количество символов, не являющихся буквой или цифрой, в пароле; минимальное количество строчных букв; максимальное количество повторяющихся символов; использование утилиты zxcvbn для проверки пароля; проверку сложности пароля пользовательской функцией; использование библиотеки cracklib при проверке пароля;
    • парольные политики пользователей, включая блокировку пользователя при:
    • истечении времени действия пароля в соответствии с настройками парольной политики;
    • превышении попыток аутентификации с неверным паролем за интервал времени в соответствии с настройками парольной политики;
    • превышении интервала времени с момента последнего логина пользователя (неактивности) в соответствии с настройками парольной политики;
    • разблокировку пользователя при:
    • истечении времени блокировки для случая блокировки при превышении попыток ввода неверного пароля при аутентификации, в соответствии с настройками парольной политики;
    • через вызов функции API;
    • оповещение пользователей о приближении окончания времени действия пароля при аутентификации;
    • функции для получения следующих показателей:
    • признак активности парольных политик пользователей.
    • аудит действий пользователей, включающий:
    • настройку правил формирования записей аудита в виде конфигурационного файла экземпляра компонента УРБД и установки параметров базы данных, сессии или роли через команды СУБД;
    • настройку правил формирования записей аудита только пользователя с правами администратора СУБД;
    • фиксацию в лог аудита действий пользователя в рамках конкретной сессий для запросов, успешно прошедших проверку прав пользователя, в соответствии с настройками:
    • по запросам чтения данных;
    • по запросам изменения данных;
    • по запросам вызова функций;
    • по запросам управления ролями и их правами доступа в рамках стандартной модели прав PostgreSQL;
    • по запросам DDL (языка описания данных);
    • по служебным командам;
    • по командам установки параметров;
    • фиксацию в лог аудита действий пользователей над конкретным отношением (таблицей, представлением):
    • команда SELECT;
    • команда INSERT;
    • команда UPDATE;
    • команда DELETE;
    • фиксацию в лог аудита действий пользователей в виде записей, включающих информацию по (в зависимости от настроек и типа команды):
    • типу аудита;
    • идентификатору запроса;
    • классу команды;
    • команде;
    • типу объекта, адресованного командой;
    • имени объекта, адресованного командой;
    • тексту команды;
    • значения параметров команды.
    • функции для получения следующих показателей:
    • признак использования библиотеки аудита;
    • функционирование в режиме отказоустойчивого кластера, а именно:
    • предоставление двух экземпляров СУБД как узлов отказоустойчивого кластера, в том числе одного узла кластера как ведущего узла, принимающего запросы на изменение;
    • синхронную репликацию данных между ведущим и ведомым узлами кластера, обеспечивающую сохранность примененных изменений данных;
    • автоматическое переключение роли ведомого узла на роль ведущего узла при сбое функционирования ведущего узла;
    • автоматическое восстановление сервиса после одиночного сбоя функционирования отказоустойчивого кластера компонента УРБД при условии соблюдения рекомендаций по развертыванию и настройке кластера компонента УРБД;
    • API (REST и утилита командной строки) контроля и управления отказоустойчивым кластером, включающее следующие функции:
    • определение ведущего и ведомого узла;
    • определение типа репликации для ведомого узла - синхронный или асинхронный;
    • проверка жизнеспособности СУБД компонента УРБД;
    • проверка жизнеспособности и готовности координатора кластера компонента УРБД;
    • получение информации по топологии кластера компонента УРБД;
    • получение истории переключения ролей узлов кластера компонента УРБД;
    • получение текущей конфигурации кластера компонента УРБД;
    • изменение конфигурации кластера компонента УРБД;
    • переключение ролей узлов кластера компонента УРБД;
    • перезапуск СУБД узла кластера компонента УРБД;
    • чтение и применение конфигурации кластера компонента УРБД;
  • возможность снятия резервной копии с ведомого узла кластера компонента УРБД;
  • функциональность снятия резервной копии аналогична таковой при снятии с ведущего узла.
Компонент выполняет следующие функции:
  • поддержка транзакций с использованием версионности данных (MVCC);
  • поддержка ссылочной целостности данных;
  • поддержка реализации пользовательских типов данных;
  • функционирование в режиме отказоустойчивого кластера: синхронная репликация данных;
  • механизмы переключения роли узла при аварии на ведущем узле;
  • управление отказоустойчивым кластером;
  • автоматическое восстановление сервиса после одиночного сбоя;
  • снятие резервной копии с ведомого узла;
  • поддержка прозрачного шифрования данных;
  • шифрование временных файлов, используемых для сортировки или слияния данных в операциях над данными;
  • восстановление из резервной копии на ноде, относящейся к другому кластеру без шифрования;
  • исключение переноса файлов отношений на ноду, относящуюся к другому кластеру без шифрования;
  • обеспечение защиты параметров от привилегированных пользователей;
  • обеспечение защиты данных от привилегированных пользователей;
  • создание парольной политики пользователей;
  • обеспечение аудита действий пользователей;
  • получение показателей, связанных с функциональностью;
  • отключение слабых типов аутентификации;
  • инициализация механизма защиты данных с помощью вспомогательной утилиты;
  • восстановление резервной копии, содержащей зашифрованные объекты баз данных под управлением компонента УРБД, на узле того же отказоустойчивого кластера, с которого была снята резервная копия;
  • инициализация параметров подключения к защищенному хранилищу с помощью вспомогательной утилиты;
  • интеграция с защищенным хранилищем.
Для работы Компонента используются следующие операционные системы: Альт Сервер (Альт 8 СП).
Используемый язык программирования: C.
Категория критичности: 1.

Компонент «СУБД Platform V Pangolin DB»

Компонент «СУБД Platform V Pangolin DB» – это объектно-реляционная система управления базами данных, основанная на свободно распространяемой версии PostgreSQL. Она содержит ряд доработок, позволяющих обеспечить повышенные требования к безопасности хранимых данных, доступности, надежности и производительности.
Основные функции для разработчика прикладных приложений:
  • корректировка, фиксация и подмена планов запросов;
  • поддержка совместной работы с 1С (включая оптимизацию производительности под 1С);
  • выполнение кода в фоновом процессе;
  • сквозная аутентификация между Pangolin Pooler и Pangolin DBMS;
  • поддержка подготовленных запросов транзакционного режима кластера высокой доступности с использованием пуллера подключений;
  • расширенные возможности при работе с json (прототип функции json_table);
  • поддержка автономных транзакций;
  • планировщик заданий;
  • доступность дефрагментации таблиц;
  • поддержка http-клиента на уровне СУБД;
  • поддержка очередей сообщений.
Основные функции для работы с высоконагруженными системами:
  • реализованы 64-битные идентификаторы транзакций;
  • глобальные индексы и глобальные констрейнты (ограничения) на партиционированные таблицы.
Основные функции для обеспечения требований к безопасности и надежности:
  • механизмы прозрачного шифрования хранимой информации и шифрования параметров подключения;
  • гибко управляемые парольные политики;
  • расширенные возможности аудита действий пользователя;
  • двухфакторная аутентификация;
  • маскирование параметров запросов;
  • механизмы защиты от привилегированных пользователей;
  • хранение сертификатов в формате PKCS#12 и возможность интеграции с системой хранения секретов;
  • возможность ротации секретов ТУЗ без недоступности;
  • контроль целостности конфигурации и объектов БД;
  • очистка высвобождаемого дискового пространства в процессе работы СУБД;
  • контроль загрузки динамических библиотек с проверкой контрольных сумм;
  • контроль использования процедурных языков.
Дополнительные возможности Компонента:
  • аварийное завершение СУБД при отключении СХД;
  • резервирование подключений для служебных ролей;
  • контроль потребления ресурсов (оперативная память и CPU);
  • возможность использования встроенного Pangolin-DCS;
  • интеграция с российским аналогом HAProxy/Nginx – SynGX;
  • инструменты миграции с оригинального PostgreSQL;
  • соответствие 4 уровню доверия по ФСТЭК;
  • наличие регистрации в РОПО (№13436 от 29.04.2022).
В состав компонента «СУБД Platform V Pangolin DB» входят расширения, обеспечивающие:
  • поддержку автономных транзакций;
  • функциональность планировщика заданий;
  • возможность дефрагментации таблиц;
  • поддержку http-клиента на уровне СУБД;
  • поддержку очередей сообщений.
Для работы Компонента используются следующие операционные системы: Альт Сервер (Альт 8 СП).
Используемый язык программирования: C.
Категория критичности: 1.
Предыдущий раздел
Сервис транзакционной СУБД (услуга 1.1)
Следующий раздел
Диаграммы развертывания
Была ли страница полезной?