Об утверждении требований к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разы…
Приказ Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 01.11.2023 № 935 "Об утверждении требований к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач"
Текст — по данным ИПС «Законодательство России». Проверено 22.09.2026 19:39. Скачать .doc · Печать
- Приложения
- Приложение 1. Утверждены приказом Министерства цифрового развития, связи и массовых коммун · Приложение № 1 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 2 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 3 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 4 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 5 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 6 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 7 к требованиям к вычислительной мощности, используемой провайдером хостинга, · Приложение № 8 к требованиям к вычислительной мощности, используемой провайдером хостинга,
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПРИКАЗ
Москва
1 ноября 2023 г. № 935
Об утверждении требований к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач
Зарегистрирован Минюстом России 1 декабря 2023 г.
Регистрационный № 76230
В соответствии с частью 3 статьи 102-1 Федерального закона от 27 июля 2006 г. № 149-ФЗ "Об информации, информационных технологиях и о защите информации", пунктом 1 Положения о Министерстве цифрового развития, связи и массовых коммуникаций Российской Федерации, утвержденного постановлением Правительства Российской Федерации от 2 июня 2008 г. № 418, приказываю:
Утвердить прилагаемые требования к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач.
Министр М.И.Шадаев
Утверждены
приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
ТРЕБОВАНИЯ
к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач#❝
I. Общие положения#❝
1. Требования к вычислительной мощности, используемой провайдером хостинга, для обеспечения выполнения установленных действий при проведении оперативно-разыскных мероприятий (далее соответственно - требования, ОРМ), разработаны в целях обеспечения устойчивого, безопасного и целостного функционирования на территории Российской Федерации информационно-телекоммуникационной сети "Интернет", а также создания условий для выполнения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации (далее - уполномоченные государственные органы), в случаях, установленных федеральными законами, возложенных на них задач с использованием технических средств ОРМ (далее - ТС ОРМ).#❝
3. Состав и построение ТС ОРМ определяются с учетом особенностей построения информационных систем провайдеров хостинга (далее - ИС), перечнем предоставляемых информационных услуг и коммуникационных интернет-сервисов.#❝
4. При построении ТС ОРМ провайдером хостинга должен быть использован один из следующих вариантов:#❝
5. Для каждого варианта построения ТС ОРМ провайдером хостинга должны реализовываться согласованные с уполномоченным государственным органом требования по информационной безопасности и защите от несанкционированного доступа к информации, связанной с проведением ОРМ, в соответствии с подпунктами 8 и 9 пункта 18 настоящих требований.#❝
II. Функциональные требования к ТС ОРМ#❝
6. С использованием ТС ОРМ провайдера хостинга должны осуществляться поиск, обработка и передача на пульт управления уполномоченного государственного органа (далее - ПУ) информации, хранящейся в ИС и обрабатываемой с использованием вычислительной мощности провайдера хостинга, по запросу уполномоченного государственного органа или в автоматическом режиме.#❝
7. С использованием ТС ОРМ провайдера хостинга должны обеспечиваться поиск согласованной с уполномоченным государственным органом, определяемым в порядке, установленном Правительством Российской Федерации в соответствии с частью 3 статьи 102-1 Федерального закона от 27 июля 2006 г. № 149-ФЗ "Об информации, информационных технологиях и о защите информации", информации, хранящейся в ИС и обрабатываемой с использованием ТС ОРМ провайдера хостинга согласно приложению № 1 к настоящим требованиям, а также поддерживать согласованную с уполномоченным государственным органом схему ее предоставления.#❝
9. Суммарная пропускная способность канала передачи данных между ТС ОРМ и ПУ должна соответствовать данным, приведенным в таблице № 1.#❝
10. Требования предъявляемые к ТС ОРМ в части обработки информации хранение, которой осуществляется в информационной системе провайдера хостинга приведены в приложении № 1 к настоящим требованиям.#❝
11. Требования, предъявляемые к интерфейсу взаимодействия между ПУ и ТС ОРМ, приведены в приложении № 2 к настоящим требованиям.#❝
12. Требования, предъявляемые к схеме представления информации, хранящейся в ИС (далее - схема данных), и выполнению запросов от ПУ приведены в приложении № 3 к настоящим требованиям.#❝
13. Перечень типов данных являющихся стандартными для описания схемы данных (далее - базовые типы) приведен в приложении № 4 к настоящим требованиям.#❝
14. Перечень типов данных являющихся служебными для описания схемы данных (далее - сервисные типы) приведен в приложении № 5 к настоящим требованиям.#❝
15. Перечень входных объектов для задания параметров поиска приведен в приложении № 6 к настоящим требованиям.#❝
16. Требования, предъявляемые к формату передачи данных на языке GraphQL по протоколу WebSocket, приведены в приложении № 7 к настоящим требованиям.#❝
17. С использованием ТС ОРМ провайдера хостинга обеспечивается исполнение запросов о текущей конфигурации оборудования, системного и прикладного программного обеспечения (далее - ПО), а также их состояния согласно приложению № 8 к настоящим требованиям.#❝
18. С использованием ТС ОРМ реализуются:#❝
1) подключение к ПУ в соответствии техническими условиями, согласованными с уполномоченным государственным органом;#❝
4) поиск информации, хранящейся в ИС, в соответствии с поступившими с ПУ поисковыми запросами. Для ТС ОРМ, осуществляющих поиск информации в ИС со среднесуточным объемом новых данных свыше 1 Гбайт, устанавливаются требования к поддерживаемым критериям поиска согласно пункту 21 приложения № 2 к настоящим требованиям;#❝
5) передача от ТС ОРМ на ПУ данных в соответствии с поступившими с ПУ поисковыми запросами (в том числе постранично);#❝
6) прием от ПУ критериев поиска и передачу на ПУ статистической, текстовой, мультимедийной, звуковой, графической и иной информации в исходном (декодированном) виде, хранящейся в ИС и отбираемой по критериям поиска, без дополнительной обработки (далее - неформатированные данные);#❝
7) передача на ПУ схемы данных, в соответствии с поступившим с ПУ специальным запросом согласно приложению № 5 к настоящим требованиям;#❝
8) защита от несанкционированного доступа со стороны производителей ТС ОРМ, неавторизованных пользователей, технического персонала, третьих лиц к хранящейся в ТС ОРМ информации и информации, непосредственно связанной с проведением ОРМ (информации, поступающей в ТС ОРМ с ПУ, и информации, подготовленной к передаче из ТС ОРМ в ПУ);#❝
12) круглосуточный удаленный доступ со стороны операторов ПУ к хранящейся в ИС информации по протоколу взаимодействия ПУ и ТС ОРМ, описанному в приложении № 2 к настоящим требованиям;#❝
13) ведение в автоматическом режиме системных журналов, содержащих информацию о работе ТС ОРМ, а также связанных с проведением ОРМ данных:#❝
14) доступ уполномоченного технического персонала для обслуживания ТС ОРМ в соответствии с установленными правами доступа;#❝
15) доступ технического персонала к системным файлам и ПО, в соответствии с правами, установленными парольной системой доступа;#❝
16) сохранность и доступность для дальнейшего использования ранее накопленных данных при модернизации ТС ОРМ;#❝
19. Функционирование ТС ОРМ не должно оказывать влияние на работоспособность ИС провайдера хостинга.#❝
20. ТС ОРМ не должны иметь иных интерфейсов взаимодействия кроме интерфейсов взаимодействия с ИС и ПУ.#❝
21. Максимальное время предварительной обработки информации с момента ее поступления в ТС ОРМ до момента, когда она становится доступной для выполнения поисковых запросов с ПУ, и максимальное время выполнения поисковых запросов определено в ходе внедрения ТС ОРМ в информационную систему провайдера хостинга. ТС ОРМ провайдеров хостинга должны соблюдать согласованные с уполномоченным государственным органом временные параметры для определения способа выполнения поисковых запросов (в режиме реального времени или в отложенном режиме, пункт 20 приложения № 2 к настоящим требованиям) и максимального времени хранения результатов выполнения поисковых запросов в отложенном режиме должны.#❝
Приложение № 1
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
Требования,
предъявляемые к техническим средствам, обеспечивающим выполнение установленных действий при проведении оперативно-разыскных мероприятий, в части обработки информации, хранение которой осуществляется в информационной системе провайдера хостинга#❝
1. С использованием ТС ОРМ провайдера хостинга должна обрабатываться информация, указанная в пунктах 2 - 9 настоящих требований.#❝
2. Сведения о пользователях и регистрационных данных, в том числе регистрационных и иных данных, изменениях и дополнениях регистрационных данных, внесенных пользователем:#❝
информация о сетевом адресе, с которого осуществлена регистрация пользователя, с указанием времени регистрации;#❝
номер договора, дата и время заключения договора на обслуживание пользователя провайдером хостинга (при наличии такой информации);#❝
3. Сведения о добавлении (исключении) зарегистрированным пользователем связанных с ним других зарегистрированных идентификаторов:#❝
4. Сведения о фактах авторизации и выхода из ИС провайдера хостинга, прекращениях регистрации:#❝
технические идентификаторы пользователя ИС провайдера хостинга, переданные в ИС провайдера хостинга в силу используемых коммуникационных протоколов:#❝
номера телефонов пользователя, являющегося абонентом (пользователем) услуг подвижной радиотелефонной связи;#❝
7. Информация о фактах взаимодействия пользователей сети "Интернет" с информационными ресурсами, созданными в ИС провайдера хостинга пользователями провайдера хостинга;#❝
8 Информация о фактах приема, передачи и (или) обработки голосовой информации, текстовых сообщений, изображений, звуков, видео-или иных электронных сообщений пользователей ИС провайдеров хостинга (при наличии), фиксируемая информация об организации приема, передачи, доставки и (или) обработки электронных сообщений, осуществляемых с использованием технологий электронных платежных систем, в том числе информация о произведенных денежных операциях (с указанием информации о корреспонденте - идентификаторе платежной системы, валюты, суммы, оплачиваемой услуги или товаров (при наличии), об иных данных, указанных при проведении денежной операции), осуществленных транзакциях (с указанием идентификатора платежной системы, суммы прихода либо расхода, иных данных, указанных при осуществлении транзакции):#❝
технические идентификаторы пользователя ИС провайдера хостинга, переданные в ИС в силу используемых коммуникационных протоколов:#❝
9. ТС ОРМ провайдера хостинга должны обеспечивать хранение информации о пользователях услуг провайдера хостинга в течении трех лет, о фактах взаимодействия пользователей услуг провайдера хостинга с пользователями информационно-телекоммуникационной сети "Интернет" в течение одного года со дня окончания осуществления действий, а также предоставление указанной информации уполномоченному государственному органу посредством ТС ОРМ.#❝
Приложение № 2
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
Требования,
предъявляемые к интерфейсу взаимодействия между пунктом управления и техническими средствами, обеспечивающими выполнение установленных действий при проведении оперативно-разыскных мероприятий#❝
3. Для организации линий (каналов) связи, соединяющих ТС ОРМ и ПУ, должен быть использован сетевой интерфейс первого уровня.#❝
4. ТС ОРМ должны предусматривать возможность создания виртуальной сети VPN (Virtual Private Network) для туннелирования всего рабочего TCP/IP трафика между ТС ОРМ и ПУ.#❝
5. Взаимодействие ТС ОРМ с оборудованием ПУ на транспортном уровне должно осуществляться по схеме "клиент - сервер":#❝
6. При построении ТС ОРМ должны соблюдаться согласованные с уполномоченным государственным органом способы защиты линий (каналов) связи. ТС ОРМ должно соединяться с ПУ по протоколу TLS версии 1.2 или 1.3. При установлении соединения ТС ОРМ должны осуществлять взаимную аутентификацию с ПУ. В случае невозможности аутентифицировать одну из сторон TCP-соединение разрывается. Для аутентификации ТС ОРМ должны использовать сертификаты в формате X.509 согласованные с уполномоченным государственным органом.#❝
7. Взаимодействие ТС ОРМ с ПУ должно осуществляться по единому каналу передачи данных, предназначенному для передачи:#❝
3) от ПУ в ТС ОРМ запросов на получение неформатированных данных (далее - запросы неформатированных данных);#❝
5) от ПУ в ТС ОРМ специальных запросов согласно приложению № 5 к требованиям, утвержденным настоящим приказом, для получения схемы данных, статуса поисковых запросов в отложенном режиме согласно пункту 20 настоящего приложения и сигналов о функционировании ТС ОРМ согласно пункту 23 настоящего приложения;#❝
6) от ТС ОРМ на ПУ текущей схемы данных, статуса поисковых запросов в отложенном режиме и сигналов о функционировании ТС ОРМ;#❝
8. Единый канал передачи данных создается для подключения к ТС ОРМ в виде ТСР-соединений. Посредством ТС ОРМ выполняется мониторинг порта подключения к ПУ на наличие ТСР-соединений.#❝
9. Установление соединения ТС ОРМ с ПУ осуществляется по согласованному с уполномоченным государственным органом ТСР-порту с заданным временным интервалом.#❝
10. Обмен данными в едином канале передачи данных на прикладном уровне должен осуществляться по протоколам HTTP 1.1 и WebSocket.#❝
11. ТС ОРМ должны поддерживать четыре интерфейса (endpoints) взаимодействия с ПУ:#❝
1) "/query" - для получения от ПУ поисковых запросов и специальных запросов (согласно приложению № 5 к настоящим требованиям) для получения схемы данных, управления поисковыми запросами в отложенном режиме, а также передачи на ПУ результатов выполнения данных запросов (в том числе постранично) в режиме реального времени согласно пункта 20 настоящего приложения.#❝
2) "/subscription" - для получения от ПУ статуса выполнения поисковых запросов ТС ОРМ, которые выполняются в отложенном режиме (согласно пункта 20 настоящего приложения) и сигналов о функционировании ТС ОРМ согласно пункта 23 настоящего приложения.#❝
12. Обмен данными для конечных точек "/query", "/download" и "/metric" должен осуществляться по протоколу HTTP 1.1, для интерфейса "/subscription" - по протоколу WebSocket. ПУ и ТС ОРМ для интерфейса "/subscription" должны поддерживать сетевое соединение с помощью механизмов протокола WebSocket.#❝
13. Для запросов ПУ и ответов ТС ОРМ для конечных интерфейсов "/query" и "/subscription" должна использоваться версия языка описания данных и запросов GraphQL, актуальная на день опубликования настоящих требований и (или) совместимая с ней. Для кодирования содержимого запросов и ответов должен применяться формат JSON.#❝
14. Требования, предъявляемые к формату передачи данных на языке GraphQL по протоколу WebSocket для интерфейса "/subscription", приведены в приложении № 7 к настоящим требованиям.#❝
15. Требования, предъявляемые к запросам мониторинга и формату их передачи по интерфейсу взаимодействия между ПУ и ТС ОРМ для интерфейса "/metric", приведены в приложении № 8 к настоящим требованиям.#❝
16. Для запросов ПУ и ответов ТС ОРМ для интерфейса "/download" должны использоваться стандартные сообщения протокола HTTP 1.1. ТС ОРМ для данной интерфейса должны поддерживать механизм передачи данных по частям Chunked Transfer Coding и механизм частичных запросов Range Requests.#❝
17. Если результаты выполнения поисковых запросов для конечных точек "/query" и "/subscription" содержат неформатированные данные (файлы), то ответ ТС ОРМ должен содержать вместо непосредственно неформатированных данных (файлов) соответствующие ссылки (HTTP URI в полном формате согласно RFC7230 http(s)://<IP-адрес или доменное имя ТС ОРМ >:<порт>/download/<уникальный путь к файлу>) для каждого файла для интерфейса "/download". ТС ОРМ должны формировать уникальную ссылку для каждого файла.#❝
18. Для получения неформатированных данных, ссылки на которые содержатся в ответе ТС ОРМ на поисковый запрос, ТС ОРМ для каждого файла должен обеспечивать возможность получения на интерфейс "/download" отдельных (от поисковых запросов) запросов получения неформатированных данных (HTTP GET-запросы) от ПУ, содержащих ссылку на запрашиваемые данные.#❝
19. Для получения текущей схемы данных согласно приложению № 3 к требованиям, утвержденным настоящим приказом, ТС ОРМ необходимо предусмотреть возможность получения запроса "getSchema" согласно приложению № 5 к требованиям, утвержденным настоящим приказом, на интерфейс "/query". В ответ ТС ОРМ должны направить схему данных, описанную на языке SDL GraphQL.#❝
20. Поисковые запросы должны выполняться в ТС ОРМ в двух режимах: режиме реального времени и отложенном режиме (далее - отложенный поисковый запрос). Режим выполнения поисковых запросов определяется ТС ОРМ в соответствии с установленными временными параметрами согласно пункту 21 настоящих требований, а также с учетом характера (количества запрашиваемых полей и критериев поиска) запроса, количества данных, хранящихся в ИС, и производительностью ТС ОРМ. Все поисковые запросы от ПУ должны направляться на интерфейс "/query".#❝
21. ТС ОРМ должны выполнять поисковые запросы в соответствии с критериями поиска, заданными на верхнем уровне запроса без вложенных объектов, согласно пункту 10 приложения № 3 к требованиям, утвержденным настоящим приказом, при следующих условиях:#❝
22. В режиме реального времени ТС ОРМ должны поддерживать (не разрывать) сетевое соединение, по которому поступил запрос от ПУ, и результаты выполнения запроса должны передаваться от ТС ОРМ на ПУ по тому же сетевому соединению, не позднее установленных временных параметров согласно пункту 21 настоящих требований.#❝
23. Отложенный поисковый запрос выполняется по следующему сценарию:#❝
4) ТС ОРМ возвращают ПУ идентификатор отложенного поискового запроса и информацию о том, что запрос выполняется в отложенном режиме;#❝
5) ПУ отправляет запрос "statusOfflineRequest" (запрос Subscription языка GraphQL), содержащий полученный от ТС ОРМ идентификатор отложенного поискового запроса, на интерфейс "/subscription" по протоколу WebSocket (согласно приложению № 5 к настоящим требованиями). ТС ОРМ в непрерывном режиме (без дополнительных запросов от ПУ) уведомляют ПУ об изменениях статуса выполнения отложенного поискового запроса.#❝
6) при получении от ТС ОРМ на ПУ уведомления о завершении выполнения отложенного поискового запроса (статус "READY"), ПУ направляет запрос "getOfflineRequest" согласно приложению № 5 к требованиям, утвержденным настоящим приказом, на интерфейс "/query" с указанием идентификатора запроса. ТС ОРМ должны осуществлять передачу на ПУ результатов выполнения отложенных запросов и запросов в режиме реального времени постранично, согласно подпункту 2 пункта 10 приложения № 3 к требованиям, утвержденным настоящим приказом;#❝
7) в ответ на полученный запрос ТС ОРМ должны передавать на ПУ результаты выполнения отложенного поискового запроса в режиме реального времени в формате JSON. Структура результатов выполнения отложенного поискового запроса должна соответствовать структуре исходного поискового запроса, направленного ПУ на интерфейс "/query";#❝
8) в момент выполнения отложенного запроса (от момента получения идентификатора запроса от ТС ОРМ до получения статуса выполнения запроса "READY") ПУ может прервать данную операцию, направив запрос "_cancelOfflineRequest" согласно приложению № 5 к требованиям, утвержденным настоящим приказом) на интерфейс "/query" с указанием идентификатора запроса. В ответ ТС ОРМ должны направить результат выполнения данного запроса.#❝
24. ТС ОРМ должны хранить результаты выполнения отложенных запросов согласно пункту 21 настоящих требований и незамедлительно их удалять при получении запроса от ПУ.#❝
Для удаления на ТС ОРМ результатов выполнения отложенного поискового запроса ПУ направляет запрос "_delOfflineRequest" согласно приложению № 5 к требованиям, утвержденным настоящим приказом, на интерфейс "/query" с указанием идентификатора запроса. В ответ ТС ОРМ направляют результат выполнения данного запроса.#❝
25. ТС ОРМ должны поддерживать два вида постраничной передачи результатов выполнения поисковых запросов: со смещением и курсорную. По согласованию с уполномоченным государственным органом может быть реализован только один из видов постраничной передачи результатов.#❝
26. ТС ОРМ должны осуществлять контроль функционирования собственных параметров и передачу на ПУ следующих сигналов:#❝
7) "Предупреждение о проблеме с контролируемыми параметрами (метриками)" (METRICALERTS). Для данного сигнала ТС ОРМ должны возвращать на ПУ дополнительную информацию о предупреждениях (согласно приложению № 5 к настоящим требованиями). ТС ОРМ должны осуществлять обработку контролируемых метрик и предупреждений о проблемах согласованные с уполномоченным государственным органом.#❝
Для получения сигналов ПУ необходимо отправить запрос "_trap" (запрос Subscription языка GraphQL) на интерфейс "/subscription" по протоколу WebSocket согласно приложению № 5 к требованиям, утвержденным настоящим приказом. ТС ОРМ в непрерывном режиме (без дополнительных запросов от ПУ) отправляет ПУ сигналы сразу после их возникновения на ТС ОРМ. Если в момент получения запроса "_trap" на ТС ОРМ есть сигналы, которые не были отправлены ранее ПУ (по причине разрыва соединения или по иным причинам), то ТС ОРМ должны незамедлительно передать на ПУ все данные сигналы.#❝
27. Все запросы мониторинга и неформатированных данных должны выполняться в режиме реального времени.#❝
28. ТС ОРМ должны использовать следующие коды ошибок для языка GraphQL:#❝
Код ошибки | Описание ошибки |
| GRAPHQL_PARSE_FAILED | Запрос на языке GraphQL содержит синтаксическую ошибку |
| GRAPHQL_VALIDATION_FAILED | Запрос на языке GraphQL недействителен для текущей схемы данных |
| BAD_USER_INPUT | Запрос на языке GraphQL содержит некорректное значение для аргумента поля |
| OPERATION_RESOLUTION_FAILURE | Невозможно определить операцию для выполнения из запроса на языке GraphQL |
| BAD_REQUEST | Ошибка возникла до начала анализа запроса на языке GraphQL |
| REQUEST_NOT_FOUND | Отложенный запрос с указанным идентификатором не найден |
| NO_REQUEST_RESULT | Результаты выполнения отложенного запроса с указанным идентификатором не найдены |
| REQUEST_TOO_COMPLEX | Запрос на языке GraphQL содержит критерии поиска (аргументы поля) не только на верхнем уровне запроса согласно пункту 21 настоящего приложения, может применяться только в ТС ОРМ, осуществляющих поиск информации в ИС со среднесуточным объемом новых данных свыше 1 Гбайт |
| INTERNAL_SERVER_ERROR | Внутренняя ошибка. Возвращается в случае, если ни один из вышеуказанных кодов не подходит |
Приложение № 3
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
1. Данные, хранящиеся в информационной системе провайдера хостинга, должны быть описаны с помощью схемы данных на языке SDL GraphQL.#❝
3. Произвольный тип данных в схеме данных (далее - тип "A") имеет связь с произвольным типом данных (далее - тип "B"), если тип "A" содержит поле типа "B" или поле, являющееся списком типа "B".#❝
4. Произвольный тип "A" в схеме данных имеет двухстороннюю связь с произвольным типом "B", если тип "A" связан с типом "B" и тип "B" связан с типом "A".#❝
5. Для схемы данных определяется перечень базовых типов. Базовый тип данных на языке GraphQL должен содержать информацию, которая должна быть доступна для поиска в ТС ОРМ по запросам ПУ. Перечень базовых типов отражает перечень идентифицирующих признаков объектов физического мира (в том числе, номер паспорта, номер телефона, банковские реквизиты, государственный регистрационный номер транспортного средства). Перечень базовых типов и их определения на языке GraphQL приведены в приложении № 4 к требованиям, утвержденным настоящим приказом.#❝
6. Для схемы данных определяется перечень сервисных типов. Сервисный тип данных на языке GraphQL должен отражать информацию о схеме данных, или описывать HTTP URI для неформатированных данных, или предназначаться для получения статуса отложенных поисковых запросов или сигналов о функционировании ТС ОРМ. Перечень сервисных типов, их определения и запросы для доступа к информации на языке GraphQL приведены в приложении № 4 к требованиям, утвержденным настоящим приказом.#❝
7. Пользовательский тип данных на языке GraphQL должен описывать данные, содержащиеся в ИС и отличные от данных, описываемых базовыми типами.#❝
8. Схема данных в части базовых, пользовательских и сервисных типов должна удовлетворять следующим требованиям:#❝
1) каждое поле пользовательского типа, которое отражает идентифицирующий признак объекта физического мира и будет доступно в качестве критерия поиска в ТС ОРМ по запросам ПУ, должно представляться базовым типом (или его списком);#❝
2) поля пользовательского типа, которые представляют собой ссылки (HTTP URI) на неформатированные данные (файлы), должны представляться сервисным типом "Media", определенным в приложении № 5 к требованиям, утвержденным настоящим приказом;#❝
3) остальные поля пользовательских типов (то есть за исключением указанных в подпунктах 1 и 2 настоящего пункта) должны описываться встроенными типами языка GraphQL или любыми другими пользовательскими типами, определенными в схеме данных;#❝
4) для каждого пользовательского типа, имеющего хотя бы одно поле базового типа, или связанного с другим пользовательским типом, имеющим хотя бы одно поле базового типа, должны быть определены следующие объекты языка GraphQL: тип для представления результатов выполнения поисковых запросов и входной объект для задания параметров поиска (далее - входной объект);#❝
5) тип для представления результатов выполнения поисковых запросов должен иметь следующую структуру:#❝
Имя поля | Тип поля | Назначение поля |
| cursor | String | значение курсора для последнего элемента списка (поле "result") с результатами выполнения поискового запроса для данного пользовательского типа |
| hasNextPage | Boolean | признак наличия следующей страницы с результатами выполнения поискового запроса для данного пользовательского типа (может использоваться с любым видом постраничного получения результатов выполнения запроса) |
| result | список соответствующего пользовательского типа | результат выполнения поискового запроса для данного пользовательского типа |
6) каждый входной объект для пользовательского типа должен иметь следующую структуру:#❝
Имя поля | Тип поля | Назначение поля |
| and | список исходных входных объектов | для задания параметров поиска с логической функцией "И" |
| or | список исходных входных объектов | для задания параметров поиска с логической функцией "ИЛИ" |
| not | исходный входной объект | для задания параметров поиска с логической функцией "НЕ" |
| все имена полей пользовательского типа, представленные базовыми типами | входные объекты для базовых типов, определенные в приложении № 5 к требованиям, утвержденным настоящим приказом | для задания параметров поиска конкретных полей пользовательского типа, представленных базовыми типами |
9. Схема данных в части стандартных типов Query, Subscription (определяют доступные данные и параметры для поисковых запросов) языка GraphQL должна соответствовать следующим требованиям:#❝
2) тип QueryMessage должен иметь следующую структуру:#❝
Имя поля | Тип поля | Назначение поля |
| requestID | String | идентификатор запроса |
| offline | Boolean | признак выполнения запроса в отложенном режиме |
| maxPageSize | Int | максимальное количество элементов в списке с результатами выполнения поискового запроса для одной страницы, которое поддерживает ТС ОРМ |
| все имена пользовательских типов, имеющие хотя бы одно поле базового типа | тип для представления результатов выполнения поисковых запросов, соответствующий пользовательскому типу | задание параметров поиска и постраничной передачи результатов поиска для соответствующего пользовательского типа |
Каждое поле типа QueryMessage, заданное списком пользовательского типа, должно иметь следующие аргументы:#❝
filter - задает параметры поиска и представляется соответствующим входным объектом для данного пользовательского типа;#❝
limit - задает максимальное количество элементов на одной странице при постраничной передаче результатов, но не более значения maxPageSize;#❝
Аргументы "offset" и "limit" должны использоваться для постраничной передачи результатов со смещением, аргументы limit и cursor - для курсорной постраничной передачи результатов.#❝
{{userType1}}...{{userTypeN}} - имена пользовательских типов, имеющих хотя бы одно поле базового типа;#❝
10. На ТС ОРМ должны использоваться актуальные перечни базовых, сервисных типов и входных объектов для поиска.#❝
11. Использование базовых, сервисных типов и входных объектов для задания параметров поиска, не приведенных в приложениях №№ 4 - 6 к требованиям, утвержденным настоящим приказом, не допускается.#❝
Приложение № 4
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
Перечень базовых типов для описания схемы данных технических средств, обеспечивающих выполнение установленных действий при проведении оперативно-разыскных мероприятий#❝
№ | Описание | Базовый тип |
1. | Идентификатор мобильного абонента |
|
2. | Идентификатор мобильной станции |
|
3. | Номер абонента сети сотовой связи |
|
4. | Код страны, в которой находится оператор мобильной связи |
|
5. | Код оператора связи |
|
6. | Код географической зоны, которая обслуживается одним контроллером базовых станций |
|
7. | Идентификатор сектора базовой станции |
|
8. | Адрес электронной почты |
|
9. | Адресная информация |
|
10. | Паспортные данные |
|
11. | Фамилия, имя, отчество (при наличии) |
} |
12. | Номер удостоверения водителя транспортного средства |
|
13. | Государственный регистрационный номер транспортного средства |
|
14. | Идентификационный номер налогоплательщика | |
15. | Информация о дате и времени события |
|
16. | Геометрические пространственно-временные данные: точка, массив точек, информация о месте и времени, полигон, мультиполигон, геотрек | |
17. | Сведения о юридических лицах и индивидуальных предпринимателях |
|
18. | Банковские данные | |
19. | IP-адрес |
|
20. | Информация об участнике сетевого соединения |
|
21. | URL-адрес |
|
22. | Доменное имя |
|
23. | Имя и (или) идентификатор пользователя |
|
Приложение № 5
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
Перечень сервисных типов и соответствующих им запросов для описания схемы данных технических средств, обеспечивающих выполнение установленных действий при проведении оперативно-разыскных мероприятий#❝
№ п/п | Описание типа | Сервисный тип | Запрос | Описание запроса |
1 | Схема данных, описанная на языке SDL | Отсутствует | Запрос схемы данных, описанной на языке SDL GraphQL | |
2 | Идентификатор отложенного запроса | Отсутствует | Запрос результата выполнения отложенного запроса по его идентификатору либо постраничное получение результатов с использованием аргументов "offset", "limit" и "cursor" согласно подпункту 2 пункта 9 приложения № 2 к требованиям, утвержденным настоящим приказом. Ответ (результат выполнения запроса) предоставляется в виде данных в формате JSON в соответствии с изначальным GraphQL запросом. Если отложенный запрос с указанным идентификатором не найден, то должно быть возвращено сообщение об ошибке GraphQL с кодом REQUEST_NOT_FOUND. Если отложенный запрос еще не выполнен или результаты его выполнения уже удалены, то должно быть возвращено сообщение об ошибке GraphQL с кодом NO_REQUEST_RESULT. | |
| Удаление результатов отложенного запроса по его идентификатору. Если удаление произошло успешно, то должен быть возвращен ответ True. Если удаление не удалось выполнить, то должен быть возвращен ответ False и описание ошибки GraphQL. Если отложенный запрос с указанным идентификатором не найден, то должно быть возвращено сообщение об ошибке GraphQL с кодом REQUEST_NOT_FOUND. | ||||
| Прерывание (отмена) выполнения отложенного запроса по его идентификатору. Если прерывание произошло успешно, то должен быть возвращен ответ True. Если прерывание не удалось выполнить, то должен быть возвращен ответ False и описание ошибки GraphQL. Если отложенный запрос с указанным идентификатором не найден, то должно быть возвращено сообщение об ошибке GraphQL с кодом REQUEST_NOT_FOUND. | |||
3 | Информация о статусе выполнения отложенного запроса |
| Запрос статуса отложенного запроса по его идентификатору. Ответ предоставляется в виде сообщения типа RequestInfo. Если отложенный запрос с указанным идентификатором не найден, то должно быть возвращено сообщение об ошибке GraphQL с кодом REQUEST_NOT_FOUND. | |
| ||||
4 | HTTP URI для неформатированных данных | | Отсутствует | Отсутствует |
5 | Сигналы о функционировании ТС ОРМ |
| Запрос получения сигналов о функционировании ТС ОРМ. Ответ предоставляется в виде сообщения типа Trap. Если тип сигнала "Предупреждение о проблеме с контролируемыми параметрами (METRICALERTS)", то ТС ОРМ должны возвращать дополнительную информацию о предупреждениях в поле "metricalerts". | |
| ||||
|
Приложение № 6
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
1. В схеме данных для задания параметров поиска должны быть описаны входные объекты Input Objects на языке GraphQL для каждого пользовательского типа, имеющего не менее одного поля базового типа, или связанного с другим пользовательским типом, имеющего не менее одного поля базового типа.#❝
2. Для описания входных объектов, соответствующих пользовательским типам, должны использоваться входные объекты для базовых типов, приведенные в настоящем приложении.#❝
3. Каждый входной объект для базового типа должен содержать поля "and", "or" и "not" (соответствуют логическим функциям "И", "ИЛИ", "НЕ"), а также может содержать поля для функций, приведенных в таблице № 1 настоящего приложения. В случае применения числовой функций к множеству строк используется лексикографический порядок.#❝
№ | Функция | Использование | Описание | |
1 | Операции сравнения | lt | Для целочисленных значений: lt: 999 | Меньше, чем |
| Для дробный значений: lt: 999.99 | ||||
| Для строковых значений: lt: "999" | ||||
2 | le | le: 999 | Меньше либо равно | |
3 | eq | eq: 999 | Равно | |
4 | in | in: [0, 999] | В [списке] | |
5 | between | between: { min: 0, max: 999 } | Между значениями min и max | |
6 | ge | ge: 999 | Больше либо равно | |
7 | gt | gt: 999 | Больше | |
8 | Регулярные выражения | regexp | regexp: "\\d\\d/\\d\\d/\\d{4}" | Регулярное выражение в формате POSIX Basic Regular Expression |
9 | Поиск по тексту | allofterms | allofterms: "Москва, Тверская" | Соответствие строкам, содержащим все указанные термы в произвольном порядке, без учета регистра |
10 | anyofterms | anyofterms: "Москва, Тверская" | Соответствие строкам, содержащим любой из указанных термов в произвольном порядке, без учета регистра | |
11 | alloftext | alloftext: "Москва, Тверская" | Полнотекстовый поиск по всему полю | |
12 | anyoftext | anyoftext: "Москва, Тверская" | Полнотекстовый поиск по любой части поля | |
13 | Геопоиск | near | Соответствие объектам, в которых предикат находится не более, чем на расстоянии "distance" метров от точки "point" | |
14 | within | Соответствие объектам, предикат которых находится в пределах полигона, заданного в качестве аргумента | ||
15 | contains | Соответствует объектам, предикат которых содержит указанные точку или полигон | ||
16 | intersects | Соответствует объектам, предикат которых имеет непустое пересечение с указанным полигоном или мультиполигоном | ||
17 | Геопоиск с учетом времени события, используется для геотрека. | nearTime | Соответствие объектам, в которых предикат находится не более, чем на расстоянии "distance" от точки "point", при этом время, в которое предикат находился в данной области, ограничено соответствующим фильтром по времени | |
18 | withinTime | Соответствие объектам, предикат которых находится в пределах полигона, заданного в качестве аргумента, при этом время, в которое предикат находился в данной области, ограничено соответствующим фильтром по времени | ||
19 | intersectsTime | Соответствует объектам, предикат которых имеет непустое пересечение с заданным полигоном или мультиполигоном, при этом время, в которое предикат находился в данной области, ограничено соответствующим фильтром по времени | ||
20 | intersectsTrack | Соответствует объектам, предикат которых имеет непустое пересечение с заданным геотреком с точностью по времени "deltatime" секунд и точностью по расстоянию "distance" метров | ||
4. Перечень входных объектов для базовых типов и доступные для них функции приведены в таблице № 2 настоящего приложения.#❝
№ п/п | Базовый тип и (или) скалярный тип | Входные объекты для задания параметров поиска |
| 1 | type ImsiBase | "" Входной объект для базового типа идентификатора мобильного абонента "" input ImsiBaseFilter { "" Фильтр для идентификатора мобильного абонента "" imsi: StringRegExpExactFilter and: [ImsiBaseFilter] or: [ImsiBaseFilter] not: ImsiBaseFilter } |
| 2 | type ImeiBase | "" Входной объект для базового типа идентификатора мобильной станции "" input ImeiBaseFilter { "" Фильтр для идентификатора мобильной станции "" imei: StringRegExpExactFilter and: [ImeiBaseFilter] or: [ImeiBaseFilter] not: ImeiBaseFilter } |
| 3 | type MsisdnBase | "" Входной объект для базового типа номера абонента сети сотовой связи "" input MsisdnBaseFilter { "" Фильтр для номера абонента сети сотовой связи "" msisdn: StringRegExpExactFilter and: [MsisdnBaseFilter] or: [MsisdnBaseFilter] not: MsisdnBaseFilter } |
| 4 | type MccBase | "" Входной объект для базового типа кода страны, в которой находится оператор связи "" input MccBaseFilter { "" Фильтр для кода страны, в которой находится оператор связи "" mcc: IntFilter and: [MccBaseFilter] or: [MccBaseFilter] not: MccBaseFilter } |
| 5 | type MncBase | "" Входной объект для базового типа кода оператора связи "" input MncBaseFilter { "" Фильтр для кода оператора связи "" mnc: IntFilter and: [MncBaseFilter] or: [MncBaseFilter] not: MncBaseFilter } |
| 6 | type LacBase | "" Входной объект для базового типа кода географической зоны, обслуживаемой одним контроллером базовых станций "" input LacBaseFilter { "" Фильтр для кода географической зоны, обслуживаемой одним контроллером базовых станций "" lac: IntFilter and: [LacBaseFilter] or: [LacBaseFilter] not: LacBaseFilter } |
| 7 | type CellBase | "" Входной объект для базового типа идентификатора сектора базовой станции "" input CellBaseFilter { "" Фильтр для идентификатора сектора базовой станции "" cell: IntFilter and: [CellBaseFilter] or: [CellBaseFilter] not: CellBaseFilter } |
| 8 | type EmailBase | "" Входной объект для базового типа адреса электронной почты "" input EmailBaseFilter { "" Фильтр для адреса электронной почты "" email: StringRegExpExactFilter and: [EmailBaseFilter] or: [EmailBaseFilter] not: EmailBaseFilter } |
| 9 | type AddressBase | "" Входной объект для базового типа структурированных адресных данных "" input AddressBaseFilter { "" Фильтр для неструктурированного адреса "" address: StringRegExpFullTextFilter "" Фильтр для почтового индекса, zip-кода "" zip: StringExactFilter "" Фильтр для страны "" county: StringExactFilter "" Фильтр для области "" region: StringExactFilter "" Фильтр для района, муниципального округа "" zone: StringExactFilter "" Фильтр для города, поселка, деревни "" city: StringExactFilter "" Фильтр для улицы "" street: StringExactFilter "" Фильтр для дома, строения "" building: StringExactFilter "" Фильтр для корпуса "" buildsect: StringExactFilter "" Фильтр для квартиры, офиса "" apartment: StringExactFilter and: [AddressBaseFilter] or: [AddressBaseFilter] not: AddressBaseFilter } |
| 10 | type PassportBase | "" Входной объект для базового типа паспортных данных "" input PassportBaseFilter { "" Фильтр для номера паспорта "" number: StringRegExpExactFilter "" Фильтр для серии паспорта "" series: StringRegExpExactFilter and: [PassportBaseFilter] or: [PassportBaseFilter] not: PassportBaseFilter } |
| 11 | type PersonBase | "" Входной объект для базового типа фамилия, имя, отчество "" input PersonBaseFilter { "" Фильтр для неструктурированной информации о фамилия, имя, отчество "" fullName: StringTermFullTextFilter "" Фильтр для имени "" name: StringTermExactFilter "" Фильтр для отчества (при наличии) "" middleName: StringTermExactFilter "" Фильтр для фамилии "" lastName: StringTermExactFilter and: [PersonBaseFilter] or: [PersonBaseFilter] not: PersonBaseFilter } |
| 12 | type DrivingLicenseNumberBase | "" Входной объект для базового типа номера удостоверения водителя транспортного средства "" input DrivingLicenseNumberBaseFilter { "" Фильтр для номера удостоверения водителя транспортного средства "" drivingLicenseNumber: StringTermExactFilter and: [DrivingLicenseNumberBaseFilter] or: [DrivingLicenseNumberBaseFilter] not: DrivingLicenseNumberBaseFilter } |
| 13 | type VehicleGosNumberBase | "" Входной объект для базового типа государственного регистрационного номера транспортного средства "" input VehicleGosNumberBaseFilter { "" Фильтр для государственного регистрационного номера транспортного средства "" vehicleGosNumber: StringTermExactFilter and: [VehicleGosNumberBaseFilter] or: [VehicleGosNumberBaseFilter] not: VehicleGosNumberBaseFilter } |
| 14 | type InnBase | "" Входной объект для базового типа идентификационного номера налогоплательщика "" input InnBaseFilter { "" Фильтр для значения идентификационного номера налогоплательщика "" inn: StringTermExactFilter and: [InnBaseFilter] or: [InnBaseFilter] not: InnBaseFilter } |
| 15 | type DateTimeBase | "" Входной объект для базового типа информации о дате и времени "" input DateTimeBaseFilter { "" Фильтр для информации о дате и времени в расширенном формате местного времени с разницей со Всемирным координированным временем (UTC) YYYY-MM-DDThh:mm:ss+/-hh:mm "" utc: DateTimeStringFilter and: [DateTimeBaseFilter] or: [DateTimeBaseFilter] not: DateTimeBaseFilter } "" Входной объект: используемые операции сравнения для информации о дате и времени "" input DateTimeStringFilter { eq: String in: [String] le: String It: String ge: String gt: String between: DateTimeRange } "" Входной объект: информация о временном промежутке для использования в операциях сравнения "" input DateTimeRange { min: String! max: String! } |
| 16 | type PointBase | "" Входной объект для базового типа пространственной информации: точки "" input PointBaseFilter { "" Фильтр для точек в пространстве: нахождение около аргумента фильтра в заданных пределах "" near: NearFilter "" Фильтр для точек в пространстве: нахождение внутри заданного полигона "" within: WithinFilter and: [PointBaseFilter] or: [PointBaseFilter] not: PointBaseFilter } "" Входной объект: пространственный фильтр нахождения около заданной точки в указанных пределах "" input NearFilter { "" Дистанция в метрах до используемой точки в пространстве в фильтре "" distance: Float! "" Точка в пространстве, по дистанции до которой происходит фильтрация "" point: PointRef! } "" Входной объект: пространственный фильтр нахождения внутри заданного полигона "" input WithinFilter { "" Полигон в пространстве, по нахождению в котором происходит фильтрация "" polygon: PolygonRef! } "" Входной объект: точка в пространстве для использования в фильтрах. "" input PointRef { "" Долгота в градусах "" longitude: Float! "" Широта в градусах "" latitude: Float!} |
| 17 | type LineBase | "" Входной объект для базового типа пространственной информации: последовательности точек (линии) "" input LineBaseFilter { "" Фильтр для последовательности точек в пространстве: нахождение около аргумента фильтра в заданных пределах "" near: NearFilter "" Фильтр для последовательности точек в пространстве: нахождение внутри заданного полигона "" within: WithinFilter "" Фильтр для последовательности точек в пространстве: пересечение с заданным полигоном "" intersects: IntersectsFilter and: [LineBaseFilter] or: [LineBaseFilter] not: LineBaseFilter } "" Входной объект: пространственный фильтр пересечения с заданным полигоном "" input IntersectsFilter { "" Полигон в пространстве, по пересечению с которым происходит фильтрация "" polygon: PolygonRef } "" Входной объект: последовательность точек в пространстве для использования в фильтрах "" input LineRef { points: [PointRef!]! } |
| 18 | type PointTimeBase | "" Входной объект для базового типа пространственно-временной информации: точки в пространстве с привязкой к дате и времени "" input PointTimeBaseFilter { "" Фильтр для пространственной информации "" point: PointBaseFilter "" Фильтр для временной информации "" time: DateTimeBaseFilter and: [PointTimeBaseFilter] or: [PointTimeBaseFilter] not: PointTimeBaseFilter } "" Входной объект: точки в пространстве с привязкой к дате и времени для использования в фильтрах "" input PointTimeRef { point: PointRef! time: String! } |
| 19 | type PolygonBase | "" Входной объект для базового типа пространственной информации: полигона "" input PolygonBaseFilter { "" Фильтр для полигона: нахождение около аргумента фильтра в заданных пределах "" near: NearFilter "" Фильтр для полигона: нахождение внутри заданного полигона "" within: WithinFilter "" Фильтр для полигона: содержание заданных точки или полигона "" contains: ContainsFilter "" Фильтр для полигона: пересечение с заданным полигоном "" intersects: IntersectsFilter and: [PolygonBaseFilter] or: [PolygonBaseFilter] not: PolygonBaseFilter } "" Входной объект: пространственный фильтр включения заданной точки или полигона "" input ContainsFilter { "" Точка в пространстве, по включению которой в исходный полигон происходит фильтрация "" point: PointRef "" Полигон в пространстве, по включению которого в исходный полигон происходит фильтрация "" polygon: PolygonRef } "" Входной объект: полигон в пространстве для использования в фильтрах "" input PolygonRef { lines: [LineRef!]! } |
| 20 | type MultiPolygonBase | "" Входной объект для базового типа пространственной информации: мультиполигона "" input MultiPolygonBaseFilter { "" Фильтр для мультиполигона: нахождение около аргумента фильтра в заданных пределах "" near: NearFilter "" Фильтр для мультиполигона: нахождение внутри заданного полигона "" within: WithinFilter "" Фильтр для мультиполигона: содержание заданных точки или полигона "" contains: ContainsFilter "" Фильтр для мультиполигона: пересечение с заданным полигоном "" intersects: IntersectsFilter and: [MultiPolygonBaseFilter] or: [MultiPolygonBaseFilter] not: MultiPolygonBaseFilter } |
| "" Входной объект для базового типа пространственно-временной информации: трек "" input GeoTrackBaseFilter { "" Фильтр для временной информации: прохождение маршрута в указанное время "" time: DateTimeBaseFilter "" Фильтр для пространственной информации: нахождение около аргумента фильтра в заданных пределах "" near: NearFilter! "" Фильтр для пространственно-временной информации: нахождение около аргумента фильтра в заданных пределах в указанное время "" nearTime: NearTimeFilter! "" Фильтр для пространственной информации: нахождение внутри заданного полигона "" within: WithinFilter! "" Фильтр для пространственно-временной информации: нахождение внутри заданного полигона в указанное время "" withinTime: WithinTimeFilter! "" Фильтр для пространственной информации: пересечение с заданным полигоном "" intersects: IntersectsFilter! "" Фильтр для пространственно-временной информации: пересечение с заданным полигоном в указанное время "" intersectsTime: IntersectsTimeFilter! "" | ||
| 21 | type GeoTrackBase | Фильтр для пространственно-временной информации: пересечение с заданным треком в указанных промежутках времени и расстояния "" intersectsTrack: IntersectsTrackFilter! and: [GeoTrackBaseFilter] or: [GeoTrackBaseFilter] not: GeoTrackBaseFilter } "" Входной объект: пространственно-временной фильтр нахождения около заданной точки в указанных пределах в заданное время "" input NearTimeFilter { distance: Float! point: PointRef! time: DateTimeBaseFilter! } "" Входной объект: пространственно-временной фильтр нахождения внутри заданного полигона в указанное время "" input WithinTimeFilter { polygon: PolygonRef! time: DateTimeBaseFilter! } "" Входной объект: пространственно-временной фильтр пересечения с заданным полигоном в указанное время "" input IntersectsTimeFilter { polygon: PolygonRef time: DateTimeBaseFilter! } "" Входной объект: пространственно-временной фильтр пересечения с заданным треком в указанных интервалах расстояния и времени "" input IntersectsTrackFilter { geotrack: GeoTrackRef! deltaTime: DeltaTimeRef! distance: Float! } "" Входной объект: период времени в секундах "" input DeltaTimeRef { second: Int! } "" Входной объект: трек для использования в фильтрах "" input GeoTrackRef { pointsInTime: [PointTimeRef]! } |
| 22 | type BankAccountInfoBase | "" Входной объект для базового типа банковских данных "" input BankAccountInfoBaseFilter { "" Фильтр для имени банка "" bankName: StringRegExpExactFilter "" Фильтр для номера счета "" account: StringRegExpExactFilter "" Фильтр для номера корреспондентского счета "" corrAccount: StringRegExpExactFilter "" Фильтр для номера карты "" cardNumber: StringRegExpExactFilter "" Фильтр для банковского идентификационного кода "" rcbic: StringRegExpExactFilter "" Фильтр для КПП "" kpp: StringRegExpExactFilter and: [BankAccountInfoBaseFilter] or: [BankAccountInfoBaseFilter] not: BankAccountInfoBaseFilter } |
| 23 | type BankTransferInfoBase | "" Входной объект для базового типа банковских переводов "" input BankTransferInfoBaseFilter { "" Фильтр для отправителя "" from: BankAccountInfoBaseFilter "" Фильтр для получателя "" to: BankAccountInfoBaseFilter "" Фильтр для суммы перевода "" amount: StringRegExpExactFilter "" Фильтр для даты и времени перевода "" data: DateTimeBaseFilter and: [BankTransferInfoBaseFilter] or: [BankTransferInfoBaseFilter] not: BankTransferInfoBaseFilter } |
| 24 | type OrganizationInfoBase | "" Входной объект для базового типа сведений о юридических лицах и индивидуальных предпринимателях "" input OrganizationInfoBaseFilter { "" Фильтр для полного наименования организации "" nameFull: StringRegExpExactFilter "" Фильтр для сокращенного наименования организации "" nameSmall: StringRegExpExactFilter "" Фильтр для ОГРН организации "" grn: GRNBaseFilter "" Фильтр для ИНН организации "" inn: InnBaseFilter "" Фильтр для банковских данных организации "" bankInfo: BankAccountInfoBaseFilter "" Фильтр для номера телефона организации "" msisdn: MsisdnBaseFilter "" Фильтр для web-сайта организации "" webSite: URLBaseFilter "" Фильтр для электронной почты организации "" email: EmailBaseFilter "" Фильтр для даты регистрации организации "" dataRegistration: DateTimeBaseFilter "" Фильтр для неструктурированного адреса организации "" address: AddressBaseFilter "" Фильтр для представителя организации "" representative: OrganizationRepresentativeBaseFilter "" Фильтр для ОКВЭД организации "" okved: StringRegExpExactFilter "" Фильтр для ЕГРЮЛ "" egrul: StringRegExpExactFilter "" |
Фильтр для ЕГРИП "" egrip: StringRegExpExactFilter and: [OrganizationInfoBaseFilter] or: [OrganizationInfoBaseFilter] not: OrganizationInfoBaseFilter "" } Входной объект для базового типа государственного регистрационного номера ОГРН и ОГРНИП "" input GRNBaseFilter { "" Фильтр для государственного регистрационного номера - ОГРН и ОГРНИП "" grn: StringExactFilter and: [GRNBaseFilter] or: [GRNBaseFilter] not: GRNBaseFilter } | ||
| 25 | type OrganizationRepresentativeBase | "" Входной объект для базового типа сведений об учредителях (участниках) юридического лица, лицах, имеющих право без доверенности действовать от имени юридического лица "" input OrganizationRepresentativeBaseFilter { "" Фильтр для должности "" position: StringRegExpExactFilter "" Фильтр для ИНН лица "" inn: InnBaseFilter "" Фильтр для ФИО "" name: PersonBaseFilter and: [OrganizationRepresentativeBaseFilter] or: [OrganizationRepresentativeBaseFilter] not: OrganizationRepresentativeBaseFilter } |
| 26 | type IpAddressBase | "" Входной объект для базового типа IP-адреса "" input IpAddressBaseFilter { "" Фильтр для IP-адреса "" ip: StringRegExpExactFilter "" Фильтр для маски подсети "" mask: IntFilter "" Фильтра для типа IP-адреса: ipv4, ipv6 "" type: IpType and: [IpAddressBaseFilter] or: [IpAddressBaseFilter] not: IpAddressBaseFilter } |
| 27 | type NetworkPeerBase | "" Входной объект для базового типа информации об участнике сетевого соединения "" input NetworkPeerBaseFilter { "" Фильтр для IP-адреса "" ip: IpAddressBaseFilter "" Фильтр для порта "" port: IntFilter "" Фильтр для номера протокола "" protocolNumber: IntFilter and: [NetworkPeerBaseFilter] or: [NetworkPeerBaseFilter] not: NetworkPeerBaseFilter } |
| 28 | type URLBase | "" Входной объект для базового типа URL-адреса "" input URLBaseFilter { "" Фильтр для URL-адреса "" url: StringRegExpExactFilter and: [URLBaseFilter] or: [URLBaseFilter] not: URLBaseFilter } |
| 29 | type DomainNameBase | "" Входной объект для базового типа доменного имени "" input DomainNameBaseFilter { "" Фильтр для доменного имени "" domainName: StringRegExpExactFilter and: [DomainNameBaseFilter] or: [DomainNameBaseFilter] not: DomainNameBaseFilter } |
| 30 | type LoginBase | "" Входной объект для базового типа имени/идентификатора пользователя "" input LoginBaseFilter { "" Фильтр для имени/идентификатора пользователя "" login: StringRegExpExactFilter and: [LoginBaseFilter] or: [LoginBaseFilter] not: LoginBaseFilter } |
| 31 | scalar Int | "" Входной объект: используемые функции для фильтрации значений типа Int "" input IntFilter { "" Равно "" eq: Int "" В [списке] "" in: [Int] "" Меньше либо равно "" le: Int "" Меньше, чем "" lt: Int "" Больше либо равно "" ge: Int "" Больше, чем "" gt: Int "" В промежутке "" between: IntRange } "" Входной объект: промежуток типа Int для использования в фильтрах "" input IntRange { min: Int! max: Int! } |
| 32 | scalar Float | "" Входной объект: используемые функции для фильтрации значений типа Float "" input FloatFilter { "" Равно "" eq: Float "" В [списке] "" in: [Float] "" Меньше либо равно "" le: Float "" Меньше, чем "" lt: Float "" Больше либо равно "" ge: Float "" Больше, чем "" gt: Float "" В промежутке "" between: FloatRange } "" Входной объект: промежуток типа Float для использования в фильтрах "" input FloatRange { min: Float! max: Float! } |
| "" Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringExactFilter { "" Равно "" eq: String "" В [списке] "" in: [String] } "" Входной объект: промежуток типа String для использования в фильтрах "" input StringRange { min: String! max: String! } "" Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringFullTextFilter { "" Полнотекстовый поиск, соответствующий всему заданному тексту "" alloftext: String "" Полнотекстовый поиск, соответствующий любому набору из заданного текста "" anyoftext: String } "" | ||
| 33 | scalar String | Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringRegExpFilter { "" Регулярное выражение в формате POSIX Basic Regular Expression "" regexp: String } "" Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringTermFilter { "" Соответствие строкам, содержащим все указанные термы в любом порядке; без учета регистра "" allofterms: String "" Соответствие строкам, содержащим любой из указанных термов в произвольном порядке; без учета регистра "" anyofterms: String } "" Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringRegExpExactFilter { "" Регулярное выражение в формате POSIX Basic Regular Expression "" regexp: String "" Равно "" eq: String "" В [списке] "" in: [String] } "" |
| Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringRegExpFullTextFilter { "" Регулярное выражение в формате POSIX Basic Regular Expression "" regexp: String "" Полнотекстовый поиск, соответствующий всему заданному тексту "" alloftext: String "" Полнотекстовый поиск, соответствующий любому набору из заданного текста "" anyoftext: String } "" Входной объект: комбинация используемых функции для фильтрации значений типа String "" input StringTermExactFilter { "" allofterms: String "" Соответствие строкам, содержащим любой из указанных термов в произвольном порядке; без учета регистра "" anyofterms: String "" Равно "" eq: String "" В [списке] "" in: [String] } "" | ||
| Входной объект: комбинация используемых функций для фильтрации значений типа String "" input StringTermFullTextFilter { "" Соответствие строкам, содержащим все указанные термы в любом порядке; без учета регистра "" allofterms: String "" Соответствие строкам, содержащим любой из указанных термов в произвольном порядке; без учета регистра "" anyofterms: String "" Полнотекстовый поиск, соответствующий всему заданному тексту "" alloftext: String "" Полнотекстовый поиск, соответствующий любому набору из заданного текста "" anyoftext: String } |
Приложение № 7
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
1. ТС ОРМ и ПУ для передачи данных на языке GraphQL по протоколу WebSocket должны использовать подпротокол graphql-transport-ws.#❝
2. ТС ОРМ и ПУ взаимодействую по протоколу WebSocket посредством сообщений. Для кодирования сообщений применяется формат JSON.#❝
3. Все сообщения должны содержать поле "type", определяющее тип сообщения. Сообщение в зависимости от типа также может содержать дополнительные поля, в которых:#❝
4. В любой момент времени ТС ОРМ должны позволять выполнять несколько запросов ПУ с уникальными идентификаторами. При этом передача сообщений, относящихся к различным запросам, может чередоваться.#❝
5. ТС ОРМ должны закрывать соединение по протоколу WebSocket при возникновении критической ошибки (сбое в работе) и тем самым уведомлять ПУ о данной ситуации.#❝
6. ПУ должен закрывать соединение по протоколу WebSocket с кодом 1000 и причиной закрытия "Normal Closure".#❝
7. ПУ перед отправкой запросов на языке GraphQL должен открыть сессию (согласно подпункту 1 пункта 8 настоящего приложения) поверх протокола WebSocket.#❝
8. ТС ОРМ и ПУ взаимодействуют по протоколу WebSocket с использованием следующих типов сообщений:#❝
1) сообщение "ConnectionInit". Данное сообщение направляется ПУ в адрес ТС ОРМ для открытия сессии. ПУ может передавать дополнительную информацию о сессии в поле "payload". ТС ОРМ должны получить данное сообщение в течение заданного периода времени (определяется во время внедрения ТС ОРМ и согласовывается с уполномоченным государственным органом). В случае не поступления от ПУ в ТС ОРМ данного сообщения в течение заданного периода времени, ТС ОРМ должны закрыть соединение по протоколу WebSocket с кодом 4408 и причиной закрытия "Connection initialization timeout". В случае получения ТС ОРМ более одного сообщения "ConnectionInit", ТС ОРМ должны закрыть соединение по протоколу WebSocket с кодом 4429 и причиной закрытия "Too many initialization requests".#❝
2) сообщение "ConnectionAck". Данное сообщение подтверждает успешное создание сессии и направляется ТС ОРМ в адрес ПУ в ответ на сообщение "ConnectionInit". ТС ОРМ могут передавать дополнительную информацию о сессии в поле "payload". ПУ после получения данного сообщения может отправлять запросы на языке GraphQL с помощью сообщений "Subscribe" согласно подпункту 3 пункта 8 настоящего приложения.#❝
3) сообщение "Subscribe". Данное сообщение направляется ПУ в адрес ТС ОРМ и должно содержать запрос на языке GraphQL в поле "query" поля "payload". Поле "id" должно содержать уникальный идентификатор запроса, формируемый ПУ. Если запрос с таким идентификатором уже выполняется, то ТС ОРМ должны закрыть соединение по протоколу WebSocket с кодом 4409 и причиной закрытия "Subscriber for <unique-operation-id> already exists". Разрешается повторное использование идентификатора после завершения выполнения запроса на стороне ТС ОРМ. В случае поступления от ПУ данного сообщения до получения сообщения "ConnectionAck", ТС ОРМ должны закрыть соединение по протоколу WebSocket с кодом 4401 и причиной закрытия "Unauthorized".#❝
4) сообщение "Next". Данное сообщение направляется ТС ОРМ в адрес ПУ и содержит полные или частичные результаты выполнения запроса, ранее направленного ПУ в сообщении "Subscribe". Поле "id" должно содержать уникальный идентификатор запроса, ранее сформированный ПУ. Поле "payload" должно содержать результаты выполнения запроса в формате аналогичном для интерфейса "/query" согласно спецификации языка GraphQL.#❝
5) сообщение "Error". Данное сообщение направляется ТС ОРМ в адрес ПУ и содержит информацию об ошибке в ходе выполнения запроса, ранее направленного ПУ в сообщении "Subscribe". Поле "id" должно содержать уникальный идентификатор запроса, ранее сформированный ПУ. Поле "payload" должно содержать информацию об ошибке в формате согласно спецификации языка GraphQL. В случае возникновения ошибки на начальном этапе выполнения запроса (в том числе, ошибки валидации запроса) либо в ходе выполнения запроса ТС ОРМ прекращают выполнение запроса и не направляют в сторону ПУ никаких сообщений.#❝
6) сообщение "Complete". Данное сообщение может направляться в обоих направлениях. Поле "id" должно содержать уникальный идентификатор запроса, ранее сформированный ПУ. Отправка данного сообщения ТС ОРМ в адрес ПУ означает завершение выполнения запроса с соответствующим идентификатором. В случае отправки ТС ОРМ сообщения "Error" до сообщения "Complete", данное сообщение не отправляется. Отправка данного сообщения ПУ в адрес ТС ОРМ означает, что ПУ прерывает выполнение запроса с соответствующим идентификатором и с данного момента не принимает результаты его выполнения.#❝
Приложение № 8
к требованиям к вычислительной мощности, используемой провайдером хостинга, для проведения уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, в случаях, установленных федеральными законами, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций
Российской Федерации
от 1 ноября 2023 г. № 935#❝
Требования, предъявляемые к запросам мониторинга и формату их передачи по интерфейсу взаимодействия между пунктом управления и техническими средствами, обеспечивающими выполнение установленных действий при проведении оперативно-разыскных мероприятий#❝
1. ТС ОРМ должны предусматривать возможность получения ПУ следующей информации о структуре и функционировании ТС ОРМ по запросу ПУ:#❝
2. ТС ОРМ по запросу ПУ должны представлять следующую информацию в части структуры и состава ТС ОРМ, состава и состояния интерфейса взаимодействия ТС ОРМ с ПУ:#❝
1) перечень коммутационного и серверного оборудования, средств хранения данных с его идентификацией;#❝
3. ТС ОРМ по запросу ПУ должны представлять информацию в части точек подключения ТС ОРМ к ИС, интерфейсов ввода информации в ТС ОРМ, содержащую:#❝
1) перечень точек подключения к ИС провайдера хостинга и точек ввода информации в ТС ОРМ с их идентификацией;#❝
4. ТС ОРМ по запросу ПУ должны представлять следующую информацию в части состава ПО ТС ОРМ и его состояния:#❝
5. Информация о функционировании и состоянии ТС ОРМ, указанная в пунктах 1 - 4 настоящего приложения, должна быть представлена в виде временных рядов (далее - метрик).#❝
6. Метрики должны иметь следующий обязательный набор меток (пара ключ-значение), в которых:#❝
systemtype - относится ли метрика к оборудованию или ПО. Может принимать одно из значений "hardware" или "software";#❝
7. Для метрик также должны быть заданы единицы измерения и описания их назначения на русском языке.#❝
9. Для кодирования содержимого запросов мониторинга и ответов ТС ОРМ должен применяться формат JSON.#❝
11. ТС ОРМ при возникновении ошибки во время выполнения запросов мониторинга должны в ответе возвращать поле "error" с информацией об ошибке и следующие HTTP коды:#❝
12. Ответы на запросы мониторинга должны иметь следующий формат:#❝
1) поле "status" - статус выполнения запроса, может принимать одно из двух значений: "success" или "error";#❝
2) поле "data" - результат выполнения запроса, структура поля зависит от интерфейса, на которую был отправлен запрос (согласно пункту 13 настоящего приложения);#❝
13. ТС ОРМ должны реализовывать внутри интерфейса "/metric" следующие дополнительные конечные точки:#❝
1) "/api/vl/query" - предназначена для приема запросов мониторинга от ПУ в целях получения метрик для конкретного значения времени, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.#❝
2) "/api/vl/query_range" - предназначена для приема запросов мониторинга от ПУ в целях получения метрик для диапазона времени, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.#❝
3) "/api/vl/series" - предназначена для приема запросов мониторинга от ПУ в целях получения списка метрик, которые имеют заданный набор меток, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.#❝
4) "/api/vl/labels" - предназначена для приема запросов мониторинга от ПУ в целях получения списка меток, которые имеют заданный набор метрик, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP методы GET и POST.#❝
5) "/api/vl/label/<label_name>/values" - предназначена для приема запросов мониторинга от ПУ в целях получения значений заданных меток, а также передачи на ПУ результатов выполнения данных запросов. Данная интерфейс должна поддерживать HTTP метод GET.#❝
14. Поле "result" в ответах на запросы мониторинга может иметь один из следующих форматов:#❝
1) если поле "resultType" имеет значение "matrix", то поле "result" должно иметь следующий формат:#❝
2) если поле "resultType" имеет значение "vector", то поле "result" должно иметь следующий формат:#❝
Документы того же органа рядом по дате
- О внесении изменений в классификатор программно-аппаратных комплексов и Правила применения классификатора программно-аппаратных комплексов, утвержденн — Приказ Минцифры России от 08.09.2023 № 792
- Об утверждении Порядка размещения оператором единой биометрической системы на своем официальном сайте в информационно-телекоммуникационной сети "Интер — Приказ Минцифры России от 09.10.2023 № 848
- Об утверждении Регламента осуществления Министерством цифрового развития, связи и массовых коммуникаций Российской Федерации ведомственного контроля в — Приказ Минцифры России от 13.10.2023 № 873
- Об утверждении требований о защите информации при предоставлении вычислительной мощности для размещения информации в информационной системе, постоянно — Приказ Минцифры России от 01.11.2023 № 936
- О внесении изменения в Требования к порядку реализации функций аккредитованного удостоверяющего центра и исполнения его обязанностей, утвержденные при — Приказ Минцифры России от 02.11.2023 № 948
- О внесении изменения в пункт 11 Правил осуществления контроля за выполнением государственного задания на оказание государственных услуг (выполнение ра — Приказ Минцифры России от 09.11.2023 № 963
- О внесении изменения в перечень индикаторов риска нарушения обязательных требований при осуществлении федерального государственного контроля (надзора) — Приказ Минцифры России от 13.11.2023 № 979
- О внесении изменений в приказ Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 26.01.2022 № 45 "Об утверждении О — Приказ Минцифры России от 27.11.2023 № 1019